Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.

Similar presentations


Presentation on theme: "Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the."— Presentation transcript:

1 Software Engineering II Lecture 1 Fakhar Lodhi

2 Software Engineering - IEEE 1.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.

3 ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production. -Sommerville Software Engineering

4 A software engineer is challenged to produce high-quality software with finite amount of resources and to a predicted schedule and budget.

5 Law of diminishing returns Making the engineering decision! Benefit Cost

6 Software Engineering Software Engineering is not just about producing software, but about producing software in a COST-EFFECTIVE manner.

7 The Balancing Act! Potentially conflicting requirements  Cost vs. Efficiency  Cost vs. Reliability  Efficiency vs. User-interface Challenge is to balance these requirements.

8 Software Development Loop Problem Definition Solution Integration Technical Development Status Quo

9 The name of the game is continuous change and evolution in all dimensions!

10 Well-Engineered Software  Provides the required functionality  Reliable  User-friendly  Cost-effective  Efficient  Maintainable

11 Breakdown of Effort Cost - Software Cost Estimation by Capers Jones No. ActivityEffort 1Requirements3.84% 2Prototyping4.50% 3Architecture2.25% 4Project Plans1.33% 5Initial Design3.84% 6Detailed Design4.50% 7Design Reviews3.02% 8Coding13.50% 9Reuse acquisition1.13% 10Package Purchase1.69% 11Code Inspection4.50% 12Independent V&V5.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%

12 Effort Breakdown Project Management 8.08% Requirements 14.43% Design 11.36% Coding 13.50% SQA 30.64% SCM 13.02% Integration 6.54% Misc. ~3%

13 Software Engineering Practices Software product realization Software project management Software process management Software quality assurance Software configuration management

14 Management Construction project planning and management configuration management quality assurance installation and training etc. Requirements Design Coding Testing Maintenance etc.

15 Quality Focus Process TOOLSTOOLS Task Set Method A Software Engineering Framework

16 Common Process Framework Umbrella Activities Framework Activities TASKS MILESONES, DELIVERABLES SQA POINTS Task Sets

17 The Process A software process is a road map that helps you create a timely, high quality result. It is the way we produce software Provides stability and control Work Product –Programs, documents, and data produced as a consequence of the software engineering activities

18 Process Maturity SEI – Software Engineering Institute 5 maturity levels Capability Maturity Model (CMM)

19 INITIAL – Ad hoc Process REPEATABLE – Project Management DEFINED – Process Definition MANAGED – Process Measurement OPTIMIZED – Process Improvement CMM Maturity Levels

20 Goals Abilities Key Process Areas (KPAs) Methods for monitoring implementation Commitments Activities Methods for verifying implementation

21 Software Configuration Management Software Quality Assurance Software subcontract Management Level 2 KPAs

22 Software project tracking and oversight Software project planning Requirement management Level 2 KPAs - Continued

23 Peer reviews Inter-group coordination Software product Engineering Integrated software management Level 3 KPAs

24 Level 3 KPAs - Continued Training program Organization process management Organization process focus

25 Software quality management Quantitative process management Level 4 KPAs

26 Process change management Technology change management Defect prevention Level 5 KPAs

27 Software Lifecycle Models The way you organize your activities Lifecycle model is a series of steps through which the product progresses

28 1.Vision – focus on why 2.Definition – focus on what 2. Development – focus on how 3. Maintenance – focus on change Software Engineering Phases VisionDefinitionDevelopmentMaintenance


Download ppt "Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the."

Similar presentations


Ads by Google