You are on page 1of 18

Module 1: Introduction to

Software Engineering

Lawrence Chung Software Engineering: Introduction 1


Objectives

 What is SE?

 Why SE?

 How to do SE?

Lawrence Chung Software Engineering: Introduction 2


What is SE?

 What is Software?

 What is Engineering?

Lawrence Chung Software Engineering: Introduction 3


Why SE?

“The "software crises" came about when people realized


the major problems in software development were not
algorithmic, but were caused by communication
difficulties and the management of complexity” [Budd]

SE = E: I -> S

E: I -> S
E: I -> S

Lawrence Chung Software Engineering: Introduction 4


How to do SE?

SE = E: I -> S

E: I -> S
E: I -> S

 BCFH – languages, models, tools, processes,


methodologies, …

Lawrence Chung Software Engineering: Introduction 5


How to Do SE?

Software Lifecycle Review


Systems Engineering

Quality Assurance
Requirements Analysis

Project Planning
Maintenance
Architectural Design

Detailed Design

Implementation

Release

Lawrence Chung Software Engineering: Introduction 6


How to do SE?

Lawrence Chung Software Engineering: Introduction 7


How to do SE?

Lawrence Chung Software Engineering: Introduction 8


How to do SE?

Lawrence Chung Software Engineering: Introduction 9


How to do SE?

Lawrence Chung Software Engineering: Introduction 10


How to do SE?

Lawrence Chung Software Engineering: Introduction 11


How to do SE?

Lawrence Chung Software Engineering: Introduction 12


How to do SE?

Lawrence Chung Software Engineering: Introduction 13


How to do SE?

Lawrence Chung Software Engineering: Introduction 14


How to do SE?

Lawrence Chung Software Engineering: Introduction 15


How to do SE?

 News Groups:
comp.software-eng
comp.software.testing

 Professional Organizations:
IEEE: TSE, ICSE, ICRE, …
ACM: TOSEM

Lawrence Chung Software Engineering: Introduction 16


Introduction to SE - Summary

Why
 Software Crisis due to Communication and Complexity
 Inherent complexity

What
 Engineering (large) software, bcfh

How
 BCFH languages, concepts, models, tools

Lawrence Chung Software Engineering: Introduction 17


Introduction to SE - Points to Ponder

1. Programming = software engineering?


2. What does BCFH really mean? Can you define it
completely?
3. What are the similarities, and differences, between
Civil Engineering and Software Engineering?
4. What are the differences between a notation and a
methodology?
5. Can we use C# for analysis?
6. Can you prove you and I communicate with each other
perfectly?
7. Are you a scientist or an engineer?

Lawrence Chung Software Engineering: Introduction 18

You might also like