software engineering.ppt [호환 모드] -...

27
Software Engineering Software Engineering 200511357 조재연 200511357 조재연

Upload: others

Post on 27-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

Software EngineeringSoftware Engineering

200511357 조재연200511357 조재연

Page 2: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

1 Software Engineering1.Software Engineering

• The establishment and use of sound engineering principles in order to obtain g g p peconomically software that is reliable and works efficiently on real machinesand 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 컴퓨터공학부 조재연

Page 3: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt
Page 4: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

2 A Process Framework2. A Process Framework

• Generic process Framework

– CommunicationCommunication

– Planning

Modeling– Modeling

– Construction

– Deployment

• That can be used during theThat can be used during the development of small, simple program.

200511357 컴퓨터공학부 조재연

Page 5: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

2 A Process Framework2. A Process Framework

• Typical activities– Software project tracking and control

– Risk management

– Software quality assuranceSoftware quality assurance

– Formal technical reviews

– MeasurementMeasurement

– Software Configuration management

Reusability management– Reusability management

– Work product preparation and production

200511357 컴퓨터공학부 조재연

Page 6: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

3 Software Process Model3. 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 ModelsSpeciali ed Process Models

– The Unified Process

200511357 컴퓨터공학부 조재연

Page 7: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

3 1 1 The Waterfall Model3.1.1 The Waterfall Model

200511357 컴퓨터공학부 조재연

Page 8: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

3.1.2 Incremental Process Models

200511357 컴퓨터공학부 조재연

Page 9: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

The Prototyping paradigmThe Prototyping paradigm

200511357 컴퓨터공학부 조재연

Page 10: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

Sprial modelSprial model

200511357 컴퓨터공학부 조재연

Page 11: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

Specialized Process ModelsSpecialized Process Models

• This model tend to be applied when defined software engineering approach is chosen.

• Component-Based Development– Component provide targeted functionalityp p g y

• The Formal Method Model– A set of activities that lead to formal mathematicalA set of activities that lead to formal mathematical

specification of computer Software

• Aspect Oriented Software DevelopmentAspect Oriented Software Development

200511357 컴퓨터공학부 조재연

Page 12: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

The Unified ProcessThe Unified Process

200511357 컴퓨터공학부 조재연

Page 13: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

3 2 Agile Software Development3.2 Agile Software Development

• Through this work we have come to value.

– Individuals and interactions over process and toolsand tools

– Working software over comprehensive documentationdocumentation

– Customer collaboration over contract ti tinegotiation

– Responding to change over Following plan

200511357 컴퓨터공학부 조재연

Page 14: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

3 2 Agile Software Development3.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 andsoftware 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 컴퓨터공학부 조재연

Page 15: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

The Extreme Programming process

200511357 컴퓨터공학부 조재연

Page 16: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

4 The Management Spectrum4.The Management Spectrum

• People>Problem>Process– People

• Recruiting, selection, performance management, training, compensation, career development, organization, and team and culture developmentteam 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 컴퓨터공학부 조재연

Page 17: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

5 Software Project Management5. Software Project Management

• Measurement and Metrics

• Project EstimatingProject Estimating

– Effort estimation techniques

Si O i d E i i– Size-Oriented Estimation

– Empirical Models

• Risk Analysis

Scheduling• Scheduling

• Tracking and Control

200511357 컴퓨터공학부 조재연

Page 18: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

6 Software Quality Assurance6.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 컴퓨터공학부 조재연

Page 19: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

7. Software Configuration Management

• Identify changes

• Control changesControl changes

• Ensure that changes are being properly i l dimplemented

• Report changes to others who may haveReport changes to others who may have an interest

200511357 컴퓨터공학부 조재연

Page 20: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

8 The Technical Spectrum8. The Technical Spectrum

• Software Engineering Methods

– Conventional software engineeringConventional software engineering methods

– Object-oriented approachesObject oriented approaches

– Formal methods

200511357 컴퓨터공학부 조재연

Page 21: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

8 2 Problem Definition8.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 dpartitioned

– The overriding trend in analysis is from essence t d i l t titoward implementation

200511357 컴퓨터공학부 조재연

Page 22: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

8 2 Problem Definition8.2 Problem Definition

• Analysis Methods

– Scenario-based elementsScenario based elements

– Class-based elements

Behavioral elements– Behavioral elements

– Flow-oriented elements

200511357 컴퓨터공학부 조재연

Page 23: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

The Design pyramidThe Design pyramid

200511357 컴퓨터공학부 조재연

Page 24: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

8 5 Software Testing8.5 Software Testing

Obj i• Objectives– Testing is a process of executing a program with

the intent of finding an errorthe intent of finding an error

– A good test case is one that has a high probability of finding an as-yet-undiscovered errorof 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 컴퓨터공학부 조재연

Page 25: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

9 Software Engineering Patterns9.Software Engineering Patterns

• Process Patterns

• Analysis PatternsAnalysis Patterns

• Design Patterns

• Testing Patterns

200511357 컴퓨터공학부 조재연

Page 26: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

10. The Road Ahead and the Three rs

• Reuse

• ReengineeringReengineering

• Retooling

200511357 컴퓨터공학부 조재연

Page 27: Software Engineering.ppt [호환 모드] - Konkukdslab.konkuk.ac.kr/Class/2008/08SMA/Presentation/Class B... · 2012. 9. 13. · Title: Microsoft PowerPoint - Software Engineering.ppt

11 Summary11. Summary

• Various questions are asked and reasked about software engineering. g g

200511357 컴퓨터공학부 조재연