Specialized Process Models LECTURE 5 By UmmeLaila Compiled
Specialized Process Models LECTURE 5 By Umm-e-Laila Compiled by: Umm-e-Laila 1
Topics to be covered • Specialized Process Models: – Component Based Development – Formal Methods Model – Agile Process Model – XP – Scrum Compiled by: Umm-e-Laila 2
Specialized Process Models
Component-based Development Model • Consists of the following process steps – Available component-based products are researched and evaluated for the application domain in question – Component integration issues are considered – A software architecture is designed to accommodate the components – Components are integrated into the architecture – Comprehensive testing is conducted to ensure proper functionality • Relies on a robust component library • Capitalizes on software reuse, which leads to documented savings in project cost and time 4
Formal Methods Model (Description) • Encompasses a set of activities that leads to formal mathematical specification of computer software • Enables a software engineer to specify, develop, and verify a computer -based system by applying a rigorous, mathematical notation • Ambiguity, incompleteness, and inconsistency can be discovered and corrected more easily through mathematical analysis • Offers the promise of defect-free software • Used often when building safety-critical systems 5
Formal Methods Model (Challenges) • Development of formal methods is currently quite time-consuming and expensive • Because few software developers have the necessary background to apply formal methods, extensive training is required • It is difficult to use the models as a communication mechanism for technically unsophisticated customers 6
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: – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation • 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”? ! • • Effective (rapid and adaptive) response to change! Effective communication among all stakeholders! Drawing the customer onto the team! Organizing a team so that it is in control of the work performed! • Yielding …! • �Rapid, incremental delivery of software!
An Agile Process! • Is driven by customer descriptions of what is required (scenarios)! • Recognizes that plans are short-lived! • Develops software iteratively with a heavy emphasis on construction activities! • Delivers multiple ”software increments”! • Adapts as changes occur!
Extreme Programming (XP)! • The most widely used agile process, originally proposed by Kent Beck! • XP Planning! • Begins with the creation of “user stories”! – – Agile team assesses each story and assigns a cost! Stories are grouped to for a deliverable increment! A commitment is made on delivery date! After the first increment “project velocity” is used to help define subsequent delivery dates for other increments!
Extreme Programming (XP)! • XP Design! – Follows the KIS principle! – Encourage the use of CRC cards (see Chapter 8)! – For difficult design problems, suggests the creation of “spike solutions”—a design prototype! – Encourages “refactoring”—an iterative refinement of the internal program design! • XP Coding! – Recommends the construction of a unit test for a store before coding commences! – Encourages “pair programming”! • XP Testing! – All unit tests are executed daily! – “Acceptance tests” are defined by the customer and excuted to assess customer visible functionality!
Extreme Programming (XP)!
Scrum • Originally proposed by Schwaber and Beedle • Scrum—distinguishing features – Development work is partitioned into “packets” – Testing and documentation are on-going as the product is constructed – Work occurs in “sprints” and is derived from a “backlog” of existing requirements – Meetings are very short and sometimes conducted without chairs
Scrum
- Slides: 14