Download presentation
Presentation is loading. Please wait.
Published byAmara Faro Modified over 9 years ago
1
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015
2
Meaning of Process When providing a service, creating a product, whether it be developing software, writing a report, or taking a business trip, you usually follow a sequence of steps. The tasks are performed in the same order each time (e.g., you don’t bake the cake until you mix together the ingredients). This set of ordered tasks is called a process.
3
Typical Process Characteristics Major process activities Resources, subject to a set of constraints (such as a schedule) Intermediate, and final results May be composed of subprocesses Process activities have entry and exit criteria Activities are organized in a sequence Every process has a set of guiding principles that explain the goals of each activity
4
Life Cycle When the process involves the building of some product, we sometimes refer to the process as a life cycle The software development process is sometimes called the software life cycle because it describes the life of a software product from its conception to its implementation, delivery, use, and maintenance
5
Software Development Stages Requirements analysis and definition System design Program design Writing the programs (program implementation) Unit testing Integration testing System testing System delivery Maintenance
6
Software Process Models Process models for software engineering: ◦ Some are prescriptions for the way software development should progress ◦ Some are descriptions of the way software development is done in actuality In theory, the two models should be the same…
7
Why Model a Process? When a group writes down a description of its development process, it forms a common understanding of the activities, resources, and constraints involved in software development Helps the team find inconsistencies, redundancies, and omissions in the process The model should reflect developmental goals, such as building high-quality software, finding faults early in development, and meeting required budget and schedule constraints Every process is tailored for a special situation in which it will be used. Building a process model helps the team understand where the tailoring is to occur
8
The waterfall model
9
Described by Royce (1970) Basis for software development deliverables in U.S. Department of Defense contracts for many years Strength of model is simplicity and the explicit stages of development Problems: ◦ Does not reflect how code is really developed (software is usually written through multiple iterations) ◦ Software is more of a creation process, not a manufacturing process (more back-and-forth activities occur)
10
The software development process in reality
11
Improving the waterfall model Prototype: 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 Validation: ensures that the system has implemented all of the requirements, so that each system function can be traced back to a particular requirement in the specification Verification: ensures that each function works correctly
12
Waterfall model with prototyping
13
The V model Unit and integration testing ensures all aspects of program design have been implemented correctly in the code System testing verifies the system design Acceptance testing is done by the customer
14
The prototyping model Overall goals: Reducing the risk and uncertainty in development
15
The operational specification model Allows developers and customers to examine the requirements and their implications early in the process, where they can discuss and resolve some of the uncertainty
16
The transformational model Tries to reduce the opportunity for error by eliminating several major development steps Using automated support, a series of transformations (changing the data representation, selecting algorithms, optimizing, compiling, etc.) are applied to change a specification into a deliverable system
17
The phased-development model Cycle time: the time from when the requirements documents were written to when the system was delivered One way to reduce cycle time is to deliver the system in pieces
18
The incremental and iterative models Incremental – system begins with one small, functional subsystem. New functionality is added with each release Iterative – full system delivered initially, but the functionality of each subsystem changes with new releases
19
The spiral model Developed by Boehm (1988) Combine development activities with risk management to minimize and control risk
20
Agile methods See homework…..
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.