software engineering overview slides - pan...
TRANSCRIPT
![Page 1: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/1.jpg)
1
Software EngineeringAn Introduction
Fakhar Lodhi
![Page 2: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/2.jpg)
2
EngineeringThe science concerned with putting scientific knowledge to practical use.
Webster’s Dictionary
Physics versus Electrical Engineering
![Page 3: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/3.jpg)
3
Software EngineeringThe science concerned with putting computer science knowledge to practical use.
Computer Science versus Software Engineering
![Page 4: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/4.jpg)
4
Software Engineering - IEEE1. The application of a systematic,
disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
2. The study of approaches as in 1.
One of the largest efforts inSoftware Engineering has been
the design of Ada Programming Language!
![Page 5: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/5.jpg)
5
Breakdown of Effort Cost - Software Cost Estimation by Capers Jones
No. Activity Effort1 Requirements 3.84%2 Prototyping 4.50%3 Architecture 2.25%4 Project Plans 1.33%5 Initial Design 3.84%6 Detailed Design 4.50%7 Design Reviews 3.02%8 Coding 13.50%9 Reuse acquisition 1.13%10 Package Purchase 1.69%11 Code Inspection 4.50%12 Independent V&V 5.42%
13 Configuration Mgt. 0.41%14 Integration 2.71%15 User Documentation 9.67%16 Unit Testing 4.50%17 Function Testing 4.50%18 Integration Testing 3.84%19 System Testing 3.38%20 Beta Testing 3.02%21 Acceptance Testing 1.94%22 Independent Testing 3.38%23 Quality Assurance 4.50%24 Installation and Training 1.94%25 Project Management 6.75%
![Page 6: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/6.jpg)
6
Effort Breakdown of ~10000 Projects - Capers Jones
Project Management 8.08%Requirements 14.43%Design 11.36% Coding 13.50%SQA 30.64%SCM 13.02%Integration 6.54%Misc. ~3%
![Page 7: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/7.jpg)
7
Software Development
Management
Construction
project planning and managementconfiguration managementquality assuranceinstallation and trainingetc.
RequirementsDesignCodingTestingMaintenanceetc.
![Page 8: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/8.jpg)
8
Basic Activities of Software Engineering• defining the software development process to be
used • managing the development project • describing the intended software product • designing the product • implementing the product • testing the parts of the product • integrating the parts and testing them as a whole• maintaining the product
![Page 9: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/9.jpg)
9
The Four P’s of Software EngineeringProject – the task at handPeople – by whom it is doneProcess – the manner it is doneProduct – the artifacts produced
![Page 10: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/10.jpg)
10
Well-Engineered Software• Provides the required functionality• Maintainable• Reliable• Efficient• User-friendly• Cost-effective
![Page 11: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/11.jpg)
11
Well-Engineered Software - contd.
• These requirements may be conflicting:• Cost vs. Efficiency• Cost vs. Reliability• Efficiency vs. User-interface
• Law of diminishing returns.• Challenge is to balance these requirements.
![Page 12: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/12.jpg)
12
Software Life-Cycle ModelsThe way you organize your activitiesThe steps through which the product progresses– Requirements phase– Specification phase– Design phase– Implementation phase– Integration phase– Maintenance phase– Retirement
![Page 13: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/13.jpg)
13
Software Processes Build-and-fix modelWaterfall modelRapid prototyping modelIncremental modelExtreme programmingSynchronize-and-stabilize modelSpiral modelObject-oriented life-cycle modelsComparison of life-cycle models
![Page 14: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/14.jpg)
14
Build and Fix Model
Problems– No specifications– No design
Totally unsatisfactoryNeed life-cycle model– “Game plan” – Phases– Milestones
![Page 15: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/15.jpg)
15
Waterfall Model (contd)Characterized by– With or without feedback
loops– Documentation-driven
Advantages – Documentation– Maintenance easier
Disadvantages– Client feedback
![Page 16: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/16.jpg)
16
Rapid Prototyping Model
Linear model“Rapid”Horizontal versus vertical prototyping
![Page 17: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/17.jpg)
17
Three Key Points Do not turn into productRapid prototyping may replace specification phase—never the design phaseComparison:– Waterfall model—try to get it right first time– Rapid prototyping—frequent change, then
discard
![Page 18: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/18.jpg)
18
Waterfall and Rapid Prototyping ModelsWaterfall model– Many successes– Client needs
Rapid prototyping model– Cannot be used for robust
applicationsSolution– Rapid prototyping for
requirements phase– Waterfall for rest of life
cycle
![Page 19: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/19.jpg)
19
Incremental ModelDivide project into builds
![Page 20: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/20.jpg)
20
Incremental Model (contd)Waterfall, rapid prototyping models– Operational quality complete product at end
Incremental model– Operational quality portion of product within weeks
Less traumaticSmaller capital outlay, rapid return on investmentNeed open architecture—maintenance implicationsVariations used in object-oriented life cycle
![Page 21: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/21.jpg)
21
Incremental Model (contd)Problems– Build-and-fix danger– Contradiction in terms
![Page 22: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/22.jpg)
22
Incremental Model (contd)More risky version—pieces may not fit– CABTAB and its dangers
![Page 23: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/23.jpg)
23
Code a bit, test a bit – CABTABHaphazard undisciplined approach
![Page 24: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/24.jpg)
24
Extreme ProgrammingSomewhat controversial new approachStories (features client wants)Estimate duration and cost of each storySelect stories for next buildEach build is divided into tasksTest cases for task are drawn up firstPair programmingContinuous integration of tasks
![Page 25: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/25.jpg)
25
Extreme Programming
![Page 26: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/26.jpg)
26
Unusual Features of XPComputers are put in center of large room lined with cubiclesPair programming with shared computersClient representative is always presentCannot work overtime for 2 successive weeksNo specializationRefactoring
![Page 27: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/27.jpg)
27
Evaluating XPXP has had some successesGood when requirements are vague or changingToo soon to evaluate XP
![Page 28: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/28.jpg)
28
Dilbert on eXtreme Programming
![Page 29: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/29.jpg)
29
Synchronize-and Stabilize ModelMicrosoft’s life-cycle modelRequirements analysis—interview potential customersDraw up specificationsDivide project into 3 or 4 buildsEach build is carried out by small teams working in parallel
![Page 30: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/30.jpg)
30
Synchronize-and Stabilize Model (contd)
At the end of the day—synchronize (test and debug)At the end of the build—stabilize (freeze build)Components always work together– Get early insights into operation of product
![Page 31: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/31.jpg)
31
Spiral ModelSimplified form– Waterfall model plus risk
analysisPrecede each phase by– Alternatives– Risk analysis
Follow each phase by– Evaluation– Planning of next phase
![Page 32: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/32.jpg)
32
Simplified Spiral ModelIf risks cannot be resolved, project is immediately terminated
![Page 33: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/33.jpg)
33
Full Spiral ModelRadial dimension: cumulative cost to dateAngular dimension: progress through the spiral
![Page 34: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/34.jpg)
34
Full Spiral Model (contd)
![Page 35: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/35.jpg)
35
Analysis of Spiral ModelStrengths– Easy to judge how much to test– No distinction between development,
maintenance
Weaknesses– For large-scale software only – For internal (in-house) software only
![Page 36: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/36.jpg)
36
Object-Oriented Life-Cycle ModelsNeed for iteration within and between phases– Fountain model– Recursive/parallel life cycle– Round-trip gestalt– Unified software development process
All incorporate some form of– Iteration– Parallelism– Incremental development
Danger– CABTAB
![Page 37: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/37.jpg)
37
ConclusionsDifferent life-cycle modelsEach with own strengthsEach with own weaknessesCriteria for deciding on a model include– The organization– Its management– Skills of the employees– The nature of the product
Best suggestion– “Mix-and-match” life-cycle model
![Page 38: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/38.jpg)
38
Quality Assurance?There is NO QA phaseQA is an activity performed throughout software productionVerification– Performed at the end of each phase
Validation– Performed before delivering the product to the client
![Page 39: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/39.jpg)
39
Documentation Phase?There is NO documentation phaseEvery phase must be fully documented before starting the next phase– Postponed documentation may never be completed– The responsible individual may leave– The product is constantly changing—we need the
documentation to do this– The design (for example) will be modified during
development, but the original designers may not be available to document it
![Page 40: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/40.jpg)
40Regression testingChange record
Regression test casesMaintenance
Integration testingAcceptance testing
Source codeTest cases
Integration
TraceabilityReviewTesting
Source codeTest cases
Coding
TraceabilityReview
Architectural DesignDetailed Design
Design
TraceabilityFS ReviewCheck the SPMP
Specification document (specifications)Software Product Management Plan
Functional Specification
Rapid prototypeReviews
Rapid prototype, orRequirements document
RequirementDefinition
QADocumentsPhase
![Page 41: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/41.jpg)
41
Traceability matrix
Test Case ID
Class/ function
UIDUse Case ID
Requirement ID
![Page 42: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/42.jpg)
42
Questions?
![Page 43: Software Engineering overview slides - PAN Localizationpanl10n.net/Presentations/Software_Engineering.pdf · 4 Software Engineering - IEEE 1. The application of a systematic, disciplined,](https://reader033.vdocuments.site/reader033/viewer/2022051718/5a714d1d7f8b9abb538cadc4/html5/thumbnails/43.jpg)
43
Thank you!