![]() ![]() In principle, the waterfall model should only be applied when requirements are well understood and unlikely to change radically during development as this model has a relatively rigid structure which makes it relatively hard to accommodate change when the process is underway. So, documents produced in each phase may then have to be modified to reflect the changes made. The software process, therefore, is not a simple linear but involves feedback from one phase to another. For example, during design, problems with requirements can be identified, and during coding, some of the design problems can be found, etc. In practice, however, these phases overlap and feed information to each other. In principle, the result of each phase is one or more documents that should be approved and the next phase shouldn’t be started until the previous phase has completely been finished. The Waterfall Model - From Software Engineering, 9th edition, Chapter 2, by Ian Sommerville The Nature of Waterfall Phases The phases of the waterfall model are: Requirements, Design, Implementation, Testing, and Maintenance. While the agile process, planning is incremental and it’s easier to change the process to reflect requirement changes. Plan-driven process is a process where all the activities are planned first, and the progress is measured against the plan. In the waterfall model, you must plan and schedule all of the activities before starting working on them (plan-driven process). ![]() The waterfall model is a sequential approach, where each fundamental activity of a process is represented as a separate phase, arranged in linear order. Some methodologies are sometimes known as software development life cycle (SDLC) methodologies, though this term could also be used more generally to refer to any methodology. They can be adapted and extended to create more specific processes. These generic models are abstractions of the process that can be used to explain different approaches to the software development. We’re going to take a quick glance at very general process models. Each model represents a process from a specific perspective. Software Process ModelsĪ software process model is a simplified representation of a software process. There’s no ideal process and most organizations have developed their own software process.įor example, an organization that works on critical systems has a very structured process, while with business systems, with rapidly changing requirements, a less formal, flexible process is likely to be more effective. The software process is complex, it relies on making decisions. For example, the pre-condition of the architectural design is the requirements that have been approved by the customer, while the post condition is the diagrams describing the architectural have been reviewed. Pre and post conditions: The conditions that must be true before and after an activity.For example, the project manager, programmer, etc. Roles: The responsibilities of the people involved in the process.For example, the outcome of architectural design may be a model for the software architecture. Products: The outcomes of the activity.However, a process also includes the process description, which includes: ![]() When we talk about a process, we usually talk about the activities in it. There are also supporting activities such as configuration and change management, quality assurance, project management, user experience.Īlong with other activities aim to improve the above activities by introducing new techniques, tools, following the best practice, process standardization (so the diversity of software processes is reduced), etc. In practice, they include sub-activities such as requirements validation, architectural design, unit testing, …etc. Software evolution (software maintenance): The software is being modified to meet customer and market requirements changes.Software verification and validation: The software must conform to its specification and meet the customer's needs.S oftware design and implementation: The software is to be designed and programmed.Software specification (or requirements engineering): Define the main functionalities of the software and the constraints around them. ![]() These activities may involve the development of the software from the scratch, or, modifying an existing system.Īny software process must include the following four activities: This is a series of articles inspired by Software Engineering, 9th edition Software ProcessĪ software process (also known as software methodology) is a set of related activities that leads to the production of the software. Software process models -Source Wikipedia ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |