CS615 – Software Engineering I

Lecture 2

 

Unified Process Model (Chapter 3, Pressman, 6th ed)

Unified Process—a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)

 

 

UP Phases

 


 

 


UP Work Products

 

 

Chapter 4 -Agile Development (Pressman, 6th ed)

The Manifesto for Agile Software Development

“We are uncovering better ways of developing software by doing it and helping others do it.  Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.” - Kent Beck et al

 

What is “Agility”?

Yielding …

 

An Agile Process

 

Extreme Programming (XP)

The most widely used agile process, originally proposed by Kent Beck

 

XP Planning

 

XP Design

XP Coding

XP Testing

 

 

 

Adaptive Software Development

 

 

Dynamic Systems Development Method

Promoted by the DSDM Consortium (http://www.dsdm.org/)

 

DSDM—distinguishing features

 

 

Scrum

Originally proposed by Schwaber and Beedle

 

Distinguishing features

 

 

 

 

Crystal

Proposed by Cockburn and Highsmith

 

Crystal—distinguishing features

 

Feature Driven Development

Originally proposed by Peter Coad et al (PDF)

 

FDD—distinguishing features

total the value of the sale
calculate the interest for the bank account
total the hours worked for the pilot

 

 

Agile Modeling

Originally proposed by Scott Ambler  - http://www.agilemodeling.com/

 

Suggests a set of agile modeling principles

 

 

Chapter 5 - Practice: A Generic View

What is “Practice”?

The Essence of Practice

 

Core Software Engineering Principles

 

Software Engineering Practices

The generic process framework

 

Communication Practices

Principles

 

Initiation

 

An abbreviated task set

 

Planning Practices

Principles

 

Initiation

Questions to ask

 

Planning Practices

Abbreviated task set

 

Modeling Practices

We create models to gain a better understanding of the actual entity to be built

 

Analysis Modeling Practices

Analysis modeling principles

n

Design Modeling Practices

Principles

 

Elements of the design model

 

Construction Practices

Preparation principles:

Before you write one line of code, be sure you:

 

Coding principles:

As you begin writing code, be sure you:

 

Validation Principles: 

After you’ve completed your first coding pass, be sure you:

 

Testing Principles

·        All tests should be traceable to requirements

 

Deployment Practices

Principles