software engineering environment a quality focus: constant incremental improvement process:...

21
Software Engineering Software Engineering Environment Environment A quality focus: constant A quality focus: constant incremental improvement incremental improvement Process: framework to organize Process: framework to organize development activities development activities Methods: technical procedures Methods: technical procedures Tools: CASE tools for example Tools: CASE tools for example

Upload: brett-welch

Post on 29-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Software Engineering EnvironmentSoftware Engineering Environment

A quality focus: constant incremental A quality focus: constant incremental improvementimprovement

Process: framework to organize Process: framework to organize development activitiesdevelopment activities

Methods: technical proceduresMethods: technical procedures Tools: CASE tools for exampleTools: CASE tools for example

Process includes:Process includes: all major process activitiesall major process activities resources, constraints, scheduleresources, constraints, schedule intermediate and final productsintermediate and final products subprocesses, with hierarchy or linkssubprocesses, with hierarchy or links entry and exit criteria for each activityentry and exit criteria for each activity sequence of activities, so timing is clearsequence of activities, so timing is clear guiding principles, including goals of each activityguiding principles, including goals of each activity constraints for each activity, resource or productconstraints for each activity, resource or product

Reasons for modeling a processReasons for modeling a process

To form a common understandingTo form a common understanding To find inconsistencies, redundancies, To find inconsistencies, redundancies,

omissionsomissions To find and evaluate appropriate activities To find and evaluate appropriate activities

for reaching process goalfor reaching process goal To tailor a general process for the To tailor a general process for the

particular situation in which it will be usedparticular situation in which it will be used

Examples of process modelsExamples of process models Waterfall model, V-model, linear modelWaterfall model, V-model, linear model Phased development: increments and iterationPhased development: increments and iteration Prototyping Prototyping RADRAD Spiral modelSpiral model

---------------------------------------------------------------------------------------------------------------- Operational specificationOperational specification Transformational modelTransformational model

Linear ModelLinear Model

AnalysisAnalysis DesignDesign CodeCode TestTest---------------------------------------------------------------------------------------------------------------------- Rarely used in real projectsRarely used in real projects Customer rarely understand everythingCustomer rarely understand everything Not suitable for complex projectsNot suitable for complex projects

Iterative ModelsIterative Models

Prototyping modelPrototyping model RAD: Rapid Application DevelopmentRAD: Rapid Application Development Spiral modelSpiral model Incremental modelIncremental model

SE Incorported - Email MemoSE Incorported - Email Memo

To: Team spokespersonsTo: Team spokespersons

Meeting: 5:55 PM in Board roomMeeting: 5:55 PM in Board room

Be ready to present a 2 minute presentation Be ready to present a 2 minute presentation on what your team’s next software project on what your team’s next software project will be.will be.

Introduce your teamIntroduce your team Introduce your productIntroduce your product Answer questionsAnswer questions

You’re on in 30 minutes!You’re on in 30 minutes!

1. Lower your standards: no Gettysburg 1. Lower your standards: no Gettysburg address is needed.address is needed.

2. Determine your objective – if you had 2. Determine your objective – if you had called this meeting, what would you called this meeting, what would you expect?expect?

3. Who are your listeners? What do they 3. Who are your listeners? What do they expect? What do they want and need to expect? What do they want and need to know? What concerns do they have?know? What concerns do they have?

You’re on in 30 minutes!You’re on in 30 minutes!

4. Create three key points.4. Create three key points.

- Project will meet the deadline.- Project will meet the deadline.

- Project will generate sales.- Project will generate sales.

- Similar projects can follow on this - Similar projects can follow on this experience.experience.

5. Get back-up information.5. Get back-up information.

- Our customer-approval rating when up - Our customer-approval rating when up 27% after we adopted this policy.27% after we adopted this policy.

You’re on in 30 minutes!You’re on in 30 minutes!

6. Prepare an outline (be reasonable about 6. Prepare an outline (be reasonable about time).time).

7. Are there any easily available 7. Are there any easily available enhancements: charts, graphs, … enhancements: charts, graphs, …

8. Know your opening and closing 8. Know your opening and closing comments.comments.

9. Be positive, rehearse your main points 9. Be positive, rehearse your main points during a calm quiet moment, go do it.during a calm quiet moment, go do it.

How do I remember all this?How do I remember all this?

Development ModelsDevelopment Models

Incremental ModelIncremental Model

The basis for the entire projectThe basis for the entire project Each release implements a new feature.Each release implements a new feature.

RAD Development ModelRAD Development Model

Rapid Application Development Model

Development ModelsDevelopment Models

Agile Process ModelsAgile Process Models

http://www.extremeprogramming.org/http://www.extremeprogramming.org/ http://www.xpuniverse.com/homehttp://www.xpuniverse.com/home

Go to one or both of the following sites. Go to one or both of the following sites. Investigate Xtreme Programming or some Investigate Xtreme Programming or some other agile development process – write other agile development process – write (word process) a paragraph on something (word process) a paragraph on something interesting you have learned. interesting you have learned.

Extreme ProgrammingExtreme Programming

Desirable properties of process Desirable properties of process modeling tools and techniquesmodeling tools and techniques

Facilitates human understanding and Facilitates human understanding and communicationcommunication

Supports process improvementSupports process improvement Supports process managementSupports process management Provides automated guidance in Provides automated guidance in

performing the processperforming the process Supports automated process executionSupports automated process execution

Mars MissionMars Mission

NASA has asked for proposals on planning their NASA has asked for proposals on planning their human Mars mission. The software project will human Mars mission. The software project will coordinate all idea and documentation efforts coordinate all idea and documentation efforts preparing for the mission. Funding is very fluid preparing for the mission. Funding is very fluid and specifications could change drastically. and specifications could change drastically. NASA will actually use prototype versions as NASA will actually use prototype versions as they are being developed. Our company, like they are being developed. Our company, like others, may have some existing software others, may have some existing software package that we may be able to start with.package that we may be able to start with.

SE Incorported - Email MemoSE Incorported - Email Memo

To: Project TeamsTo: Project TeamsOur Mars Project proposal needs lean responsive Our Mars Project proposal needs lean responsive

innovative software development model. Word is innovative software development model. Word is that NASA will no longer accept traditional, that NASA will no longer accept traditional, cumbersome, and less flexible models.cumbersome, and less flexible models.

Be ready to present a 2 minute presentation on Be ready to present a 2 minute presentation on your team’s innovative model: your team’s innovative model:

Draw diagram on boardDraw diagram on board Introduce your teamIntroduce your team Introduce your modelIntroduce your model Be ready for questionsBe ready for questions

Slides are based (sometimes solely, Slides are based (sometimes solely, sometimes partially, and sometimes not-sometimes partially, and sometimes not-at-all) on copyrighted Prentice Hall at-all) on copyrighted Prentice Hall materials associated with Software materials associated with Software Engineering Theory and Practice by Shari Engineering Theory and Practice by Shari Lawrence Pfleeger.Lawrence Pfleeger.