Tuesday, June 22, 2010

System Development Models

On the previous assignments, we have already known on the different characteristics of a good system analyst especially in any design modeling process. In this assignment, we are task to identify and discuss at least three systems development models together with its phases. Since it was already discussed on our system engineering and system analysis and design 1 subject, systems development models for me serves as guiding tools in developing a particular systems. These will be very useful especially in designing process. Through these models, clients were no longer find difficulties in understanding of what is the flow of the system. Similarly, systems development models are very significant especially on the part of system analysts because these will be there tools or instrument on showing and explaining the flow of the system to their clients.
Upon identifying systems development models, I used to choose waterfall, spiral and prototyping model.

Waterfall Model
Waterfall model was the most popular systems development model. As I was remember on my previous software engineering subject, waterfall model done with a sequential manner. It was composed of different phases. As we can see on the picture below, there is an arrow that serves as the flow meaning, it will not go to the next stage or phase unless the first phase was not finish. Actually it was based on the article published in 1970 by Winston W. Royce. Here are the different phases of waterfall model:
1. Requirements specification
Requirements specification is a detailed statement of the accurate results or the customer want to get from a project. Most probable requirements needed to develop in the system will be done in this phase. This phase also can be done on a long study where the developers will be conducting an investigation mainly on the different necessities needed on the system. Moreover, the said studies will also cover the system cost, project schedule and etc. Bluntly speaking, the important purpose of this phase is to find the need and to define the problem that needs to be solved. Finally, this phase will serve as a guideline for the next phase.
2. Design
System design is also known as the overall system architecture. It also serves as a guideline in identifying the hardware and system requirements. Based on our experiences especially in making a system, mostly we should think first what we are going to do and what it should look like before the coding process. Finally, the system design will serve as a guideline for the next phase.

3. Construction (AKA implementation or coding)
Coding can be done after the system designing. This phase mainly covers all the writing, testing, debugging/troubleshooting process and maintaining the source code of computer programs. Finally, this phase will serve as a guideline for the next phase.

4. Integration
After the coding process, integration phase will be the next. This phase mainly focus on the process of linking together the different computing systems and software applications on its physical and its functionality.

5. Testing and debugging (AKA Validation)
Of course, after the coding and integration process, you will now proceed to the testing and debugging of the system. This time, different testing techniques will be done in order to determine the bugs and errors that were committed. Actually this will begin after the coding process.

6. Installation
Once it was already tested, the deployment will be the next phase to be done. This will be the act of putting the program onto a computer system so that it can be executed.

7. Maintenance
We all know that once the system is deployed to the client’s area, definitely this will undergo different changes. It is very necessary to have maintenance in order to address different changes that may happen. Maintenance here are said to be very important because not all the problems come in picture directly but they arise time to time and needs to be solved.

Spiral Model

Spiral Model is said to be the new approach towards software development. As we can observed on the waterfall model it was just only followed on a sequential manner however it does not have equal division on its respective phases. Based on the internet, in order to address on this issue there was a new model called "The Spiral Model" or "Boehm’s Model". Actually, if we take a look on its picture there is an equal division of phases and it contributes risk reduction and also it supports iteration and reflects real-world practices. These are the four phases of spiral model
1. Planning

Planning is very important in every project implementation. In this phase, you will be able to document and fix first the different objectives and specifications in order to prepare and know of what are the necessary techniques and tactics that you are going to do during the project implementation.

2. Risk Analysis
This phase is also important in order to resolve all the possible risks in developing a project. In this phase also all available alternatives that can help in developing a project to become more effective are being studied and those strategies are decided to use.

3. Engineering
In this phase, the actual development of the project is carried out. The output of this phase is passed through all the phases iteratively in order to obtain improvements in the same.

4. Evaluation
As what on the internet said, this phase is similar with the testing stage. After the product development, the developed system will be passed on to the clients in order to get their feedbacks and suggestions. These feedbacks and suggestions are very important in order to identify problems and errors and also to find accurate solutions in resolving potential problems. As what on the internet said, this phase is similar with the testing stage.

Prototyping Model

Last but not the least, prototyping model mainly focus on how to develop a prototype of the system. The client then evaluates the working prototype, and suggests improvements and corrections, which all go into developing the real application. The prototyping model is used when the client is unsure about the exact specification but has a genuine need. Then the software engineers can develop a rough prototype to gain an approval of the customer. If the prototype developed is a working model, the developers may use code fragments of the prototype when developing the final application. When using the Prototyping Model, the developer builds a simplified version of the proposed system and presents it to the customer for consideration as part of the development process. The customer in turn provides feedback to the developer, who goes back to refine the system requirements to incorporate the additional information. Often, the prototype code is thrown away and entirely new programs are developed once requirements are identified. It provides a better system to users, as users have natural tendency to change their mind in specifying requirements and this method of developing systems supports this user tendency.
Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed.


Reference:
http://www.buzzle.com/editorials/1-5-2005-63768.asp
http://www.mindtools.com/pages/article/newTMC_07.htm
http://en.wikipedia.org/wiki/Waterfall_model
http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci755441,00.html

No comments: