Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOFTWARE PROCESS MODELING Benjamin Dixon U60537340.

Similar presentations


Presentation on theme: "SOFTWARE PROCESS MODELING Benjamin Dixon U60537340."— Presentation transcript:

1 SOFTWARE PROCESS MODELING Benjamin Dixon U60537340

2 PROCESS CHARACTERISTICS AND MAJOR ACTIVITIES Characteristics Software Process: “A software process is a set of related activities that leads to the production of a software product.” Includes:  Requirements  System Design  Program Design  Coding/implementation  Unit/integration/system testing  Delivery  Maintenance Major Activities  Software specification The functionality of the software and constraints on its operation must be defined.  Software design and implementation The software to meet the specification must be produced.  Software validation The software must be validated to ensure that it does what the customer wants.  Software evolution The software must evolve to meet changing customer needs.

3 SOFTWARE PROCESS MODELS Prescriptive  A prescriptive model defines the path software development should follow ahead of time. Descriptive  A descriptive model tracks the real progress of the project as it is ongoing. Reasons for Modelling  Organize efforts  Track progress  Track changes in requirements  Keep up with deadlines

4 THE WATERFALL MODEL Description  Separates the development process into the sections shown on the left.  Each segment proceeds strictly after the previous. Pros  Easier for managers and onlookers to understand Cons  Inflexible Reality  Segments actually overlap and repeat constantly Peter Kemp/ Paul Smith – Wikipedia.org

5 WATERFALL MODEL WITH PROTOTYPING Description  A type of Waterfall Model that involves creating a partial product and reworking it over and over. Pros  Allows more flexibility.  Allows for product verification at multiple phases. Cons  Can increase overhead time/effort costs. Reality  Improves upon the original Waterfall method. Gary Shute, University of Minnesota

6 THE V-MODEL Description  Breaks development into 3 parts: execute, write, check  Execute: defines project goals and design  Write: write the code and implement the system  Check: unit testing, integration testing, system testing Pros  Each testing phase connects back to its associated design phase, illustrating the iteration process. Cons  Unfortunately, it is not flexible to change. Harmonicss.co.uk

7 PROTOTYPING MODEL Description  Quickly develop prototypes matching requirements.  Customer can evaluate prototype.  Either refine or reject the prototype. Pros  Customers are more involved in the final product. Cons  Can spend a lot of wasted time on rejected prototypes. istqbexamcertification.com

8 OPERATIONAL SPECIFICATION MODEL Description  Requirements are assessed prior to design and implementation.  Allows requirements to be solidified and refined prior to spending time implementing incorrectly. S. Pfleeger and J. Atlee

9 TRANSFORMATION MODEL Description  Codifies requirements into a formal document  Formal requirements are transformed incrementally into a deliverable system S. Pfleeger and J. Atlee

10 PHASED DEVELOPMENT MODEL Description  Systems are produced in different phases spaced over time.  Gets products out quicker.  Allows the customer to have something usable while the rest of the system is being developed. S. Pfleeger and J. Atlee

11 INCREMENTAL AND ITERATIVE MODELS Incremental  Produce individual subsystems one at a time, adding functionality to the overall product over time. Iterative  Produce a full system, adding/changing subsystem functionality over time. S. Pfleeger and J. Atlee

12 SPIRAL MODEL Description  Combination of development and risk management.  Each quadrant of the spiral represents a different activity:  Evaluating Risks/Alternatives  Developing/Testing  Planning  Goal Planning S. Pfleeger and J. Atlee

13 AGILE METHODS An alternative method to software development. Improves flexibility in the development process. Follows the principles of the Agile Manifesto:  Individuals and interactions are greater than process and tools  Focus on working software rather than documentation  Customer collaboration over contracts  Respond to change rather than plan Examples of Agile Programming  Extreme Programming (XP)  Crystal  Scrum  Adaptive Software Development (ASD)

14 12 FACETS OF XP  The planning game  Small release  Metaphor  Simple design  Writing tests first  Refactoring  Pair programming  Collective ownership  Continuous integration  Sustainable pace  On-site customer  Coding standard

15 TOOLS FOR PROCESS MODELING Notation: dependent on goal of the model  Text-based or graphical flow-charts Different types of modeling  Static Models  Dynamic Models

16 STATIC MODELING Lai Notation  Activity  Sequence  Process model  Resource  Control  Policy  Organization S. Pfleeger and J. Atlee

17 DYNAMIC MODELING Shows resources at each step of development Simulates alternatives and changes Systems dynamic approach  Improves productivity  Shows how changes in one thing affect other things S. Pfleeger and J. Atlee

18 PRACTICAL PROCESS MODELING Marvel Specification Language (MLS)  Tool envelopes, classes, rules  Three main concepts define a process description  rule-based  Object-oriented  Interface between process and external systems S. Pfleeger and J. Atlee

19 REFERENCES  Sommerville, Ian. Software Engineering. Boston: Pearson, 2011. Print.  S. Pfleeger and J. Atlee, Software Engineering:Theory and Practice. Upper Saddle River [N.J.]: Prentice Hall, 2010.


Download ppt "SOFTWARE PROCESS MODELING Benjamin Dixon U60537340."

Similar presentations


Ads by Google