Software Engineering - Process, Reading, Slide Notes | CS 1530, Quizzes of Software Engineering

Material Type: Quiz; Class: SOFTWARE ENGINEERING; Subject: Computer Science; University: University of Pittsburgh; Term: Fall 2004;

Typology: Quizzes

Pre 2010

Uploaded on 09/02/2009

koofers-user-syi
koofers-user-syi 🇺🇸

10 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
CS 1530 Software Engineering Fall
2004
Software Engineering
Process
CS 1530 Software Engineering Fall
2004
Reading
SE chapters 2,12
Eric S. Raymond: The Cathedral and the
Bazaar
read by 11/15: there will be a short quiz on
it on Monday
http://www.catb.org/~esr/writings/cathedral-bazaar/
cathedral-bazaar/cathedral-bazaar.ps
Reasons for modeling a
process
To form a common understanding
To find inconsistencies, redundancies,
omissions
To find and evaluate appropriate
activities for reaching process goal
To tailor a general process for the
particular situation in which it will be
used
pf3
pf4
pf5

Partial preview of the text

Download Software Engineering - Process, Reading, Slide Notes | CS 1530 and more Quizzes Software Engineering in PDF only on Docsity!

CS 1530 Software 2004 Engineering Fall

Software Engineering

Process

CS 1530 Software 2004 Engineering Fall

Reading

■ SE chapters 2,

■ Eric S. Raymond: The Cathedral and the

Bazaar

■ read by 11/15: there will be a short quiz on

it on Monday

http://www.catb.org/~esr/writings/cathedral-bazaar/

cathedral-bazaar/cathedral-bazaar.ps

Reasons for modeling a

process

■ To form a common understanding

■ To find inconsistencies, redundancies,

omissions

■ To find and evaluate appropriate

activities for reaching process goal

■ To tailor a general process for the

particular situation in which it will be

used

Examples of process models

■ Waterfall model

■ Prototyping

■ V-model

■ Operational specification

■ Transformational model

■ Phased development: increments and

iteration

■ Spiral model

CS 1530 Software 2004 Engineering Fall

Waterfall Model

CS 1530 Software Engineering Fall

V Model

CS 1530 Software 2004 Engineering Fall

Spiral Model

CS 1530 Software 2004 Engineering Fall

Agile Software Development

■ Kent Beck et al.: Manifesto for Agile

Software Development, Snowbird, Utah

■ 12 principles of agile sofware

develpment

CS 1530 Software Engineering Fall

Agile Principles (1)

• Our highest priority is to satisfy the customer through early

and continuous delivery of valuable software.

• Welcome changing requirements, even late iN development.

Agile processes harness change for the customer's

competitive advantage.

• Deliver working software frequently, from a couple of weeks

to a couple of months, with a preference to the shorter

timescale.

• Business people and developers must work together daily

throughout the project.

• Build projects around motivated individuals.Give them the

environment and support they need and trust them to get the

job done.

• The most efficient and effective method of conveying

information to and within a development team is face-to-face

conversation.

CS 1530 Software 2004 Engineering Fall

Agile Principles (2)

• Working software is the primary measure of progress.

• Agile processes promote sustainable development.The

sponsors, developers, and users should be able to

maintain a constant pace indefinitely.

• Continuous attention to technical excellence and good

design enhances agility.

• Simplicity--the art of maximizing the amount of work

not done--is essential.

• The best architectures, requirements, and designs

emerge from self-organizing teams.

• At regular intervals, the team reflects on how to

become more effective, then tunes and adjusts ts

behavior accordingly.

CS 1530 Software 2004 Engineering Fall

Remarks on Agile

Development (Martin Fowler)

 Beware the engineering metaphor. Building software is nothing like building bridges. When you're spanning a river, design represents perhaps 15% of the cost; construction accounts for the rest. When you're building a software application, in contrast, all the effort is in design; the actual coding (i.e., construction) is so cheap as to be essentially free.  Creative processes, including application design, aren't easily planned, and predictability may be an impossible target. Developers and customers thus need to be ready to change their methods and goals as a project continues.  Agile programming is people-centered, not process-oriented. If you treat your developers as fungible, interchangeable programming units instead of the creative and talented individuals they are, the good people will leave.

Tools and techniques for

process modeling

■ Example: Lai notation

■ activity

■ sequence

■ process model

■ resource

■ control

■ policy

■ organization

CS 1530 Software 2004 Engineering Fall

Software Development

Structure