Download presentation
Presentation is loading. Please wait.
Published byTimothy Golden Modified over 9 years ago
1
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities: Throughout lifecycle
2
Dillon: CSE470: SE, Process2 Definition l Requirements definition and analysis »Developer must understand –Application domain –Required functionality –Required performance –User interface
3
Dillon: CSE470: SE, Process3 Definition (cont.) l Project planning »Allocate resources »Estimate costs »Define work tasks »Define schedule l System analysis »Allocate system resources to –Hardware –Software –Users
4
Dillon: CSE470: SE, Process4 Development l Software design »User interface design »High-level design –Define modular components –Define major data structures »Detailed design –Define algorithms and procedural detail
5
Dillon: CSE470: SE, Process5 Development (cont.) l Coding »Develop code for each module »Unit testing l Integration »Combine modules »System testing
6
Dillon: CSE470: SE, Process6 Maintenance l Correction - Fix software defects l Adaptation - Accommodate changes »New hardware »New company policies l Enhancement - Add functionality l Prevention - make more maintainable
7
Dillon: CSE470: SE, Process7 Umbrella Activities l Reviews - assure quality l Documentation - improve maintainability l Version control - track changes l Configuration management - integrity of collection of components
8
Dillon: CSE470: SE, Process8 Software Engineering Costs
9
Dillon: CSE470: SE, Process9 Software Engineering Costs
10
Dillon: CSE470: SE, Process10 Relative Costs to Fix Errors
11
Dillon: CSE470: SE, Process11 Waterfall Process Model Requirements Design Maintenance Coding Testing
12
Dillon: CSE470: SE, Process12 Prototyping Process Model Requirements Quick Design Prototype Evaluate Design
13
Dillon: CSE470: SE, Process13 When to use prototyping? l Help the customer pin down the requirements »Concrete model to “test out” »Often done via the user interface l Explore alternative solutions to a troublesome component »e.g., determine if an approach gives acceptable performance l Improve morale »Partially running system provides visibility into a project
14
Dillon: CSE470: SE, Process14 Spiral Process Model Planning Risk Analysis Engineering Customer Evaluation
15
Dillon: CSE470: SE, Process15 Process Models l Idealized views of the process l Different models are often used for different subprocesses »may use spiral model for overall development –prototyping for a particularly complex component –waterfall model for other components
16
Dillon: CSE470: SE, Process16 Capability Maturity Model l Level 1: Initial »success depends on people l Level 2: Repeatable »track cost, schedule, functionality l Level 3: Defined »use standardized processes l Level 4: Managed »collect detailed metrics l Level 5: Optimizing »continuous process improvement »“built-in” process improvement
17
Dillon: CSE470: SE, Process17 Why is software development so difficult ? l Communication »Between customer and developer –Poor problem definition is largest cause of failed software projects »Within development team –More people = more communication –New programmers need training l Project characteristics »Novelty »Changing requirements –5 x cost during development –up to 100 x cost during maintenance »Hardware/software configuration »Security requirements »Real time requirements »Reliability requirements
18
Dillon: CSE470: SE, Process18 Why is software development difficult ? (cont.) l Personnel characteristics »Ability »Prior experience »Communication skills »Team cooperation »Training l Facilities and resources »Identification »Acquisition l Management issues »Realistic goals »Cost estimation »Scheduling »Resource allocation »Quality assurance »Version control »Contracts
19
Dillon: CSE470: SE, Process19 Summary l Software lifecycle consist of »Definition (what) »Development (how) »Maintenance (change) l Different process models concentrate on different aspects »Waterfall model: maintainability »Prototype model: clarifying requirements »Spiral model: identifying risk l Maintenance costs much more than development
20
Dillon: CSE470: SE, Process20 Bottom Line l U.S. software is a major part of our societal infrastructure »Costs upwards of $200 billion/year l Need to »Improve software quality »Reduce software costs/risks
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.