Presentation is loading. Please wait.

Presentation is loading. Please wait.

ABC519 10/14/03 1/14 Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models.

Similar presentations


Presentation on theme: "ABC519 10/14/03 1/14 Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models."— Presentation transcript:

1 ABC519 10/14/03 1/14 Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models

2 ABC519 10/14/03 2/14 SW Process Models  Prescriptive process models advocate an orderly approach to software engineering.  It is a set of activities required to: –Define, design, implement, test and maintain a software product.  A SW process model is chosen based on the nature of the project.

3 ABC519 10/14/03 3/14 SW Process Model Phases  All models have phases and each phase has 3 components: –Set of activities, this is what you do. –Set of deliverables, this is what you produce. –Quality control measures, this is what you use to evaluate the deliverables.  The activities defines the process Framework, the generic set encompasses: –Communication, planning, modeling, construction, and deployment

4 ABC519 10/14/03 4/14 The Waterfall Model This Model suggests a systematic, sequential approach to SW development that begins at the system level and progresses through analysis, design, code and testing.

5 ABC519 10/14/03 5/14 Waterfall Model Advantages  Easy  Structured  Provide a template into which methods for analysis, design, code, testing and maintenance can be placed. Disadvantages  Sequential, does not reflect reality  Does not allow for feedback  Does not produce a prototype  User must wait until the end to see the final program.

6 ABC519 10/14/03 6/14 When to use the Waterfall Model  Simple Projects  Limited amount of time  Requirements are well understood  We can use it for our Class Project.

7 ABC519 10/14/03 7/14 Incremental Models  Goal to provide quick basic functionality to the users  Process is not linear  Requirements are well defined  Software is completed in an increments fashion  Will Study 2 models: 1.Incremental Model 2.RAD

8 ABC519 10/14/03 8/14 1.Incremental Model  It combines characteristics of the waterfall model and the iterative nature of the prototyping model.  1 st build is usually the CORE product  Each increment “deliverable” may add a new functionality.  This is repeated until the product is complete

9 ABC519 10/14/03 9/14 The Incremental Model Communication Communication Planning Planning Modeling Modeling Construction Construction Deployment Deployment

10 ABC519 10/14/03 10/14 When to Use the Incremental Model  When staffing is not available by deadline.  When the software can be broken into increments and each increment represent a solution

11 ABC519 10/14/03 11/14 2.The Rapid Application Development RAD Model  Builds on the Incremental model with emphases on short development cycle.  In other words high speed waterfall model  Components are build using this model as a fully functional units in a relatively short time  It assumes that the system can be modularized  RAD will fail if you don’t have strong and skillful teams  High performance might be an issue

12 ABC519 10/14/03 12/14 The RAD Model

13 ABC519 10/14/03 13/14 Evolutionary Process Models  Core requirements are well understood but additional requirements are evolving and changing fast  Time-to-Market  Iterative – software gets more complex with each iteration 1.Prototype 2.Spiral 3.Concurrent

14 ABC519 10/14/03 14/14 Evolutionary SW Process Models  Advantages –Do not require full knowledge of the requirements –Iterative –Divide project into builds –Allows feedback, show user something sooner –Develop more complex systems

15 ABC519 10/14/03 15/14 1.Prototyping Model  Start with what is known about requirements.  Do a quick design.  Build the prototype by focusing on what will be seen by the user.  Use the prototype to show the user and help refining requirements.

16 ABC519 10/14/03 16/14 Evolutionary Models: Prototyping communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback

17 ABC519 10/14/03 17/14 When to Use Prototype Model  When the customer define general objectives for the SW but does NOT identify details about INPUT, OUTPUT, or processing requirements.  The developer is unsure of the efficiency of an algorithm, human machine interaction, etc.

18 ABC519 10/14/03 18/14 Prototype Model Advantages  Prototype is served as the machinery for identifying requirements.  Is developed very quick. Disadvantages  Customer might think that the prototype is the final product and forget lack of quality i.e PERFORMANCE, RELIABILITY.

19 ABC519 10/14/03 19/14 2.Spiral Model  Iterative (like Prototype) and controlled (like waterfall) model.  Software is developed using evolutionary releases  Software complexity increase with each release

20 ABC519 10/14/03 20/14 Spiral Model  Consist of 6 task regions. –Customer communication - the goal is to establish good communication between customer and developer. –Planning - produce/adjust project plan. –Risk analysis - assess management and technical risks. –Engineering - build one or more representations of the application. –Construction and release - - to construct, test, install and support the application. –Customer evaluation – get customer feedback.

21 ABC519 10/14/03 21/14 Evolutionary Models: The Spiral

