1-Introduction To Software Engineering
1-Introduction To Software Engineering
Chapter 1: Introduction to
Software Engineering
Chapter 1 in Software Engineering Book
2
Overview
Learning Objectives.
Activity
Virtually all countries
depend on complex
Think about all the devices and systems computer-based
.systems
that you encounter in your everyday
life which have software controlling
…them
Projects were:
• Late.
• Over budget.
• Unreliable.
• Difficult to maintain.
• Performed poorly.
6
Software Crisis
Example 1: 2009,Computer glitch delays flights
Software Crisis
Example 2: Ariane 5 Explosion
Software Crisis
Example 3: 1992, London Ambulance Service
•Overloaded problem.
•46 deaths.
10
Therefore…
A well-disciplined approach to software
development and management is
necessary. This is called engineering.
11
What is Software?
System
Documentation
User
Documentation
16
Types of Software
• Generic products.
• Stand-alone systems that are marketed and sold to any customer who wishes to buy
them.
• Examples – PC software such as graphics programs, project management tools;
CAD software; software for specific markets such as appointments systems for
dentists.
• The specification of what the software should do is owned by the software developer
and decisions on software change are made by the developer.
Types of Software
1. System Software
This type of software includes operating systems like Windows, macOS, and Linux,
which manage computer hardware and provide a platform for running other software
applications.
2. Real-time Software
Real-time software is designed to respond to inputs or events within a predetermined
time frame. Unlike traditional software, which may prioritize throughput or completion
time, real-time software emphasizes meeting strict timing requirements to ensure
timely responses to external stimuli.
3. Embedded Software
This type of software is embedded within hardware devices and controls their
operation. Examples include firmware in consumer electronics, control software in
industrial machinery, and software in automotive systems.
18
Types of Software
4. Enterprise Software
Enterprise software is designed to support the needs of organizations and
businesses. Examples include enterprise resource planning (ERP) systems,
customer relationship management (CRM) software, and business intelligence (BI)
tools.
5. Game Software
Game software is specifically designed for entertainment purposes and includes
video games, simulations, and virtual reality (VR) applications.
6. Application Software
These are software programs designed to perform specific tasks or provide specific
functionality for users. Examples include word processors, web browsers, email
clients, and multimedia players.
19
Types of Software
7. Utility Software
Utility software provides additional functionality to enhance system performance or
perform specific tasks. Examples include antivirus programs, disk cleanup utilities,
file compression tools, and backup software.
Depends on:
The process used, and
The type of software being developed.
Usability: The software should be intuitive and easy to use, with a user
interface that is clear, understandable, and responsive to user interactions.
24
Security: The software should protect sensitive data, resources, and functionalities
from unauthorized access, manipulation, or breaches, adhering to best practices for
security and privacy.
Portability: The software should be able to run on different hardware platforms, operating
systems, and environments without significant modifications or dependencies.
Compatibility: The software should be compatible with other software and systems, adhering
to industry standards and protocols for interoperability and integration.
Testability: The software should be designed with testability in mind, allowing for
comprehensive testing to validate its correctness, reliability, and adherence to requirements.
Robustness: The software should gracefully handle unexpected inputs, errors, and exceptions,
recovering gracefully and minimizing the impact of failures on users or other system
components.
26
Activity
What are the key attributes for..
Cardiac monitor in an ICU
Interactive game Banking system
unit
Players, score, scenes, Client accounts, stocks heart rate, temperature,
theme. bonds, money transfers. blood pressure.
27