logging in or signing up class2 Software Process Gabir Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 2730 Category: Entertainment License: All Rights Reserved Like it (3) Dislike it (0) Added: August 14, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... By: Amalka (14 month(s) ago) Thanks lot its help for may exam Saving..... Post Reply Close Saving..... Edit Comment Close Premium member Presentation Transcript Software Process: Software Process Chapters 1 and 3 (Sommerville) What is a Software?: What is a Software? Documents Database Configuration scripts or data Example: Video game: models, programs, database of objects, behaviors… Software Types: Software Types Generic Product Stand-alone systems Generic Tools Customized products What is software engineering?: What is software engineering? Apply methods: coding, design Apply tools: jsp, java, UML To build a software Sometimes use ad hoc methods, not completely formalized What is Software Process?: What is Software Process? Activities: Specification (what) Design (how) Coding/development Testing/validation Maintenance (change!) Specification (What): Specification (What) Feasibility study Can we do it using the tools, time and budget constraints? Requirements Analysis Figuring out specifics of what we need to do. (You did part of that last class) Requirements Spec Document everything you found out. Why? Requirements Validation Show them to customers, do prototypes Design (how): Design (how) Architecture Subsystems, and their relationships Abstract spec. Subsystem services and constraints Interface design Methods or messages between subsystems This is important. Why? We are going to do this Thursday Design (how): Design (how) Component Design Services and interface Data Structure or class design Algorithm design Structured Models: Structured Models Data-flow model Entity Relation model (should have seen that in Dbase) Object oriented methods (inheritance, class/object interaction and relationship) State Transition models Programming: Programming Modular programming Even object oriented programming can become messy Don’t be afraid of redesigning the code or starting from scratch Testing: Testing Unit Testing Module/object testing Subsystem testing System testing Acceptance testing } Done by programmer } Done by testing group Software Myths: Software Myths ' If we are behind the schedule, just add more programmers' 'Nine Women cannot make a baby in nine months' Software Myths: Software Myths ' Once we write the program and get it to work, our job is done' '60%-80% of all effort expended on software will be expended after it is delivered for the first time' What is Software Process?: What is Software Process? Activities: Specification (what) Design (how) Coding/development Testing/validation Maintenance (change!) In what order? Challenges: Challenges Wiked problems Customers don’t know what they want Hard to change code, esp. with evolution of programming languages Methods the people developed: Methods the people developed The waterfall model Separate and distinct phases of specification and development Evolutionary development Specification and development are interleaved Formal systems development A mathematical system model is formally transformed to an implementation Reuse-based development The system is assembled from existing components Waterfall Model (1970): Waterfall Model (1970) Advantages and Disadvantages: Advantages and Disadvantages Good when requirements are understood and problem has been attached before Cannot adapt to rapidly changing requirements or ill-defined problems Building a software is like driving: Building a software is like driving ' Driving is not about getting the car going in the right direction. Driving is about constantly paying attention, making little correction this way, a little correction that way' – from XP Evolutionary Development: Evolutionary Development Exploratory development Objective is to work with customers and to evolve a final system from an initial outline specification Throw-away prototyping Objective is to understand the system requirements. Should start with poorly understood requirements Evolutionary Development: Evolutionary Development Problems Lack of process visibility Systems are often poorly structured Special skills (e.g. in languages for rapid prototyping) may be required Applicability For small or medium-size interactive systems For parts of large systems (e.g. the user interface) For short-lifetime systems Reuse Oriented Development: Reuse Oriented Development Requirements Spec. Research Existing Components Rework Requirements Design Component Integration and testing Process Iteration: Process Iteration System requirements ALWAYS evolve in the course of a project so process iteration where earlier stages are reworked is always part of the process for large systems Two (related) approaches Incremental development Spiral development Incremental Method: Incremental Method Spiral Model: Spiral Model Process is represented as a spiral rather than as a sequence of activities with backtracking Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required Risks are explicitly assessed and resolved throughout the process Spiral Method: Spiral Method Spiral Model: Spiral Model Objective setting Specific objectives for the phase are identified Risk assessment and reduction Risks are assessed and activities put in place to reduce the key risks Development and validation A development model for the system is chosen which can be any of the generic models Planning The project is reviewed and the next phase of the spiral is planned Settlers of Catan : Settlers of Catan Homework for next class Think of how you can develop it What is the architecture What are the major components What is the interface and relationships between components Bring that to class, we will Discuss architecture andamp; components Assign teams For each team a component will be assigned You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
class2 Software Process Gabir Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 2730 Category: Entertainment License: All Rights Reserved Like it (3) Dislike it (0) Added: August 14, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... By: Amalka (14 month(s) ago) Thanks lot its help for may exam Saving..... Post Reply Close Saving..... Edit Comment Close Premium member Presentation Transcript Software Process: Software Process Chapters 1 and 3 (Sommerville) What is a Software?: What is a Software? Documents Database Configuration scripts or data Example: Video game: models, programs, database of objects, behaviors… Software Types: Software Types Generic Product Stand-alone systems Generic Tools Customized products What is software engineering?: What is software engineering? Apply methods: coding, design Apply tools: jsp, java, UML To build a software Sometimes use ad hoc methods, not completely formalized What is Software Process?: What is Software Process? Activities: Specification (what) Design (how) Coding/development Testing/validation Maintenance (change!) Specification (What): Specification (What) Feasibility study Can we do it using the tools, time and budget constraints? Requirements Analysis Figuring out specifics of what we need to do. (You did part of that last class) Requirements Spec Document everything you found out. Why? Requirements Validation Show them to customers, do prototypes Design (how): Design (how) Architecture Subsystems, and their relationships Abstract spec. Subsystem services and constraints Interface design Methods or messages between subsystems This is important. Why? We are going to do this Thursday Design (how): Design (how) Component Design Services and interface Data Structure or class design Algorithm design Structured Models: Structured Models Data-flow model Entity Relation model (should have seen that in Dbase) Object oriented methods (inheritance, class/object interaction and relationship) State Transition models Programming: Programming Modular programming Even object oriented programming can become messy Don’t be afraid of redesigning the code or starting from scratch Testing: Testing Unit Testing Module/object testing Subsystem testing System testing Acceptance testing } Done by programmer } Done by testing group Software Myths: Software Myths ' If we are behind the schedule, just add more programmers' 'Nine Women cannot make a baby in nine months' Software Myths: Software Myths ' Once we write the program and get it to work, our job is done' '60%-80% of all effort expended on software will be expended after it is delivered for the first time' What is Software Process?: What is Software Process? Activities: Specification (what) Design (how) Coding/development Testing/validation Maintenance (change!) In what order? Challenges: Challenges Wiked problems Customers don’t know what they want Hard to change code, esp. with evolution of programming languages Methods the people developed: Methods the people developed The waterfall model Separate and distinct phases of specification and development Evolutionary development Specification and development are interleaved Formal systems development A mathematical system model is formally transformed to an implementation Reuse-based development The system is assembled from existing components Waterfall Model (1970): Waterfall Model (1970) Advantages and Disadvantages: Advantages and Disadvantages Good when requirements are understood and problem has been attached before Cannot adapt to rapidly changing requirements or ill-defined problems Building a software is like driving: Building a software is like driving ' Driving is not about getting the car going in the right direction. Driving is about constantly paying attention, making little correction this way, a little correction that way' – from XP Evolutionary Development: Evolutionary Development Exploratory development Objective is to work with customers and to evolve a final system from an initial outline specification Throw-away prototyping Objective is to understand the system requirements. Should start with poorly understood requirements Evolutionary Development: Evolutionary Development Problems Lack of process visibility Systems are often poorly structured Special skills (e.g. in languages for rapid prototyping) may be required Applicability For small or medium-size interactive systems For parts of large systems (e.g. the user interface) For short-lifetime systems Reuse Oriented Development: Reuse Oriented Development Requirements Spec. Research Existing Components Rework Requirements Design Component Integration and testing Process Iteration: Process Iteration System requirements ALWAYS evolve in the course of a project so process iteration where earlier stages are reworked is always part of the process for large systems Two (related) approaches Incremental development Spiral development Incremental Method: Incremental Method Spiral Model: Spiral Model Process is represented as a spiral rather than as a sequence of activities with backtracking Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required Risks are explicitly assessed and resolved throughout the process Spiral Method: Spiral Method Spiral Model: Spiral Model Objective setting Specific objectives for the phase are identified Risk assessment and reduction Risks are assessed and activities put in place to reduce the key risks Development and validation A development model for the system is chosen which can be any of the generic models Planning The project is reviewed and the next phase of the spiral is planned Settlers of Catan : Settlers of Catan Homework for next class Think of how you can develop it What is the architecture What are the major components What is the interface and relationships between components Bring that to class, we will Discuss architecture andamp; components Assign teams For each team a component will be assigned