22 ABC519 10/14/03 22/14 When to Use the Spiral Model  Very large projects.  When technical skills must be evaluated at each step.

23 ABC519 10/14/03 23/14 Component based development  The process to apply when reuse is a development objective  Evolutionary  COTS are used to build software  Steps: 1.Identify candidate components Design each using and model or OO classes 2.Component integration 3.Architecture 4.Testing

24 ABC519 10/14/03 24/14 CBD  component-based development (CBD) model incorporates many of the iterative characteristics of the spiral model.  The main difference is that in CBD the emphasis is on composing solutions from prepackaged software components or classes

25 ABC519 10/14/03 25/14 Process Models  AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects

26 ABC519 10/14/03 26/14 Unified Process  a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)  Tools are used to describe customer views (use cases)  Used mainly for OO based methodologies  Runs in phases

27 ABC519 10/14/03 27/14 inception The Unified Process (UP) inception elaboration Phase 1 Communication + Planning Phase 2 Planning + Modeling Phase 3 Coding, unit test & integrate Components Phase 4 Deployment result

28 ABC519 10/14/03 28/14 UP Phases

29 ABC519 10/14/03 29/14 UP Work Products

30 ABC519 10/14/03 30/14 BackUp

31 ABC519 10/14/03 31/14 Project  Day Care Center

32 ABC519 10/14/03 32/14 Child Care Center for NCC  Your company has been awarded a contract to develop Child Care Software for Neñios Care Center (NCC). The software should maintain a database of Family, Child, and Payroll information. Users of the software shall have the ability to add/update/delete all information based on their access levels. All employees (teachers, admin staff, etc.) will be identified by a unique login ID and given a default password. The employee first and last name should be stored

33 ABC519 10/14/03 33/14 Child Care Center for NCC  The general requirements for the software are as follows: –Any change in the database (add or update) the user ID and time of change should be stored on the record. –The system must respond to all requests within 20 seconds. –A web-based solution is optional. –The ability for an employee to update the password is optional. –The software shall support the ability to store, update, maintain, and delete of Family & Child Information, Family and Child Billing, and Payroll information as specified in Amendment A.

34 ABC519 10/14/03 34/14 Family and Child Information  Store and track child, parent and family information Data including but not limited to: –Parent names, addresses, phone numbers, addresses, emergency contacts, authorized pick ups, etc. – Child Name, Birth Date, Class, Special Needs, Photo, etc. – Immunization tracking information: recording immunization types, physicals and dates – Classroom Tracking & Scheduling – Classrooms, programs, activities, schedules, etc – Immunization Software, Alerts you when an immunization is needed and prints reports showing immunization dates and immunization due notices for parents. – Waiting List & Potential Customer Tracking

35 ABC519 10/14/03 35/14 Family and Child Information  cont – Daily Reminders, upcoming appointments, contract renewals, etc. – Customer Log Notes, Maintain records of correspondence with parents, child's special needs, incident reports, and more. –Reports: Call Sheets, Sign In & Out Sheets Customer Directories Daily Classroom & Center Enrollment Reports Birthday Lists & Child Age Reports Parent/Child Cross Reference Reports Family Registration Information Immunization Due & History Reports Child Enrollment/Withdrawal Reporting Child Notes & Comments Reports

36 ABC519 10/14/03 36/14 Family and Child Billing  track each family’s balance including their child care billing history of registration fees, tuition charges, family discounts and payments received –Billing History, history of registration fees, tuition charges, family discounts and payments. –Late Fees & Balance Due Notices, late payment fees and print balance due notices to all families who are past due. –Receipt Printing –Reports: Customer Account Balance (Notice) Account Activity Report Billing of tuition based on actual attendance (Attendance Tracking). –Overtime and hourly billing for late pick ups and extra hours

37 ABC519 10/14/03 37/14 Payroll  Pay check, –Calculates pay period hours, determines gross pay, applies all withholdings, and prints checks  Overtime  Withholds and tax information –such as state, federal,FICA  Reports –Employee Earnings Withholdings Summary (W2) –Total Revenue Reports

38 ABC519 10/14/03 38/14 Security  Login is required for all users  Users can be divided into groups and access is granted on a per group basis –for example you may want to allow only the managers group to view, update, or delete payroll information)

39 ABC519 10/14/03 39/14 Backup Sliddes

40 ABC519 10/14/03 40/14 Evolutionary Models: Concurrent State tracking for each framework activity Defines a network of concurrent activities Actions cause state changes in one or more activities action


Download ppt "ABC519 10/14/03 1/14 Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models."

Similar presentations


Ads by Google