1 / 21

Software Process Lecture-3-

Software Process Lecture-3-. Prepared by: Ahmed Sabeeh Yousif Master in Computer Engineering &Microelectronics System Northern Technical University College of Technical Administrative/ Mousl Department of Electronic Management Techniques Fourth year. This week… We shall.

ethelv
Download Presentation

Software Process Lecture-3-

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software ProcessLecture-3- Prepared by: Ahmed SabeehYousif Master in Computer Engineering &Microelectronics System Northern Technical University College of Technical Administrative/Mousl Department of Electronic Management Techniques Fourth year

  2. This week… We shall • Discuss Product and Process concepts • Look at various software Process models • SDLC - the reality.

  3. Software Engineering Products and Processes The software customer wants quality software products at reasonable prices The software producer wants a well managed software production process that consistently produces quality software in a cost-effective manner • The Software Process is a description of the process which guides the software engineers as they work Software Engineering Ahmed sabeehyousif

  4. The Software Product • Composed of programs, data and documents • Delivers hardware computing potential • Delivers information Software Product Characteristics • developed or engineered, not manufactured • doesn’t wear out • most is custom built Software Engineering Ahmed Sabeeh Yousif

  5. The Software Process The set of activities which produce a software product The sequence of steps to develop and maintain software Sets out the technical and management framework for applying methods, tools and people to the software task Software Engineering Ahmed Sabeeh Yousif

  6. A Layered Technology Software Engineering Software Engineering tools methods process model a “quality” focus Software Engineering Ahmed SabeehYousif

  7. Software Engineering Layers • Quality Focus - bedrock of “SE “supports software engineering is a quality focus. For an engineering Perspective, any engineering fields should must rest on on the quality metric” • Process • defines a framework as a basis for management control of projects and context for technical methods • Methods • technical ‘how to’ for building software • Tools • provide automated or semi-automated support for the process and the methods. Software Engineering Ahmed SabeehYousif

  8. A Generic View of SE • Engineering is analysis, design, construction, verification, and management of technical (or social) entities. • Entity  computer software • A software engineering process must be defined: definition phase, development phase, and support phase. Software Engineering Ahmed SabeehYousif

  9. 1-Definition Phase Focuses on “what” • What information is to be processed? • What function and performance are desired? • What system behavior can be expected? • Interface, design constraints, validation criteria identify key requirements of the system and SW. Software Engineering Ahmed SabeehYousif

  10. 2-Development Phase Focuses on “how” • How data are to be constructed? • How function is to be implemented within a software architecture? • Procedural details, interfaces, design  programming, testing. Three technical tasks: software design, code generation, software testing. Software Engineering Ahmed SabeehYousif

  11. 3-Support Phase • Focuses on “change” associated with error correction, adaptations, changes. • Four types of changes: • Correction  Corrective maintenance • Adaptation  Adaptive maintenance • Enhancement  Perfective maintenance • Prevention  Preventive maintenance, often called Software Engineering  more easily corrected, adapted, and enhance. Software Engineering Ahmed SabeehYousif

  12. The Software Process ... Has a common process framework containing: • framework activities - for all software projects • work tasks • project milestones • software work products and deliverables • quality assurance points • umbrella activities - occur throughout the process • software quality assurance • software configuration management • software metrics or measurement Software Engineering Ahmed SabeehYousif

  13. Process Framework • A process framework establishes the foundation for a complete software engineering process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. • The process framework encompasses a set of “umbrella activities” that are applicable across the entire software process, see figure(1). • umbrella activities are applied throughout a software project and help a software team manage and control progress, quality, change, and risk. Software Engineering Ahmed SabeehYousif

  14. A Common Process Framework Figure 1. A Common Process Framework Software Engineering Ahmed Sabeeh Yousif

  15. Software process Figure 1.2. Umbrella activities

  16. Umbrella Activities In the definition of software process ,activities, actions, and tasks resides within a framework or model that defines their relationship with the process and with one another. Software engineering process framework activities are complemented by a number of umbrella activities. The software process is represented schematically in Figure 1.2 ,Referring to the figure, each framework activity is populated by a set of software engineering actions. Each software engineering action is defined by a task set that identifies the work tasks that are to be completed, the work products that will be produced, the quality assurance points that will be required, and the milestones that will be used to indicate progress

  17. Typical umbrella activities include: Typical umbrella activities include: Software project tracking and control- allows the software team to assess progressagainst the project plan, take necessary action to maintain the schedule. Risk management- assesses risksthat may affect the outcome of the project or the quality of the product. Software quality assurance- defines the activities required to ensure software quality.

  18. Typical umbrella activities include: Technical reviews- uncover and remove errorsbefore they are propagated to the next activity. Measurement- defines and collects process, project, and product measures. Software configuration management- manages the effects of changethroughout the software process. Reusability management- defines criteria for work product reuseand establishes mechanisms to achieve reusable components. Work product production- the activities required to create work products such as models, documents, logs, forms, and lists.

  19. Software Process Models ... Evolutionary development • Linear or waterfall model • Prototyping (throw away) • Rapid Application Development • Incremental Process • Spiral Model • Concurrent Development Model • Fourth Generation Techniques • Extreme Programming Software Engineering Ahmed Sabeeh Yousif

  20. SDLC - the reality Overlapping phases • Large, complex systems are usually broken into subsystems and other smaller components • Each subsystem may have its own mini-lifecycle. • In reality there will be a continuous stream of change requests. Software Engineering Ahmed Sabeeh Yousif

  21. Process as Problem Solving Figure 2.2 Life cycle of design a solution Software Engineering Ahmed Sabeeh Yousif

More Related