Presentation on theme: "SW Process Models It is a set of activities required to:"— Presentation transcript:
1Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models
2SW Process Models It is a set of activities required to: 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.
3SW 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
4The Waterfall ModelThis Model suggests a systematic, sequential approach to SW development that begins at the system level and progresses through analysis, design, code and testing.
5Waterfall Model Advantages Disadvantages EasyStructuredProvide a template into which methods for analysis, design, code, testing and maintenance can be placed.DisadvantagesSequential, does not reflect realityDoes not allow for feedbackDoes not produce a prototypeUser must wait until the end to see the final program.
6When to use the Waterfall Model Simple ProjectsLimited amount of timeRequirements are well understoodWe can use it for our Class Project.
7Incremental ModelsGoal to provide quick basic functionality to the usersProcess is not linearRequirements are well definedSoftware is completed in an increments fashionWill Study 2 models:Incremental ModelRAD
8Incremental ModelIt combines characteristics of the waterfall model and the iterative nature of the prototyping model.1st build is usually the CORE productEach increment “deliverable” may add a new functionality.This is repeated until the product is complete
9The Incremental Model Communication Planning Modeling Construction Deployment
10When 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
11The Rapid Application Development RAD Model Builds on the Incremental model with emphases on short development cycle.In other words high speed waterfall modelComponents are build using this model as a fully functional units in a relatively short timeIt assumes that the system can be modularizedRAD will fail if you don’t have strong and skillful teamsHigh performance might be an issue
13Evolutionary Process Models Core requirements are well understood but additional requirements are evolving and changing fastTime-to-MarketIterative – software gets more complex with each iterationPrototypeSpiralConcurrent
14Evolutionary SW Process Models AdvantagesDo not require full knowledge of the requirementsIterativeDivide project into buildsAllows feedback, show user something soonerDevelop more complex systems
15Prototyping 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.
17When 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.
18Prototype Model Advantages Prototype is served as the machinery for identifying requirements.Is developed very quick.DisadvantagesCustomer might think that the prototype is the final product and forget lack of quality i.e PERFORMANCE, RELIABILITY.
19Spiral ModelIterative (like Prototype) and controlled (like waterfall) model.Software is developed using evolutionary releasesSoftware complexity increase with each release
20Spiral 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.
22When to Use the Spiral Model Very large projects.When technical skills must be evaluated at each step.
23Component based development The process to apply when reuse is a development objectiveEvolutionaryCOTS are used to build softwareSteps:Identify candidate componentsDesign each using and model or OO classesComponent integrationArchitectureTesting
24CBDcomponent-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
25Process ModelsAOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects
26Unified Processa “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 methodologiesRuns in phases
27The Unified Process (UP) inceptionPhase 1Communication + PlanningPhase 2Planning + ModelingelaborationinceptionPhase 3Coding, unit test & integrate ComponentsresultPhase 4 Deployment
32Child 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
33Child 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.
34Family 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 datesClassroom Tracking & SchedulingClassrooms, programs, activities, schedules, etcImmunization 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
35Family and Child Information contDaily 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 SheetsCustomer DirectoriesDaily Classroom & Center Enrollment ReportsBirthday Lists & Child Age ReportsParent/Child Cross Reference ReportsFamily Registration InformationImmunization Due & History ReportsChild Enrollment/Withdrawal ReportingChild Notes & Comments Reports
36Family and Child Billing track each family’s balance including their child care billing history of registration fees, tuition charges, family discounts and payments receivedBilling 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 PrintingReports: Customer Account Balance (Notice)Account Activity ReportBilling of tuition based on actual attendance (Attendance Tracking).Overtime and hourly billing for late pick ups and extra hours
37Payroll Pay check, Overtime Withholds and tax information Reports Calculates pay period hours, determines gross pay, applies all withholdings, and prints checksOvertimeWithholds and tax informationsuch as state, federal,FICAReportsEmployee Earnings Withholdings Summary (W2)Total Revenue Reports
38Security Login is required for all users Users can be divided into groups and access is granted on a per group basisfor example you may want to allow only the managers group to view, update, or delete payroll information)