Software Engineering 8 SR 2 Unit III Project






























- Slides: 30
Software Engineering ( 8 SR 2 ) Unit III Project Scheduling: Concepts. Peoples Efforts. Task set, Task network. Scheduling. EV analysis, Project Plan. Software quality concepts. SQ Assurance, Software reviews, technical reviews, software reliability, ISO 900 L, SQA Plan. SCM process. Version control. SCM standard Book Recommended U 1 -1, 2, 3 U 2 -4, 5, 6 U 3 -7, 8, 9 Software Engineering, A Practitioner’s Approach U 4 -10, 11, 13 - Pressman Roger. S. TMH. (Strictly 5 th Ed) Reference Books R 1 Software Engineering Somerville R 2 Software Engineering Fairly R R 3 Principles of Software Development Davis A R 4 Software Engineering Shooman, M. L U 5 -14, 15, 16 U 6 -17, 18, 19 Addison-Wesley (5/e) Mc. Graw Hill
Software Engineering ( 8 SR 2 ) Chapter 7 Project Scheduling and Tracking
Software Engineering ( 8 SR 2 ) Why Are Projects Late? • an unrealistic deadline established by someone outside the software development group • changing customer requirements that are not reflected in schedule changes; • an honest underestimate of the amount of effort and/or the number of resources that will be required to do the job; • predictable and/or unpredictable risks that were not considered when the project commenced; • technical difficulties that could not have been foreseen in advance; • human difficulties that could not have been foreseen in advance; • miscommunication among project staff that results in delays; • a failure by project management to recognize that the project is falling behind schedule and a lack of action to correct the problem
Software Engineering ( 8 SR 2 ) Scheduling Principles • compartmentalization—define distinct tasks • interdependency—indicate task interrelationshipsffort validation—be sure resources are available • defined responsibilities—people must be assigned • defined outcomes—each task must have an output • defined milestones—review for quality
Defining Task Sets • determine type of project • assess the degree of rigor required – identify adaptation criteria – compute task set selector (TSS) value – interpret TSS to determine degree of rigor • select appropriate software engineering tasks
Example
Define a Task Network
Effort Allocation 40 -50% 15 -20% • “front end” activities – – customer communication analysis design review and modification • construction activities – coding or code generation • testing and installation 30 -40% – unit, integration – white-box, black box – regression
Use Automated Tools to Derive a Timeline Chart
Why SQA Activities Pay Off? cost to find and fix a defect 100 60. 00 -100. 00 log scale 10 1 10. 00 1. 00 0. 75 Req. 1. 50 Design 3. 00 test system field use code test
Quality Concepts • general objective: reduce the “variation between samples”. . . but how does this apply to software? • quality control: a series of inspections, reviews, tests • quality assurance: analysis, auditing and reporting activities • cost of quality – appraisal costs – failure costs – external failure costs
Software Quality Assurance SQA Process Definition & Standards Formal Technical Reviews Analysis & Reporting Measurement Test Planning & Review
Reviews & Inspections. . . there is no particular reason why your friend and colleague cannot also be your sternest critic. Jerry Weinberg
What Are Reviews? • a meeting conducted by technical people for technical people • a technical assessment of a work product created during the software engineering process • a software quality assurance mechanism • a training ground
What Reviews Are Not! They are not: a project budget summary a scheduling assessment an overall progress report a mechanism for reprisal or political intrigue!!
The Players review leader standards bearer (SQA) producer maintenance oracle reviewer recorder user rep
Conducting the Review 1. be prepared—evaluate product before the review 2. review the product, not the producer 3. keep your tone mild, ask questions instead of making accusations 4. stick to the review agenda 5. raise issues, don't resolve them 6. avoid discussions of style—stick to technical correctness 7. schedule reviews as project tasks 8. record and report all review results
Review Options Matrix trained leader agenda established reviewers prepare in advance producer presents product “reader” presents product recorder takes notes checklists used to find errors categorized as found issues list created team must sign-off on result IPR * WT IN no maybe no no yes yes no no yes yes yes IPR—informal peer review WT—Walkthrough *IN—Inspection RRR—round robin review RRR yes yes no no yes maybe
Metrics Derived from Reviews inspection time per page of documentation inspection time per KLOC or FP inspection effort per KLOC or FP errors uncovered per reviewer hour errors uncovered per preparation hour errors uncovered per SE task (e. g. , design) number of minor errors (e. g. , typos) number of major errors (e. g. , nonconformance to req. ) number of errors found during preparation
Statistical SQA Product & Process • collect information on all defects • find the causes of the defects • move to provide fixes for the process measurement. . . an understanding of how to improve quality. . .
The “First Law” No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle. Bersoff, et al, 1980
What Are These Changes? changes in business requirements changes in technical requirements changes in user requirements Project Plan other documents software models data Test code
The Software Configuration programs The pieces documents data
Change & SCM Software Engineering tools methods procedures a TQM foundation SCM • • • identification version control change control auditing reporting construction
Change Control STOP
Change Control Process—I need for change is recognized change request from user developer evaluates change report is generated change control authority decides request is queued for action change request is denied user is informed change control process—II
Change Control Process-II assign people to SCIs check-out SCIs make the change review/audit the change establish a “baseline” for testing change control process—III
Change Control Process-III perform SQA and testing activities check-in the changed SCIs promote SCI for inclusion in next release rebuild appropriate version review/audit the change include all changes in release
Auditing Change Requests SCIs SQA Plan SCM Audit
Status Accounting Change Reports Requests ECOs SCIs Status Accounting Reporting