Unformatted text preview:

SE 325/425 Principles and Practices of Software Engineering Autumn 2008Today’s AgendaCreating a project “work plan”Deliverable-oriented WBSSlide 5Activity-oriented WBSPlanning processUnits of software sizeEstimation of LOCLOCComputing Function PointsSlide 12The FP Calculation:ComponentsSlide 15Bottom-up estimatingUsing FP to estimate effort:Other estimating techniquesSoftware size estimation formulaeSlide 20Estimating accuracy improves over timeSome famous words from AristotleSlide 23Slide 24Estimating Schedule TimeOne of the primary jobs of a project manager is to manage these tradeoffsSome Courses at DePaulPeople trump processSlide 29What is SE?ArchitectureArchitectural “beauties and beasts”System architectureSystem architecture as a “stack”Slide 35Slide 36Software architectureWhat is software architecture?Architectural stylesTaxonomy of architectural stylesData centeredData flowCall and returnSlide 44Object-Oriented (Component Structure)Deriving a software architecture: Structured approachArchitecture context diagram (ACD)Transform mappingTypical design resulting from transform mappingTransaction MappingTransaction ExampleSlide 52Isolate Flow PathsMap the Flow ModelRefining the Structure ChartBenefits of a well-done software architecturePinkys PizzaSmall Group ActivitySlide 59James Nowotarski16 October 2008SE 325/425Principles and Practices of Software EngineeringAutumn 20082Topic DurationRecap – Project planning 30 minutesSoftware architecture 45 minutes*** BreakCurrent events 15 minutesSoftware architecture (cont.) 90 minutesToday’s Agenda3Creating a project “work plan”Custrequirements1Negotiatereqtsnegotiatedrequirements2Decom-poseworkbreakdownstructure4Estimateresourcesworkmonths3Estimatesizedeliverablesize5DevelopschedulescheduleIterate as necessaryCopyright Copyright © © 2006 The 2006 The McGraw-Hill Companies. All McGraw-Hill Companies. All rights reserved. rights reserved. Deliverable-oriented WBS51. Breaks project into a hierarchy.2. Creates a clear project structure.3. Avoids risk of missing project elements.4. Enables clarity of high level planning.Sample WBS (activity-oriented)Copyright Copyright © © 2006 The 2006 The McGraw-Hill Companies. All McGraw-Hill Companies. All rights reserved. rights reserved. Activity-oriented WBS7Usersrequirements 1Negotiatereqtsnegotiatedrequirements2Decom-poseworkbreakdownstructure4Estimateresourcesworkmonths3Estimatesizedeliverablesize5DevelopschedulescheduleIterate as necessaryproductivity ratePlanning process8Units of software sizeLines of code (LOC)Function points (FP)Components9Estimation of LOCCAD program to represent mechanical partsEstimated LOC = (Optimistic + 4(Likely)+ Pessimistic)/6Major Software Functions Opt-imisticMost LikelyPess-imisticEstimated LOCUser interface and control facilities UICF 1,500 2,300 3,100 2,300Two-dimensional geometric analysis 2DGA 3,800 5,200 7,200 5,300Three-dimensional geometric analysis 3DGA 4,600 6,900 8,600 6,800Database management DBM 1,600 3,500 4,500 3,350Computer graphics display features CGDF 3,700 5,000 6,000 4,950Peripheral control PC 1,400 2,200 2,400 2,100Design analysis modules DAM 7,200 8,300 10,000 8,400Estimated lines of code 23,800 33,400 41,800 33,20010LOC“Lines of code is a useless measurement in the face of code that shrinks when we learn better ways of programming” (Kent Beck)Computing Function PointsMeasurement parameter CountSim-pleAvg Com-plexNumber of user inputs X 3 4 6 =Number of user outputs X 4 5 7 =Number of user inquiriesX 3 4 6 =Number of files X 7 10 15 =Number of external interfacesX 5 7 10 =Count (Unadjusted Function Points) UFP5810821532408010177Calculate Degree of Influence (DI)0 1 2 3 4 5No influenceIncidental Moderate Average Significant Essential1. Does the system require reliable backup and recovery?2. Are data communications required?3. Are there distributed processing functions?4. Is performance critical?5. Will the system run in an existing, heavily utilized operational environment?6. Does the system require on-line data entry?7. Does the on-line data entry require the input transaction to be built over multiple screens or operations?8. Are the master files updated on-line?9. Are the inputs, outputs, files, or inquiries complex?10. Is the internal processing complex?11. Is the code designed to be reusable?12. Are conversion and installation included in the design?13. Is the system designed for multiple installations in different organizations?14. Is the application designed to facilitate change and ease of use by the user?33331443512121The FP Calculation:Inputs include:Count TotalDI =  Fi (i.e., sum of the Adjustment factors F1.. F14) Calculate Function points using the following formula:FP = UFP X [ 0.65 + 0.01 X  Fi ]In this example:FP = 177 X [0.65 + 0.01 X (3+4+1+3+2+4+3+3+2+1+3+5+1+1)FP = 177 X [0.65 + 0.01 X (36)FP = 177 X [0.65 + 0.36]FP = 177 X [1.01]FP = 178.77TCF: Technical complexity factor14ComponentsSimple Medium Hard# Database tables# ReportsEtc.15Usersrequirements 1Negotiatereqtsnegotiatedrequirements2Decom-poseworkbreakdownstructure4Estimateresourcesworkmonths3Estimatesizedeliverablesize5DevelopschedulescheduleIterate as necessaryproductivity ratePlanning process16Bottom-up estimatingEstimate = #units x time per unitFor example, a report design task:10 reports3 hours per reportEstimate = 30 person-hours (aka “workhours”Most projects are estimated in this way, once details are known about unitsUsing FP to estimate effort:If for a certain projectFPEstimated = 372Organization’s average productivity for systems of this type is 6.5 FP/person monthEffortEstimated = ???Burdened labor rate of $8000 per person monthTotal project cost  $???Cost per FP  $???18Other estimating techniquesExpert judgmentAnalogyAlgorithmicGeneral model:E = A + B x (ev)c where E is effort in person monthsA, B, and C are empirically derived constantsev is the estimation variable (either in LOC or FP)19LOC-Oriented Estimation ModelsE = 5.2 X (KLOC)0.91Walston-Felix ModelE = 5.5 + 0.73 X (KLOC)1.16Bailey-Basili ModelE = 3.2 X (KLOC)1.05Boehm simple modelE = 5.288 X (KLOC)1.047Dot Model for KLOC > 9FP-Oriented Estimation ModelsE = -13.39 + 0.0545 FP Albrecht and Gaffney ModelE = 60.62 X 7.728 X 10-8 FP3Kemerer modelE = 585.7 + 15.12 FP Matson, Barnett, Mellichamp modelSoftware size estimation formulae20Top-down vs. Bottom-upCommunication project initiation


View Full Document

DePaul SE 325 - Lecture Notes

Documents in this Course
Load more
Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?