SE 616 – Introduction to Software Engineering

Lecture 1

The Software Product

What is Software?

Software is a set of items or objects that form a "configuration" that includes

Who Creates Software?

Why is Software Important?

How is Software Built?

By applying a structured process.

What are the Work Products?

Dual Role of Software

Questions Asked of Software Engineers

Description: C:\Webstuff\SE616\L12\Image1.gif

Software Characteristics

Software Custom Built

The Cost of Change

Description: C:\Webstuff\SE616\L12\Image2.gif

Software Applications

System Software

Real-time Programs

Business Software

Engineering and Scientific Software

Embedded Software

PC Software

Web-based Software

AI Software

Software Engineering Challenges

The Software Process

What is the software process?

Why is the software process important?

What are the steps in the software process?

What are the software work products?

How do I ensure that the process is done correctly?


Software Engineering Definition:

  1. The establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines.
  2. (1)The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. The study of approaches, as in (1).

Process, Methods and Tools.

Description: C:\Webstuff\SE616\L12\Image3.gif

Generic View of SE

  1. What is the problem to be solved?
  2. What characteristics of entity are used to solve problem?
  3. How will entity and solution be realized?
  4. What approaches will be used to uncover errors during design and construction?
  5. How will entity be supported over long term?

SE: Three Generic Phases

  1. Definition Phase – What.
  1. Development Phase – How
  1. Support Phase – Change

Umbrella Activities.

Software Process.

Common Process Framework

Description: C:\Webstuff\SE616\L12\Image4.gif

SEI Capability Maturity Model (CMM)

Key process areas (KPA) connected with each maturity level (SEI).

Software Process Models.

General Problem Solving Process

Description: C:\Webstuff\SE616\L12\Image5.gif


Framework activities will always be applied on every project ... BUT the tasks (and degree of rigor) for each activity will vary based on:

Linear Sequential Model

Description: C:\Webstuff\SE616\L12\Image6.gif

Prototyping Model

Description: C:\Webstuff\SE616\L12\Image7.gif

RAD Model – Rapid Application Development

Description: C:\Webstuff\SE616\L12\Image8.gif

Characteristics:


Information flow modeled: who, what, where info comes and goes.


Information transformed to data objects.


Data objects transformed

4GL methods used.

Reuses modules.

Concerns:


Incremental Model

Description: C:\Webstuff\SE616\L12\Image9.gif

Spiral Model

Description: C:\Webstuff\SE616\L12\Image10.gif