* 1)a)What is Software Development Life Cycle? (SDLC) (2 mks) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step process from investigation of initial requirements through analysis, design, implementation and maintenance.
b) Draw a diagram for pure waterfall life cycle. (5 mks) [pic]
c)Explain the different phases involved in waterfall life cycle. (8 mks)
Phase I – Modeling Phase
In this phase we view the software product as part of a larger system or organization where the product is required. This is basically a system view where all the system elements are created.
Phase II – Software Requirements Analysis
Here we have a phase where the requirements are gathered. The information domain for the software is understood. The function, behaviour, performance and interfacing of the software are determined. The requirements of the software and the customer are decided upon.
Phase III – Design
This determines the data structures, the software architecture, the interface representations and the procedural (algorithmic) detail that goes into the software.
Phase IV – Code Generation
Here the actual programming is done to obtain the machine code; it is an implementation of the design.
Phase V – Testing
The testing is a process that goes hand in hand with the production of the machine code. There are a number of testing strategies. First unit testing is done and then integration testing. Alpha testing is to see if the software is as per the analysis model whereas beta testing is to see if the software is what the customer wanted.
Phase VI – Installation
The software is released to the customer.
Phase VII - Maintenance
This is the largest phase of the software life cycle. Maintenance can be of different types: to modify the software as the requirements of the customer evolve, to remove the residual bugs in the software etc.
2)What is feasibility study? What are the contents we should contain in the feasibility report? (5 mks) A feasibility study is an initial look at an existing information processing system to decide how it might be computerized or improved.
The contents that a feasibility report are:
• A statement of purpose of the system.
• A definition of system scope.
• A list of deficiencies of the current system.
• A statement of user requirements.
• The cost and benefits of development.
• A conclusion and recommendations.
3)What are the purposes of Data Flow diagrams, Entity-Relationship diagrams? Give an example diagram of each. (10 mks)
Data Flow Diagrams
Data Flow diagrams are a means of representing a system at any level of detail with a graphic network of symbols showing data flows, data stores, data processes, and data sources/destinations.
The purpose of data flow diagrams is to provide a semantic bridge between users and systems developers. The diagrams are: • Graphical - Eliminating thousands of words;
• Logical representations - Modeling WHAT a system does, rather than physical models showing HOW it does it • Hierarchical - showing systems at any level of detail; and • Jargonless - allowing user understanding and reviewing.
Entity Relationship Diagram
E-R Diagram is a graphical representation of the data layout of a system at a high level of abstraction. It defines data elements and their inter-relationships in the system
4)What is data modeling? Give 5 examples for data modeling. (5 mks) Data modeling is the act of exploring data-oriented structures. Like other modeling artifacts data models can be used for a variety of purposes, from high-level conceptual models to physical data models. From the point of...