Software Engineering Software Engineering 200511357 200511357 1 - - PowerPoint PPT Presentation
Software Engineering Software Engineering 200511357 200511357 1 - - PowerPoint PPT Presentation
Software Engineering Software Engineering 200511357 200511357 1 Software Engineering 1.Software Engineering The establishment and use of sound engineering principles in order to obtain g g p p economically software
1 Software Engineering 1.Software Engineering
- The establishment and use of sound
engineering principles in order to obtain g g p p economically software that is reliable and works efficiently on real machines and works efficiently on real machines.
- A Layered technology
- Process layer
- “how to’s” for building software
- how to s for building software
- Automated or semiautomated support
200511357 컴퓨터공학부 조재연
2 A Process Framework
- 2. A Process Framework
- Generic process Framework
– Communication Communication – Planning Modeling – Modeling – Construction – Deployment
- That can be used during the
That can be used during the development of small, simple program.
200511357 컴퓨터공학부 조재연
2 A Process Framework
- 2. A Process Framework
- Typical activities
– Software project tracking and control – Risk management – Software quality assurance Software quality assurance – Formal technical reviews – Measurement Measurement – Software Configuration management Reusability management – Reusability management – Work product preparation and production
200511357 컴퓨터공학부 조재연
3 Software Process Model
- 3. Software Process Model
- Incorporates a development strategy that
encompassed the process, methods, and tools layers described earlier.
- Prescriptive Models
– The Waterfall Model – Incremental Process Models – Evolutionary Process Models – Specialized Process Models Speciali ed Process Models – The Unified Process
200511357 컴퓨터공학부 조재연
3 1 1 The Waterfall Model 3.1.1 The Waterfall Model
200511357 컴퓨터공학부 조재연
3.1.2 Incremental Process Models
200511357 컴퓨터공학부 조재연
The Prototyping paradigm The Prototyping paradigm
200511357 컴퓨터공학부 조재연
Sprial model Sprial model
200511357 컴퓨터공학부 조재연
Specialized Process Models Specialized Process Models
- This model tend to be applied when defined
software engineering approach is chosen.
- Component-Based Development
– Component provide targeted functionality p p g y
- The Formal Method Model
– A set of activities that lead to formal mathematical A set of activities that lead to formal mathematical specification of computer Software
- Aspect Oriented Software Development
Aspect Oriented Software Development
200511357 컴퓨터공학부 조재연
The Unified Process The Unified Process
200511357 컴퓨터공학부 조재연
3 2 Agile Software Development 3.2 Agile Software Development
- Through this work we have come to
value.
– Individuals and interactions over process and tools and tools – Working software over comprehensive documentation documentation – Customer collaboration over contract ti ti negotiation – Responding to change over Following plan
200511357 컴퓨터공학부 조재연
3 2 Agile Software Development 3.2 Agile Software Development
- Key assumptions about the majority of
software projects: p j
– It is difficult to predict in advance which software requirements will persist and software requirements will persist and which will change. For many types of software design and – For many types of software, design and construction are interleaved. A l i d i t ti d t ti – Analysis, design, construction, and testing are not as predicable as we might like.
200511357 컴퓨터공학부 조재연
The Extreme Programming process
200511357 컴퓨터공학부 조재연
4 The Management Spectrum 4.The Management Spectrum
- People>Problem>Process
– People
- Recruiting, selection, performance management, training,
compensation, career development, organization, and team and culture development team and culture development
– The Problem
- The software developer and customer must to define
project objectives and scope.
– The Process
- The Capability Maturity Model Integration (CMMI)
200511357 컴퓨터공학부 조재연
5 Software Project Management
- 5. Software Project Management
- Measurement and Metrics
- Project Estimating
Project Estimating
– Effort estimation techniques Si O i d E i i – Size-Oriented Estimation – Empirical Models
- Risk Analysis
Scheduling
- Scheduling
- Tracking and Control
200511357 컴퓨터공학부 조재연
6 Software Quality Assurance 6.Software Quality Assurance
C t
- Correctness
- Reliability
I t it
- Integrity
- Efficiency
U bilit
- Usability
- Maintainability
Fl ibilit
- Flexibility
- Testability
R bilit
- Reusability
- Interoperability
200511357 컴퓨터공학부 조재연
- 7. Software Configuration
Management
- Identify changes
- Control changes
Control changes
- Ensure that changes are being properly
i l d implemented
- Report changes to others who may have
Report changes to others who may have an interest
200511357 컴퓨터공학부 조재연
8 The Technical Spectrum
- 8. The Technical Spectrum
- Software Engineering Methods
– Conventional software engineering Conventional software engineering methods – Object-oriented approaches Object oriented approaches – Formal methods
200511357 컴퓨터공학부 조재연
8 2 Problem Definition 8.2 Problem Definition
- Analysis Principles
– The data domain of the problem must be modeled. – The functional domain of the problem must be modeled – The behavior of the problem must be modeled. – Model of data, function, and behavior must be i i d partitioned – The overriding trend in analysis is from essence t d i l t ti toward implementation
200511357 컴퓨터공학부 조재연
8 2 Problem Definition 8.2 Problem Definition
- Analysis Methods
– Scenario-based elements Scenario based elements – Class-based elements Behavioral elements – Behavioral elements – Flow-oriented elements
200511357 컴퓨터공학부 조재연
The Design pyramid The Design pyramid
200511357 컴퓨터공학부 조재연
8 5 Software Testing 8.5 Software Testing
Obj i
- Objectives
– Testing is a process of executing a program with the intent of finding an error the intent of finding an error – A good test case is one that has a high probability
- f finding an as-yet-undiscovered error
- f finding an as yet undiscovered error
– A successful test is one that uncovers as-yet- undiscovered error
- Strategy
- Tactics
– Black box testing – White box testing
200511357 컴퓨터공학부 조재연
9 Software Engineering Patterns 9.Software Engineering Patterns
- Process Patterns
- Analysis Patterns
Analysis Patterns
- Design Patterns
- Testing Patterns
200511357 컴퓨터공학부 조재연
- 10. The Road Ahead and the
Three rs
- Reuse
- Reengineering
Reengineering
- Retooling
200511357 컴퓨터공학부 조재연
11 Summary
- 11. Summary
- Various questions are asked and
reasked about software engineering. g g
200511357 컴퓨터공학부 조재연