The implementation of web based system for the improvment of good governance in the development of rwandan districts.
par Herménégilde HUNDWITIRO
National University of Rwanda - Bachelor Degree 2009
This chapter puts in relief the different approaches that were used to optimally get the best solution to the users' needs .This part describes in details the Software Engineering methodology used and finally the tools used to implement the chosen approaches.
3.2.1. Software life cycle
A software life cycle model depicts the significant phases or activities of a software project from conception until the product is retired.
(Retrieved April 18.2009.from;http// softpanorama.org/SE/tware_life_cycle_models.shtml,).
It specifies the relationships between project phases, including transition criteria, feedback mechanisms, milestones, baselines, reviews, and deliverables.
Typically, a life cycle model addresses the phases of a software project: requirements phase, design phase, implementation, integration, testing, operations and maintenance. Much of the motivation behind utilizing a life cycle model is to provide structure to avoid the problems of the "undisciplined hacker" or corporate IT bureaucrat (which is probably ten times dangerous then undisciplined hacker). As always, it is a matter of picking the right tool for the job, rather than picking up your hammer and treating everything as a nail.
Software life cycle models describe the interrelationships between software development phases.
Figure 3.1: The classical sequential software life-cycle model
System and Component Design
Operation and Maintenance
Source: Own drawing
3.2.2. The waterfall model 220.127.116.11 General Description
The waterfall model was developed in the 1970 by Royce. The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design (validation), Construction, Testing and maintenance.
(Retrieved April18.2009.from; http://en.wikipedia.org/wiki/Waterfall_model,).
It should be readily apparent that the waterfall development model has its origins in the manufacturing and construction industries; highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development. Ironically, the use of the waterfall model for software development essentially ignores the 'soft' in 'software'.
It provides for varidation of the phase outputs in the software life cycle. This approach modifies the strictly sequential approach prescribed by classical life-cycle model and advances an incremental development strategy. Incorporating a stepwise development strategy for the system specifications and the system architecture as well as phase - wise validation helps to better manage the effects of poor decisions and to make the software development process more controllable.
Figure 3.2. The waterfall model Source: (Retrieved April.18 .2009
18.104.22.168. Limitation of Waterfall model (RetrievedJune11.2009.from; www.site.uottawa.ca/school/research/lloseng/supportMaterial/slide s-edition1/htmlSlides/Chapter11/tsld009.htm).
The model implies that you should attempt to complete a given stage before moving on to the next stage
? Does not account for the fact that requirements constantly change.
22.214.171.124. The strength of Waterfall model
The waterfall model provides the following strengths:
+ Enabling tracking of project progress more accurately and uncovering possible slippages early.
+ Focusing the organization that develops the software system to be more structured and manageable.
+ Well defined user
+ Development and design standards
+ Tolerates changes in MIS
126.96.36.199. The model consist of six distinct stages, namely
1) In the requirements analysis phase
2) In the specification phase the system specification is produced from the detailed definitions of (a) and (b) above. This document should clearly define the product function.
Note that in some text, the requirements analysis and specifications phases are combined and represented as a single phase.
3) In the system and software design phase, the system specifications are translated into a software representation.
The software engineer at this stage is concerned with: