In this Module, we look at • what we mean by a “process” • software development products, processes & resources • several models of the software development process • tools & techniques for process modeling Back Next
- Process is a series of steps involving activities constraints and resources that produce an intended output of some kind.- in building a software product, process is refer to a life cycle- software development process is sometimescalled- software life cycle than a procedure a process is more- a process may require design to occur before coding, many different design may be used
- Process guides our actions by allowing use examine, control and improve that comprise the process.Characteristics of a Process- The process prescribes all of the major process activities.- The process uses resources, subject to a set of constraints (such schedule) and produces intermediate and final product.- The process may be composed that are linked in some way. The process may be defined as hierarchy of process, organized so that each sub- process has its own process models
- Each process activity has entry and exit criteria, so that when the activity begins and ends.- The activities are organized in sequence, so that it is clear when one activity is performed relative to the other activities.- Every process has a guiding principles that explain the goals of each activity.- Constraints or controls may apply to an activity, resource or product.
Reasons for Modeling Process - It forms common understanding of the activities, resources and constraints involved in software development. - It helps the development team find inconsistencies, redundancies and omissions inthe- process and in its constituent parts. such as It reflects the goals of development building high-quality software, finding faults in early development and meeting required budget and schedule constraints.
- It helps the development team understand where tailoring is to occur for the special situation.
- The waterfall model is a sequential software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of software developmet.- Winston W. Royce (1929–1995), present this model cited in his article published in 1970.- It is very useful in helping the developers lay out what they need to do.- The biggest problem with the waterfall model is does not reflect the way the code is really developed.
In Royces original waterfall model, the followingphases are followed in order:1.Requirements specification2.Design3.Construction (AKA implementation or coding)4.Integration5.Testing and debugging (AKA validation)6.Installation7.Maintenance
Requirement Analysis System Design Program Design Coding Unit & Integration Testing System Testing Acceptance Testing Operation &The Waterfall Model Maintenance
The software development process in reality.
- The sashimi model (so called because it features overlapping phases, like the overlapping fish of Japanese sashimi) was originated by Peter DeGrace.- also referred as the waterfall model with overlapping phases or with feedback
Instructor’s idea about the Sashimi Model Requirement Analysis ystem S DesignProgram Design Coding Unit & Integration Testing ystem S Testing Acceptance Testing Operation & MaintenanceThe Waterfall Model with overlapping phases / The WaterfallModel with feedback
- Prototyping is a partially developed product that enables customers and developers to examine some aspect of the proposed system and decide if it is suitable or appropriate for the finished product.- Design prototyping helps developers assess alternative design strategies and decide which is the best for a particular project.
Validation Requirement Analysis System Design Verify Program Design Coding Unit & Integration Testing Prototyping System Testing Acceptance Testing Operation &The Waterfall Model Maintenance
- The V-Model (or VEE model) is a systems development model designed to simplify the understanding of the complexity associated with developing systems- a variation of the waterfall model that demonstrate how the activities are related to analysis and design- the focus of the V-Model is on activity and correctness
- It requires investigation to ensure that the developer, user and customer have a common understanding both of what is needed and what is proposed.- it reduce risk and uncertainty in development- The process of prototyping involves the following steps: 1. Identify basic requirements 2. Develop initial prototype 3. Review 4. Revise and enhancing prototype
The Prototyping Model.
- The system requirments are evaluated orexecuted in a way that demonstrates the behavior of the- system. requirements are specified, it can be Once the enacted using the software package, so that their implication can be assess before design begins.
The Operational Specification Model
- It tries to reduce the opportunity for error by eliminating several major development steps.- It uses automated support- Sample transformation can include: (1) changing the data representation; (2) selecting algorithms; (3) optimizing; (4) Compiling.
The Transformational Model
- Cycle time is the time the documents are written and the time for the system was delivered.- To reduce the cycle time is to use development phase , where two systems functioning in parallel.- The Operational or Production System being used by the customer or user- The Development System is the next version that is being prepared to replace the current production system.
The Phased Development Model
- The system as specified in the requirements documents are partitioned into subsystems by functionality.- The releases are defined by beginning with one small, functional subsystem and then adding with each new releases.
- It delivers the full system at the very beginning and it changes the functionality of each subsystem with each new releases.
- The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts - also known as the spiral life cycle model - it is a systems development method (SDM) usedin- Information technology (IT) Prototyping Model a combination of features of and Waterfall Model defined by Barry Boehm (1988)- The spiral model is intended for large, expensive and complicated projects
The Spiral Model.
- It depicts the process, showing the inputs are transformed to outputs.- See… A Toolset for Supporting Static andDynamic Model Checking
- It can enact the process, so that the user can see how intermediate and final products are transformed over time.- See… A Toolset for Supporting Static andDynamic Model Checking
- Model Driven Development- User Experience- Top-Down to Bottom Design- Chaos Model- Evolutionary Prototyping- ICONIX Process- Unified Process- Extreme Programming (XP)