0% found this document useful (0 votes)
45 views3 pages

2 Lifecycle PDF

The document summarizes different software development models and activities, including: - The waterfall model which progresses through sequential phases of requirements, design, implementation, testing and documentation. - Software development activities like gathering requirements, software design, coding, testing, documentation and maintenance. - The spiral model which is driven by managing risk through iterative cycles of requirements analysis, design, implementation and testing. - Extreme programming which uses short iterative cycles to deliver functionality through practices like user stories, planning games and pair programming.

Uploaded by

Amirhossein
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views3 pages

2 Lifecycle PDF

The document summarizes different software development models and activities, including: - The waterfall model which progresses through sequential phases of requirements, design, implementation, testing and documentation. - Software development activities like gathering requirements, software design, coding, testing, documentation and maintenance. - The spiral model which is driven by managing risk through iterative cycles of requirements analysis, design, implementation and testing. - Extreme programming which uses short iterative cycles to deliver functionality through practices like user stories, planning games and pair programming.

Uploaded by

Amirhossein
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Software Development Activities

• Student Comments
The Software Lifecycle • Define the problem – requirements
• Estimate size of task, how long it will
take to complete
• Provide initial support/teach people to
support the project
15-413: Introduction to Software • Teach people how to use the products
Engineering

Jonathan Aldrich

29 August 2005

Software Development Activities Waterfall Model of S/W Dev.


• Gathering Requirements
• Team Management Requirements

• Software Design
Design
• Coding
• Testing
Implementation
• Documentation
• Software Maintenance Quality Assurance

Evolution

29 August 2005 29 August 2005

Requirements Design
• Determining what clients need from • Engineering solution that addresses
software requirements
• Problem space, not solution space
• May include quality attributes • Designs include
• Performance, security, maintainability… • Architecture
• Code interfaces
• Challenges • User interfaces
• Clients don’t know what they want • Components
• Clients can’t express what they want • Data structures
• Bound to change • Algorithms
• Better communication
• Better client
• Changes to environment

29 August 2005 29 August 2005

1
Implementation Quality Assurance
• Realizing a design in code • Ensuring the implementation meets
quality standards
• More than just coding
• Documentation • Testing
• Assertions/Invariants • Unit
• Coding standards • Functional
• Pair programming • Regression
• Tools
• Configuration management • Analysis
• Design and code reviews

29 August 2005 29 August 2005

Evolution Problems with Waterfall


• Changing the software to fix defects • Change is ubiquitous
• Occurs even during software development
meet new requirements
• Waterfall assumes one stage completes
before others begin
• Most development today is really • Unrealistic in most environments
• Requirements constantly changing
evolution • Lessons learned in later stages affect earlier
ones
• Differs from initial development
• Significant investment in existing code • Useful applied where communication costs
• Have to work within additional high
constraints • Stable requirements
• Many SE techniques focus on making • Very large software systems
• Distributed teams
evolution easier
29 August 2005 29 August 2005

Spiral Model of S/W Dev. Benefits of Spiral Development


Requirements Design • Delivers initial value early
• Mitigates risk of failure
• Focus on high-priority functionality
• Frequent requirements refinement
• Uses feedback from one iteration to
refine requirements for the next
• Mitigates impact of change

• Note: the Spiral model is driven by


uncertainty and change
Quality • A theme of the whole course
Assurance Implementation
29 August 2005 29 August 2005

2
Extreme Programming
• An iterative/spiral process
• Divides development into short iterations
delivering functionality
• Lightweight practices
• Requirements through “stories”
• Planning game
• Pair programming
• Increasingly popular in industry
• Fun
• Will be used for the projects
• Along with waterfall lifecycle deliverables
• Promotes familiarity traditional style
development artifacts

29 August 2005

You might also like