ENGI 7893 - Fundamentals and Team Structure
ENGI 7893 - Fundamentals and Team Structure p.1/14
What is Software Engineering?
The application of engineering to software [Ghezzi]
ENGI 7893 - Fundamentals and Team Structure p.2/14
Memorial University of Newfoundland
Instructor Andrew Vardy, avardy AT engr.mun.ca, EN-3030, 737-4596.
Web page www.engr.mun.ca/avardy/courses/se
Oce hours My ocial oce hours will overlap the lab period
A Quick Introduction
Engineering 7893: Software Engineering
June 27, 2005
Lessons from Robotics
if ( targetX > x )
ENGI 7893 - Software Lifecycle Models
ENGI 7893 - Software Lifecycle Models p.1/17
We need to understand the steps that take us from an
idea to a product:
What do we do?
ENGI 7893 - Software Lifecycle Models p.2/17
ENGI 7893 - Common Design Patterns Used (or Misused)
in the SPD
From (Gamma et al, 1995)
ENGI 7893 - Common Design Patterns Used (or Misused) in the SPDFrom (Gamma et al, 1995) p.1/14
Use when you must have a single instance of some
ENGI 7893 - Verication
ENGI 7893 - Verication p.1/14
Any activity that is undertaken to determine if the system
meets its objectives or not
(Ghezzi et al)
ENGI 7893 - Verication p.2/14
(Ghezzi et al)
Every product should
The Unied Modelling
The Unied Modelling Language
What is the UML
Software systems are complex. We need simpler views of
them in order to master that complexity.
UML is a language for visual modelling.
Software Requirements Engineering
Sofware Requirements Engineeing
Three main tasks in RE:
1 Elicit nd out what the customers really want.
Identify stakeholders, their goals and viewpoints.
Document write it down (Requirements S
ENGI 7893 - Software Qualities
ENGI 7893 - Software Qualities p.1/9
What is a good design?
What is a good implementation?
What characterizes good software?
Dening a set of software qualities allows us to be
more specic abou