The second lecture presented by David Grant for Systems Analysis and design was focused on systems development models, primarily the Systems Development Life Cycle [SDLC]. We did not get through the whole lecture which was not surprising as it was almost 70 power point slides.
Quite interesting that we should cover this topic a week after the company I work with hit the switch on a new system upgrade for 60,000 web and email hosting clients (a chain of revealed bungles ensued with disastrous results). In the wake of confounded clients and postal resellers I can’t help but think it would have been nice if the project manager had checked out this lecture.
We started off with the SDLC as it is the foundation of development models from which most others are founded on:
- P – Planning -> Define business problem and scope, produce schedule, confirm feasability, POSTEL (investigate: political, operational, schedule, technical, economic and legal as influencing factors for planning.), Resource allocation (staff and funding). Launch date.
- A – Analysis -> Gather more detailed information, Define and prioritize system requirements (get client to sign these!), Build prototypes(using CASE tools), create and evaluate alternatives, Review with management.
- D – Design -> network, application architecture, Interfaces, database, prototype, system controls.
- I – Implement -> Construct software components (write code), test program, document system, train users, migrate legacy data, install system
- S – Support -> Maintain and enhance the system, support users.
Next came some scheduling models comprising of Waterfall, Overlapping and Iteration of which I perceive Iterative to be the most applicable to all but the simplest business scenarios. The business environment is much too fluid to imagine a single launch phase.
We then investigated some approaches to system development:
- Structured – Procedural/Process centric
- Information Engineering -Data centric
- Object Oriented – Concept based (I believe this approach is now the most popular with the rise of JAVA). As I have done most of my own programming in using the OO paradigm, the most intuitive for me.
Which brings me to the pearl of the week:
- Information Engineering – A Data Centric approach to system development recognizing that the types of data created by a business is one of its most stable aspects. After hearing about this in the lecture I checked this methodology out on Wikipedia (see here).
I was interested to read that there are several variants and that the creators of this methodology have gone on to create other methodologies including an Object Oriented type. With such a huge number of methodologies and variants on each of them I understand David’s statement at the beginning of the lecture (which was something like: In practice Systems Analysts don’t actually apply these theories directly, it just helps to be aware of them). As per usual conceptual understanding/comprehension in conjunction with experience is superior to rote learning 150 models and methodologies.
Heading straight to the tutorial again after the lecture was easier this week. This week group presentations were due. We did not commit a great deal of time to preparation for this and I am glad I did not spend any more than I did. Primarily because (although interesting) the presentations were not really focused on the course scope, secondly, it was not an assessable piece of work and thirdly because we did just as well putting together our ideas over email and adjusting on the day. I agree with Linus Torvalds in his strategy of avoiding meetings and phone calls instead favoring email threads. With email threads everyone gets a turn to speak, everyone has to think before they submit their opinion and repetition is reduced. Email threads > Group meetings.
The whole tut was taken up by group presentations with intermittent additions by David, it was really enjoyable but again, not sure how related to the course it was. I look forward to doing some more practical work in the tuts as this will re-enforce the theoretical topics covered in the lectures.