Download presentation
Presentation is loading. Please wait.
Published byAlison Shelton Modified over 9 years ago
1
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces, design constraints and information structure that can be allocated to each of the generic system elements available. Systems Engineering Issues Life Cycle of a software product?
2
Software Engineering Introduction and Overview The Phases in Life Cycle of a Software Product? Dr.Ghossoon M. Waleed SaIina M. Lab 2: Systems Engineering Issues Life Cycle of a software product?
3
Software Engineering Introduction and Overview Essence and Accident Inherent Difficulties –Complexity –Conformity –Changeability –Invisibility Essence –difficulties inherent in the nature of software Accidents –difficulties encountered but not inherent Systems Engineering Issues Life Cycle of a software product?
4
Software Engineering Introduction and Overview Software Engineering Processes attempt to maximize QUALITY in the form of: 1.Reliability 2.Portability 3.Efficiency 4.Human Engineering 5.Testability 6.Understandability 7.Modifiability Systems Engineering Issues Life Cycle of a software product?
5
Software Engineering Introduction and Overview Software Engineering Processes Why? Issues concerning software quality Relative costs of fixing faults Price performance factors Product size increase leads to larger teams Systems Engineering Issues Life Cycle of a software product?
6
Software Engineering Introduction and Overview What are the phases in The Life Cycle of a software product? 1.Requirements 2.Specifications 3.Design 4.Implementation 5.Integration 6.Maintenance 7.Retirement Systems Engineering Issues Life Cycle of a software product?
7
Software Engineering Introduction and Overview 1.Requirements Phase “What I need, not what I said I needed” What does the problem require in terms of the solution? Written document Customer driven Requirements testing –Rapid prototype –Mock-up –Partial system Systems Engineering Issues Life Cycle of a software product?
8
Software Engineering Introduction and Overview
9
2. Specifications Phase What the developer wants to know: What does the product do? What are the constraints on the product? Acceptance criteria Frequent problems with a spec: –ambiguous –incomplete –contradictory Specifications testing –SQA –reviews Systems Engineering Issues Life Cycle of a software product?
10
Software Engineering Introduction and Overview 3. Design Phase How does the product do what it is supposed to do? Analysis of the problem –Structured analysis : decomposing problem by how data is manipulated (acted upon) –Object-oriented analysis: decomposing problem by how data is represented Developer must make design decisions about: –algorithms –data representations –I/O interfaces –data flow –modules Design testing –traceability Systems Engineering Issues Life Cycle of a software product?
11
Software Engineering Introduction and Overview
12
4. Implementation Phase Initial CS courses have to focus on this element first Code Documentation Tests Implementation testing –desk checking –test cases –reviews Systems Engineering Issues Life Cycle of a software product?
13
Software Engineering Introduction and Overview 5. Integration Phase Putting it all together Composition order Integration testing –interfaces Testing –does it meet the specs? –product testing by SQA –acceptance testing by customer Systems Engineering Issues Life Cycle of a software product?
14
Software Engineering Introduction and Overview
15
6. Maintenance Phase In the user’s hands Maintenance testing –changes –regression testing Retirement –cost-effective? Why? –operation –documentation –turnover Kinds of maintenance –Corrective –Adaptive –Perfective –Preventive Systems Engineering Issues Life Cycle of a software product?
16
Software Engineering Introduction and Overview
17
7. Specification principles Separate functionality from implementation –A process-oriented systems spec language is required –A spec must encompass the system of which the SW is a component –A spec must encompass the environment in which the system operates –A system spec must be a cognitive model –A spec must be operational –The spec must be tolerant of incompleteness and augmentable –A spec must be localized and loosely coupled Systems Engineering Issues Life Cycle of a software product?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.