Software Engineering Software Engineering 200511357 200511357 1 - - PowerPoint PPT Presentation

software engineering software engineering
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Software Engineering Software Engineering

200511357 조재연 200511357 조재연

slide-2
SLIDE 2

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 컴퓨터공학부 조재연

slide-3
SLIDE 3
slide-4
SLIDE 4

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 컴퓨터공학부 조재연

slide-5
SLIDE 5

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 컴퓨터공학부 조재연

slide-6
SLIDE 6

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 컴퓨터공학부 조재연

slide-7
SLIDE 7

3 1 1 The Waterfall Model 3.1.1 The Waterfall Model

200511357 컴퓨터공학부 조재연

slide-8
SLIDE 8

3.1.2 Incremental Process Models

200511357 컴퓨터공학부 조재연

slide-9
SLIDE 9

The Prototyping paradigm The Prototyping paradigm

200511357 컴퓨터공학부 조재연

slide-10
SLIDE 10

Sprial model Sprial model

200511357 컴퓨터공학부 조재연

slide-11
SLIDE 11

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 컴퓨터공학부 조재연

slide-12
SLIDE 12

The Unified Process The Unified Process

200511357 컴퓨터공학부 조재연

slide-13
SLIDE 13

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 컴퓨터공학부 조재연

slide-14
SLIDE 14

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 컴퓨터공학부 조재연

slide-15
SLIDE 15

The Extreme Programming process

200511357 컴퓨터공학부 조재연

slide-16
SLIDE 16

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 컴퓨터공학부 조재연

slide-17
SLIDE 17

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 컴퓨터공학부 조재연

slide-18
SLIDE 18

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 컴퓨터공학부 조재연

slide-19
SLIDE 19
  • 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 컴퓨터공학부 조재연

slide-20
SLIDE 20

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 컴퓨터공학부 조재연

slide-21
SLIDE 21

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 컴퓨터공학부 조재연

slide-22
SLIDE 22

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 컴퓨터공학부 조재연

slide-23
SLIDE 23

The Design pyramid The Design pyramid

200511357 컴퓨터공학부 조재연

slide-24
SLIDE 24

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 컴퓨터공학부 조재연

slide-25
SLIDE 25

9 Software Engineering Patterns 9.Software Engineering Patterns

  • Process Patterns
  • Analysis Patterns

Analysis Patterns

  • Design Patterns
  • Testing Patterns

200511357 컴퓨터공학부 조재연

slide-26
SLIDE 26
  • 10. The Road Ahead and the

Three rs

  • Reuse
  • Reengineering

Reengineering

  • Retooling

200511357 컴퓨터공학부 조재연

slide-27
SLIDE 27

11 Summary

  • 11. Summary
  • Various questions are asked and

reasked about software engineering. g g

200511357 컴퓨터공학부 조재연