Download presentation
Presentation is loading. Please wait.
1
Embedded Systems Software Training Center
Software Life Cycle Copyright © 2011 DSR Corporation
2
Welcome Instructor Introduction Objectives and Content Class Materials
Agenda Copyright © 2011 DSR Corporation
3
Instructor Introduction
Alexandr Bychkov VP of Engineering at DSR Copyright © 2011 DSR Corporation
4
Objectives Understand what we mean by a “process”
Understand software development products, processes, and resources Understand the various models of the software development process Understand the tools and techniques used for process modeling Copyright © 2011 DSR Corporation
5
Class Materials Software Engineering Introduction presentation is available here: Hands-on Exercises are available here: Copyright © 2011 DSR Corporation
6
Agenda The Meaning of Process Software Process Models
Tools and Techniques for Process Modelling Practical Process Modelling Copyright © 2011 DSR Corporation
7
1. The Meaning of Process
8
1. The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process involves a set of tools and techniques Copyright © 2011 DSR Corporation
9
1. The Meaning of Process Process Characteristics
Prescribes all major process activities Activities are organized in sequence, so timing is clear Each process has guiding principles, including goals of each activity Each process activity has entry and exit criteria May be composed of subprocesses with hierarchy or links Produces intermediate and final products Resources: Environment, tools Human effort and experience Constraints may apply to an activity, resource or product Copyright © 2011 DSR Corporation
10
1. The Meaning of Process The Importance of Processes
Impose consistency and structure on a set of activities Guide us to understand, control, examine, and improve the activities Enable us to capture our experiences and pass them along Copyright © 2011 DSR Corporation
11
2. Software Process Models
12
2. Software Process Models Software Life Cycle Process
When a process involves building a software, the process may be referred to as a software lifecycle Activities (sub-processes): Requirements analysis and definition System (architecture and high level) design Program (low level) design Writing programs (coding/implementation) Testing: unit integration system System delivery (deployment) Maintenance Copyright © 2011 DSR Corporation
13
2. Software Process Models Software Life Cycle Processes by IEEE/EIA 12207.0
Primary lifecycle processes: Development process Acquisition process Supply process Operation process Maintenance process Supporting lifecycle processes: Audit process Configuration Management Joint review process Documentation process Quality assurance process Problem solving process Verification process Validation process Organizational processes: Management process Infrastructure process Improvement process Training process Copyright © 2011 DSR Corporation
14
2. Software Process Models Software Development Process Models
Waterfall model V model Prototyping model Spiral model Transformational model Phased development: increments and iterations Agile methods Rapid application development (RAD) Cowboy coding Copyright © 2011 DSR Corporation
15
2. Software Process Models Waterfall Model
Copyright © 2011 DSR Corporation
16
2. Software Process Models Waterfall Model Specifics
One of the first process development models proposed (1970, article by Winston W. Royce) Works for well understood problems with minimal or no changes in the requirements Simple and easy to explain to customers It presents a very high-level view of the development process sequence of process activities Each major phase is marked by milestones and deliverables (artefacts) Copyright © 2011 DSR Corporation
17
2. Software Process Models Drawbacks of the Waterfall Model
Provides no guidance on how to handle changes to products and activities during development (assumes requirements can be frozen) Doesn’t allow to evaluate the requirements feasibility Doesn’t contain the bug fixing activity Views software development as a manufacturing process rather than as a creative process There are no iterative activities that lead to creating a final product Long wait before the final product Copyright © 2011 DSR Corporation
18
2. Software Process Models V Model
Copyright © 2011 DSR Corporation
19
System Engineering Process
2. Software Process Models Specific of Embedded System Development Process System Engineering Process System Requirements Definition System Test System Architecture Design System Integration and System Integration Test Software Requirements Definition Comprehensive Software Testing Software Architecture Design Integration and Software Testing and Software Integration Detailed Software Design Unit Test Software Engineering Process Implementation Copyright © 2011 DSR Corporation
20
2. Software Process Models Prototyping Model
Allows repeated investigation of the requirements or design Reduces risk and uncertainty in the development Very helpful for UI specification Proof-of-concept Copyright © 2011 DSR Corporation
21
2. Software Process Models Spiral Model – Minimization and Control of Risk
Copyright © 2011 DSR Corporation
22
2 Software Process Models Transformational Model
Copyright © 2011 DSR Corporation
23
2. Software Process Models Phased Development: Increments and Iterations
Copyright © 2011 DSR Corporation
24
2. Software Process Models Phased Development: Increments and Iterations (cont.)
Incremental development: starts with a small functional subsystem and adds functionality with each new release Iterative development: starts with a full system, then changes functionality of each subsystem with each new release Copyright © 2011 DSR Corporation
25
2. Software Process Models Phased Development
Phased development is desirable for several reasons: It enables customers to have some functionality while the rest is being developed Training can begin early, even though some functions are still in progress Frequent releases allow developers to fix unanticipated problems globally and quickly The development team can focus on different areas of expertise with different releases Copyright © 2011 DSR Corporation
26
2. Software Process Models Agile Methods
Emphasis on flexibility in producing software quickly and capably Agile manifesto: Value individuals and interactions over process and tools Prefer to invest time in producing working software rather than in producing comprehensive documentation Focus on customer collaboration rather than contract negotiation Concentrate on responding to change rather than on creating a plan and then following it Copyright © 2011 DSR Corporation
27
2. Software Process Models Agile Methods: Examples of Agile Process
Extreme programming (XP) Scrum: 30-day iterations; multiple self-organizing teams; daily “scrum” coordination Feature-driven development (FDD): driven from a client-valued functionality (feature) perspective Adaptive software development (ASD) Copyright © 2011 DSR Corporation
28
2. Software Process Models Agile Methods: Twelve Facets of XP
The planning game (customer defines value) Small releases Metaphor (common vision, common names) Simple design Writing tests first Refactoring Pair programming Collective ownership Continuous integration (small increments) Sustainable pace (40 hours/week) On-site customer Coding standards Copyright © 2011 DSR Corporation
29
2. Software Process Models Agile Methods: Scrum
Roles: “Scrum Master”, “Product Owner”, “Team” A sprint is the basic unit of development in Scrum “backlog”, which is a prioritized set of high level requirements of work to be performed Meetings: Daily Stand-ups, Sprint Planning Meeting, Sprint Review Meeting Copyright © 2011 DSR Corporation
30
2. Software Process Models Agile Methods: RAD
RAD uses minimal planning in favor of rapid prototyping It involves methods like iterative development and software prototyping Rad involves Joint Application Development (JAD) techniques and CASE tools to translate user needs into working model Copyright © 2011 DSR Corporation
31
3. Tools and Techniques for Process Modeling
32
3. Tools and Techniques for Process Modeling
Notation depends on what we want to capture in the model The two major notation categories: Static model: depicts the process Example: Lai notation Dynamic model: enacts the process Marvel Specification Language Copyright © 2011 DSR Corporation
33
3. Tools and Techniques for Process Modeling Marvel Case Studies
Signalling Fault Resolution Process Copyright © 2011 DSR Corporation
34
3. Tools and Techniques for Process Modeling Example of Marvel Commands
Copyright © 2011 DSR Corporation
35
4. Practical Process Modeling
36
4. Practical Process Modeling Example 1: Control Panel
Summary Data Sensor data Collector Data processor Network bridge Sensor data CDMS Reports DB Web Service UI Control Operating System Hardware 3rd party SW Copyright © 2011 DSR Corporation
37
4. Practical Process Modeling Example 1: Control Panel (cont.)
Chosen Process model: Waterfall-based with prototyping and early delivery Prototyping for: DBMS choice Feasibility evaluation HW limitations 3rd party compatibility Performance requirements understanding LLD and implementation in parallel Early delivery After unit testing to start system integration Copyright © 2011 DSR Corporation
38
4. Practical Process Modelling Example 1: Control Panel (cont.)
REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT TESTING EARLY DELIVERY Prototyping INTEGRATION TESTING SYSTEM TESTING FINAL DELIVERY MAINTENANCE Copyright © 2011 DSR Corporation
39
4. Practical Process Modeling Example 2: Porting
Tasks: Porting to a new platform Hardware OS New features implementation Process model: Iterative Phase 1 Porting to anew platform Phase 2 New feature implementation Copyright © 2011 DSR Corporation
40
4. Practical Process Modeling Example 3: Huge Innovative Web-based System
Details: The work requires 2 years to implement Set of main features is clear Set of supplementary features is not clear Process model: Iterative Phase 1: Development of the operable prototype Engine with basic functions Basic UI Phase 2: Development of the sellable version 1.0 with basic functionality Phases 3…n Enhancement of functionality using Scrum Copyright © 2011 DSR Corporation
41
4. Practical Process Modeling Example 4: Ariane-5
Reuse process model presentation Copyright © 2011 DSR Corporation
42
4. Practical Process Modeling Typical Issues
Customer was not satisfied with results System developed and tested well on Windows 2008 Server, but customer uses Windows 2008 R2 Server where the main functionality does not work. Issue: incomplete requirements. Wrong test results QA team wrongly interpreted design specification so all of the tests failed. Issue: incomplete design. A developed SW system has good quality but cannot operate on the user’s site because the feature that supports their workflow is not supported. Issue: incomplete requirements Copyright © 2011 DSR Corporation
43
Summary Process development involves activities, resources, and products Process model includes organizational, functional, behavioural, and other perspectives A process model must be chosen for every project and product A process model is useful for guiding team behaviour, coordination, and collaboration Copyright © 2011 DSR Corporation
44
References Software Engineering: Theory and Practice / Shari Lawrence Pfleeger SWEBOK. Guide to the Software Engineering. Body of Knowledge Version / A project of the IEEE Computer Society Professional Practices Committee IEEE Std , IEEE Standard Glossary of Software Engineering Terminology IEEE Std IEEE Standard for Developing Software Life Cycle Processes Copyright © 2011 DSR Corporation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.