Download presentation
Presentation is loading. Please wait.
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.