Top Banner
Software engineering Process models Pavel Agejkin
26
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software engineering Process models Pavel Agejkin.

Software engineeringProcess models

Pavel Agejkin

Page 2: Software engineering Process models Pavel Agejkin.

Software engineering layers

Page 3: Software engineering Process models Pavel Agejkin.

Generic process framework activities• Communication• Planning• Modeling• Construction• Deployment

Page 4: Software engineering Process models Pavel Agejkin.

Umbrella activities

• Software project tracking and control• Risk management• Software quality assurance• Technical reviews• Measurement• Software configuration management• Reusability management• Work product preparation and production

Page 5: Software engineering Process models Pavel Agejkin.
Page 6: Software engineering Process models Pavel Agejkin.

General principles

• The Reason It All Exists• KISS (Keep It Simple, Stupid!)• Maintain the Vision• What You Produce, Others Will Consume• Be Open to the Future• Plan Ahead for Reuse• Think!

Page 7: Software engineering Process models Pavel Agejkin.

Generic process model

• Linear process flow• Iterative process flow• Evolutionary process flow• Parallel process flow

Page 8: Software engineering Process models Pavel Agejkin.
Page 9: Software engineering Process models Pavel Agejkin.

Waterfall Model

Page 10: Software engineering Process models Pavel Agejkin.

Incremental Process Model

Page 11: Software engineering Process models Pavel Agejkin.

Evolutionary Process Models : Prototyping

Page 12: Software engineering Process models Pavel Agejkin.

Evolutionary Process Models : Spiral Model

Page 13: Software engineering Process models Pavel Agejkin.

Evolutionary Process Models : Spiral Model

Page 14: Software engineering Process models Pavel Agejkin.

Specialized Process Model

• Component-Based development• Formal Methods Model• Aspect-Oriented Software Development

Page 15: Software engineering Process models Pavel Agejkin.

Unified Process

Page 16: Software engineering Process models Pavel Agejkin.

Personal Software Process (PSP)

• Planning• High-level design• High-level design review• Development• Postmortem

Page 17: Software engineering Process models Pavel Agejkin.

Team Software Process (TSP)

• Project launch,• High-level design • Implementation• Integration and test• Postmortem

Page 18: Software engineering Process models Pavel Agejkin.

Manifesto for Agile Software DevelopmentWe are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.

Page 19: Software engineering Process models Pavel Agejkin.

Change cost vs time in development

Page 20: Software engineering Process models Pavel Agejkin.

Agility principles

• 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. • 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s

competitive advantage. • 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter

timescale. • 4. Business people and developers must work together daily throughout the project. • 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the

job done. • 6. The most efficient and effective method of conveying information to and within a development team is face-to-face

conversation. • 7. Working software is the primary measure of progress.• 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a

constant pace indefinitely• 9. Continuous attention to technical excellence and good design enhances agility. • 10. Simplicity—the art of maximizing the amount of work not done—is essential. • 11. The best architectures, requirements, and designs emerge from self– organizing teams. • 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

Page 21: Software engineering Process models Pavel Agejkin.

Human factors

• Competence• Common focus• Collaboration• Decision-making ability• Fuzzy problem-solving ability• Mutual trust and respect• Self-organization

Page 22: Software engineering Process models Pavel Agejkin.

Extreme Programming (XP)

Values:• Communication• Simplicity• Feedback• Courage (discipline)• Respect

Page 23: Software engineering Process models Pavel Agejkin.

Industrial XP ( IXP)

Page 24: Software engineering Process models Pavel Agejkin.

Feature Driven Develoment

Page 25: Software engineering Process models Pavel Agejkin.

Scrum

Page 26: Software engineering Process models Pavel Agejkin.

Kanban