0% found this document useful (0 votes)
49 views

Introduction To Software Engineering (2/2)

This document discusses an introduction to software engineering course. It covers topics like the software development process, sources of errors in software development, requirements analysis, the scope of software engineering including historical, economic, maintenance, specification and design aspects, and team programming. It also discusses special domains like embedded systems and compares software characteristics across different domains.

Uploaded by

pooja kutty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Introduction To Software Engineering (2/2)

This document discusses an introduction to software engineering course. It covers topics like the software development process, sources of errors in software development, requirements analysis, the scope of software engineering including historical, economic, maintenance, specification and design aspects, and team programming. It also discusses special domains like embedded systems and compares software characteristics across different domains.

Uploaded by

pooja kutty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Introduction to Software

Engineering (2/2)
Moonzoo Kim
CS Division, EECS Dept.
KAIST

CS550 Intro. to SE (slides from CS550 ‘06 taught by prof. D. Bae)


Spring 2007
Software Development Process

A SW Development Framework for SW with High Assurance

Requirement System Design Implement- Testing Monitoring


analysis design analysis ation

Formal Model- Runtime


Formal Model Model-
require- assisted monitoring
ment
system analysis/ based
code and
modeling verification testing
Spec. generation checking

CS550 Intro. to SE 2
Spring 2007
Sources of Errors in S/W
Developments
Functionality &
Logic design Misunderstanding
& Misunderstanding 15%
20%

Documentation
& Others 35%

Coding
30%

CS550 Intro. to SE 3
Spring 2007
Ex. Requirement on Retail Chain
Management Software

„ Find ambiguous points in the following


requirement
„ If the sales for the current month are below
the target sales, then a report is to be printed,
„ unless the difference between target sales and
actual sales is less than half of the difference
between target sales and actual sales in the
previous month
„ or if the difference between target sales and actual
sales for the current month is under 5 percent.

CS550 Intro. to SE 4
Spring 2007
Scope of S/W Engineering

„ Historical Aspects
„ Economic Aspects
„ Maintenance Aspects
„ Specification & Design Aspects
„ Team Programming Aspects

CS550 Intro. to SE 5
Spring 2007
Historical Aspects

„ 1967, A NATO group coined the term " Software


Engineering"
„ 1968, NATO conference concluded that software
engineering should use the philosophies and paradigms
of established engineering disciplines, to solve the
problem of software crisis

CS550 Intro. to SE 6
Spring 2007
Economic Aspects

„ Relationship between computer science and software


engineering
„ cf: chemistry and chemical engineering

„ Software engineer is intended in only those techniques


which make sound economic sense, while computer
scientists investigate a variety of ways of producing
software, some good and some bad

CS550 Intro. to SE 7
Spring 2007
Maintenance Aspects

Maintenance
67 %
Requirements 3%
Specification 4%
Planning 2%
Design 6%

Module coding 5%

Module Testing 7%
Integration 6%

CS550 Intro. to SE 8
Spring 2007
Specification and Design Aspects

Requirements

Specification
Planning

Design
Implementation

Integration

Maintenance

0 50 100 150 200 250


Approximate relative cost
CS550 Intro. to SE
to detect and correct a fault
9
Spring 2007
Team Programming Aspect

„ Parnas, "Multi-person construction of multiversion


software."
„ Programming : personal activity
„ S/W engineering : team activity

CS550 Intro. to SE 10
Spring 2007
Team Programming Aspect (Cont.)
(From programming to sw engineering)
„ Programming in early days
„ The problem is well understood.
„ Mostly scientific applications.
„ By a person, who is an expert in that area.
„ User = programmer = maintainer

„ User and programmer separation


„ User: specify the problem(tasks)
„ Programmer: interpret and translate into code

CS550 Intro. to SE 11
Spring 2007
Team Programming Aspect (Cont.)
„ Team project started in late 1960's
„ IBM360 Operating system
„ Software crisis observed
„ ``Software Engineering'' coined
„ Solutions to software crisis
„ Management techniques
„ Team organization
„ Chief programmer team
„ Democratic team
„ Hierarchical team
„ Better languages and tools
„ Standards
„ ==> Applying engineering approach

CS550 Intro. to SE 12
Spring 2007
Team Programming Aspect (Cont.)

„ Requirements in the programming-in-the-small


„ Good programming skill
„ Skilled in data structures and algorithms
„ Fluent in programming languages
„ Requirements in the programming-in-the large
„ Needs communication skills and interpersonal skills
„ Be familiar with design approaches
„ Be able to translate vague requirements and desires into precise
spec.
„ Be able to build and use a model of the application
„ Needs ability to schedule work

CS550 Intro. to SE 13
Spring 2007
Three Elements of S/W Development

Process

Technology Resources

Quality/Productivity
Improvement

Product
Product Product
CS550 Intro. to SE 14
Spring 2007
Special Software
Domain:Commercial
Electronics and
Embedded System

CS550 Intro. to SE
Spring 2007
What’s Different About Embedded
Systems
„ Embedded systems have different design constraints
than general purpose systems
„ Cost may matter more than speed
„ Long life cycle may dominate design decision
„ Reliability/safety may constraint design choice
„ Because applications are often unique, software
development may wait for hardware to become available
„ need for simulator/emulators/etc
„ Time to market constraints
„ Rapid redesign for changing form factors
„ Rapid redesign for changing control algorithms

CS550 Intro. to SE 16
Spring 2007
Software Characteristics by Domain

„ Ordinary IT Software System(e.g. systems developed by


SI organizations)
„ Size : Very Large
„ Domain consistency: Low
„ New technology sensitivity: High
„ Hardware dependency: Low
„ Time-to-market pressure: Low

CS550 Intro. to SE 17
Spring 2007
Software Characteristics by Domain

„ Commercial Software(e.g. systems developed by


software vendors)
„ Size : Large
„ Domain consistency: High
„ New technology sensitivity: High
„ Hardware dependency: Low
„ Time-to-market pressure: Moderate

CS550 Intro. to SE 18
Spring 2007
Software Characteristics by Domain

„ Controller Systems/Automation Systems


„ Size : Medium
„ Domain consistency: High
„ New technology sensitivity: Low
„ Hardware dependency: Moderate
„ Time-to-market pressure: Moderate

CS550 Intro. to SE 19
Spring 2007
Software Characteristics by Domain

„ Embedded Systems /Commercial Electronics


„ Size : Small
„ Domain consistency: High
„ New technology sensitivity: High
„ Hardware dependency: High
„ Time-to-market pressure: High

CS550 Intro. to SE 20
Spring 2007
Software Engineering Applicability

„ In general, Controller Systems/Automation Systems and


Embedded Systems /Commercial Electronics can give
much higher rewards for software engineering activity
„ Domain consistency is high and new technology sensitivity is low
„ Ease of accumulating empirical data
„ High reusability in accumulated developments assets(e.g.
requirements specification, domain model, test cases, modules)
„ Ease of continuous improvement

CS550 Intro. to SE 21
Spring 2007
General Obstacles

„ Hardware dependency is high


„ Software development may wait for hardware to become
available
„ Product line engineering may be helpful
„ Confident testing environment is not supported even until
complete hardware is ready
„ May need for effective simulator/emulator for testing
„ Time-to-market pressure is high
„ High schedule pressure causes difficulties in software
engineering activities
„ Overcome the hardware dependency as much as possible
„ Set up process to reduce redundant time consumption
„ Asset reuse

CS550 Intro. to SE 22
Spring 2007

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy