290 likes | 982 Views
A Spiral Model of Software Development and Enhancement. Barry Boehm Computer, May 1988 text pp34-45. Software Process Model.
E N D
A Spiral Model of Software Development and Enhancement Barry Boehm Computer, May 1988 text pp34-45
Software Process Model • “The primary functions of a software process model are to determine the order of the stages involved in software development and evolution and to establish the transition criteria for progressing from one stage to the next.”
Who discovered the waterfall model? • A. Royce in 1970 • B. Boehm in 1988 • C. Fred Waterfall in 1950 • D. It always existed, someone just named it in 1966 • E. Every other discipline knew about it long ago
Advice • Use a life-cycle development model to manage software development • The stages become milestones to mark progress
Question • How do you decide whether a stage is complete? • A. The manager says it is complete • B. The team is ready to go on to the next stage • C. The team votes on whether it is complete
TRW’s Ada Process Model for Incremental Development of Large Software Systems Walker Royce 12th ICSE 1990 text pp46-55
Interesting Approach • Incremental development • Used Ada as spec language as well as implementation • Using stubs and drivers to execute partially implemented systems
Software Process “Software Processes are software, too” Leon Osterweil (1987)
Definition • A process model is a description of the significant aspects of the tasks that are accomplished during the development of software, including the artifacts produced, the agents involved in the activities, and the relationships between these entities.
Rules for PM diagrams • Every process must use one or more artifacts and must produce one or more artifacts. • There must be an artifact between two consecutive processes.
Testing Fragment • The test designer builds test cases using the source code and the documents. The output is a set of tests • The test team does testing using the tests from the test designer and the source code producing a test report
Example - testing • shows who is responsible for what tasks • shows what information is necessary for a task • shows what is produced by a task • shows sequences and dependencies of tasks
PM Notations • Many possible notations • functional diagrams • state diagrams • petri models • textual descriptions • “programming languages”
PM - petri net doc designer source build t c test team tests testing test report
Entities in Process Models • Activities/Tasks • Information • Artifacts (Products) • Knowledge • Agents • People, Positions, Roles • Constraints
Control Decisions • Some PM show control in terms of decisions
L3aS20 Group Task • Create a process model for a cooking-dinner task. • Work in groups of 2-4 only. • Turn in at beginning of 2nd hour.