Lecture 1 - Introduction To Software Engineering PDF
Lecture 1 - Introduction To Software Engineering PDF
What is Software
Engineering?
Abdisalam Issa-Salwe
Contents
1.1 What is Software Engineering?
1.2 How Successful Have We Been?
1.3 What Is Good Software?
1.4 Who Does Software Engineering?
1.5 A System Approach
1.6 An Engineering Approach
1.7 Members of the Development Team
1.8 How Has Software Engineering Changed?
1.9 Information System Example
1.10 Real Time Example
1.11 What this Chapter Means for You
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
1
Objectives
What we mean by software engineering
Software engineering’s track record
What we mean by good software
Why a system approach is important
How software engineering has changed since
1970s
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
2
1.1 What is Software Engineering
Solving Problems (cont...)
The analysis process
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
3
1.1 What is Software Engineering
Solving Problems (cont...)
Method: refers to a formal procedure; a formal
“recipe” for accomplishing a goal that is typically
independent of the tools used
Tool: an instrument or automated system for
accomplishing something in a better way
Procedure: a combination of tools and
techniques to produce a product
Paradigm: philosophy or approach for building a
product (e.g., OO vs. structured approaches)
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
4
1.1 What is Software Engineering
Where Does the SW Engineer Fit in? (cont...)
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
5
1.3 What Is Good Software?
Sidebar 1.2 Perspective on Quality
The transcendental view: quality is something
we can recognize but not define
The user view: quality is fitness for purpose
The manufacturing view: quality is
conformance to specification
The product view: quality tied to inherent
product characteristics
The value-based view: depends on the amount
the customers is willing to pay for it
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
6
1.3 What Is Good Software?
The Quality of the Product
Users judge external characteristics (e.g.,
correct functionality, number of failures, type of
failures)
Designers and maintainers judge internal
characteristics (e.g., types of faults)
Thus different stakeholders may have different
criteria
Need quality models to relate the user’s external
view to developer’s internal view
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
7
1.3 What Is Good Software?
The Quality of the Process
Quality of the development and maintenance
process is as important as the product quality
The development process needs to be modeled
Modeling will address questions such as
Where to find a particular kind of fault
How to find faults early
How to build in fault tolerance
What are alternative activities
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
8
1.3 What Is Good Software?
The Quality of the Context of the Business Environment
Industry’s definition of ROI
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
9
1.4 Who Does Software Engineering?
(cont...)
Participants (stakeholders) in a software
development project
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
10
1.5 System Approach
The Element of a System
Activities and objects
An activity is an event initiated by a trigger
Objects or entities are the elements involved
in the activities
Relationships and the system boundaries
A relationship defines the interaction among
entities and activities
System boundaries determine the origin of
input and destinations of the output
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
11
1.5 System Approach
The Element of a System (cont...)
A computer system must also be clearly
described: System definition of a paycheck
production
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
12
1.5 System Approach
Interrelated Systems (cont...)
A layered system
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
13
1.7 Members of the Development Team
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
14
1.8 How Has Software Engineering Changed?
The Nature of the Change
Before 1970s
Single processors: mainframes
Designed in one of two ways
as a transformation: input was converted
to output
as a transaction: input determined which
function should be performed
After 1970s
Run on multiple systems
Perform multi-functions
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
15
1.8 How Has SE Changed?
Wasserman's Discipline of Software Engineering
Abstractions
Analysis and design methods and notations
User interface prototyping
Software architecture
Software process
Reuse
Measurement
Tools and integrated environments
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
16
1.8 How Has SE Changed?
Analysis and Design Methods and Notations
Provide documentation
Facilitate communication
Offer multiple views
Unify different views
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
17
1.8 How Has SE Changed?
Software Architecture
A system’s architecture describes the system in
terms of a set of architectural units and
relationships between these units
Architectural decomposition techniques
Modular decomposition
Data-oriented decomposition
Event-driven decomposition
Outside-in-design decomposition
Object-oriented decomposition
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
18
1.8 How Has SE Changed?
Software Process (cont...)
Pictorial representation of differences in
development processes
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
19
1.8 How Has SE Changed?
Measurement
Objective: describe quality goals in a quantitative
way
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
20
1.9 What this Chapter Means for You
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
Group discussion
Department of Computer Science, Faculty of Information Science and Technology, East Africa University
21