Software Engineering - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Software Engineering

Description:

The development of tools, methods, and theories to support ... Computer-Aided Software Engineering. 1998-01 Fayad. UNL CSE M.E. Fayad. L1-S20 Introduction ... – PowerPoint PPT presentation

Number of Views:1839
Avg rating:3.0/5.0
Slides: 25
Provided by: fay6
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering


1
Software Engineering
  • Dr. Mohamed Fayad, Associate Professor
  • Department of Computer Science Engineering
  • University of Nebraska, Lincoln
  • Ferguson Hall, P.O. Box 880115
  • Lincoln, NE 68588-0115
  • http//www.cse.unl.edu/fayad

2
Lesson 1 Introduction
2
3
Lesson Objectives
  • Understand what software engineering is
  • and why it is important
  • Know the answer to key questions which
  • provide an introduction to software
  • engineering
  • Understand ethical and professional issues
  • which are important for software engineers

3
4
What is software?
  • Computer programs and associated documentation.
  • Software products that may be developed for a
    particular customer or may be developed for a
    general market.

4
5
What is software engineering?
  • Software engineering is an engineering discipline
    which is concerned with all aspects of software
    production.
  • Engineering discipline
  • All aspects of software production
  • software development aspects
  • Software project management
  • The development of tools, methods, and theories
    to support software production

5
6
Software Engineering vs. Computer Science
  • Computer Science is concerned with theory and
    fundamentals
  • Software engineering is concerned with the
    practicalities of developing and delivering
    useful software products.

6
7
Software Process
  • Software process is a set of activities Whose
    goal is the development or evolution of software
  • These activities are mostly carried by software
    engineers.
  • There are three level of software process
  • Macro-development process covers monthly to
    yearly activities, such as waterfall model,
    spiral model, or UML which consists of analysis,
    design, coding, and testing.
  • Mini-development process covers a daily to
    weekly activities of a small team of developers,
    such all the activities within one phase of the
    development.
  • Micro-development process covers the daily
    activities of an individual developer, such as
    inspecting a part of a document.

7
8
Software Process Models
  • Software engineering life cycles or phased
    software development models, such as
  • Waterfall model
  • Prototyping
  • Spiral Model
  • Automatic Programming
  • Reuse Models
  • Incremental Model
  • Fountain Model

8
9
Waterfall Model
9
10
Prototyping
10
11
Spiral Model
11
12
AUTOMATIC PROGRAMMING
.
12
13
REUSABLE MODULES
.
13
OTI-93F-0014
14
INCREMENTAL MODEL
.
14
15
FOUNTAIN MODEL
.
Further
Maintenance
Acceptance
Development
into Library
Program
Use
Further
System
Maintenance
Development
Testing
Testing
Coding
Coding
Design
Module
Software
Design
Requirements
Specification
15
Module
Requirements
Specification
Analysis
Henderson-Sellers90
Real-World Systems
Real-World Entity
16
The Cost of Software Engineering
  • Req. Analysis 40
  • Design 20
  • Coding 10
  • Testing 30

16
17
Software Engineering Methods
  • Software engineering methods are structured
    approaches to software development which include
    system models, notations, rules, recommendations,
    design heuristics, and process guidance
  • Examples
  • Structured Analysis (SA) DeMarco 78
  • Object-Oriented Methods, such as OMT Rambaugh,
    et al., 91, and UML Booch, Rambaugh, Jacobson
    99

17
18
Method Components
18
19
Computer-Aided Software Engineering
  • Software tools which are intended to provide
    automated support for software development.
  • CASE tools are often used for method support.
  • There are two types of CASE tools
  • Upper-CASE tools support analysis design
  • Lower-CASE tools support implementation testing

19
20
Essential Attribute of Good Software
  • The software should deliver the required
    functionality and performance to the user and
    should be maintainable, dependable, and usable.
  • Maintainability
  • Dependability
  • Efficiency
  • Usability

20
21
Challenges Facing Software Engineering
  • 1. Software size has outpaced development
    methods.
  • The Delivery Challenge
  • 2. Large software teams are difficult to
    coordinate.
  • The Managerial Challenge
  • 3. Interoperability of multiple systems is
    difficult to test.
  • The Heterogeneity Challenge
  • 4. Upgradeable and maintainable systems are
    difficult to develop.
  • The Legacy Challenge
  • 5. Engineering "high-reliability" software is not
    well understood.
  • The Engineering Challenge
  • 6. Upgrades are often expensive due to regression
    testing.
  • The Business Challenge

21
22
Discussion Questions
  • T/F
  • Software design is part of the software life
    cycle.
  • Software design is part of the software
    maintenance cycle.
  • Define
  • Automatic Programming and Fountain Model
  • What are the differences between a software
    process model and a software process?
  • Identify other problems and challenges that
    software engineering is likely to face in the
    21st century

22
23
Questions for the Next Lecture
  • Define the following terms
  • Methodologies and Paradigm.
  • Method and Process
  • Model and View
  • Technique and Tool
  • Environment
  • Heuristics
  • What are the essential properties of modeling?
  • What are the essential properties of process?
  • What are the differences between a method and a
    process?
  • What are the differences between a model and a
    view?

23
24
Tasks for Next Lecture
  • Task 1 Problem Statement for individual
    assignments are needed (see sample problems on
    the course web site). This is due on the second
    week of the semester.
  • Task 2 Think About a problem statement for your
    team Project (see sample problems on the course
    web site). This is due on the third week of the
    semester.
  • Task 3 Identify the team members of your team.
    E Mail me their names, e-mails, phone numbers.
  • Task 4 Read Chapter 1 Transition to OOSD
  • Please note that problem statements must be
    submitted electronically as MS Word format.

24
Write a Comment
User Comments (0)
About PowerShow.com