0% found this document useful (0 votes)
19 views

Chapter1 SE201

The document provides an introduction to software engineering, defining key terms like computer program, programmer, analyst, and user. It discusses different types of software products and processes. The main challenges in software engineering are delivering projects on time and budget while integrating new and old systems and ensuring trustworthiness.

Uploaded by

Naiem Algadare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Chapter1 SE201

The document provides an introduction to software engineering, defining key terms like computer program, programmer, analyst, and user. It discusses different types of software products and processes. The main challenges in software engineering are delivering projects on time and budget while integrating new and old systems and ensuring trustworthiness.

Uploaded by

Naiem Algadare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Software Engineering

Chapter “1-A”
Introduction to Software Engineering

T.A Eman Isaa Almasmare

Modified from Sommerville’s originals


Grading
Course work…………………………………………………… 10%

Midterm exam …………………………………………………30%

Final exam……………………………………………………… 60%


Important Definitions
• Computer Program: also known as software, or just a program)
 is a sequence of instructions written to perform a specified task or function
with a computer.
 The set of instructions is called the program code or the source code
 The source code is written by people called computer developers, and has
to be written in a special programming language
• Computer Programming: (also known as coding) is the iterative process of writing or
editing source code. Sometimes lengthy process of computer programming is usually
referred to as software development.
Important Definitions

• Programmer: (also known as coder)a person who writes the program code
• Analyst: a person who works to simplify the communications between the
customer and the developer.
• Client/Customer: a person or an organization that consumes the product(software
which can be sold to a customer).
• User: an individual who uses the software after it has been fully developed and
marketed

• Documentation: describes the structure of the system.


It also explains to users how to use the system.
Important Definitions

• A program: is any set of instructions that are executed by a machine.


• Computer software (or simply software): is a collection
of programs and data held in the storage of a computer for some purpose
Software
Virtually all
countries depend
on compute

• Think about all the devices and systems that you encounter in your everyday life
which have software controlling them
• List as many as you can …

• The economies of ALL developed nations are dependent on software.

• More and more life systems such as : Hospitals, Universities and Ministries..etc .
are software controlled.
• More and more, individuals and society rely on advanced software systems. We
need to be able to produce reliable and trustworthy systems economically and
quickly.
Software Definition

• Software: computer programs, associated documentation and configuration data.


Documentation System Documentation

Programs Software Documentation /user

Data

• What are the attributes of good software?

Good software should deliver the required functionality and performance to the
user and should be maintainable, dependable and usable.
Software Products Types

1. Generic software products Stand-alone systems that are marketed and sold to any
customer who wishes to buy them.

Example of this type of products: includes word processors, drawing packages and
project management tools

**The specification of what the software should do is owned by the software developer
and decisions on softwaer change are made by the developer.

.
Software Products Types

2. Customized (or bespoke) software products

• These systems are commissioned by a particular customer. Examples of this type of


software include systems written to support a particular business process.

• You can buy standalone software and then you could do some customization to it
such as ERP system (SAP).

**The specification of what the software should do is owned by the customer for the
software and they make decisions on softwaer change that are required .
Software Process Activities
• Software Specification: where customers and engineers define the software that
is to be produced and the constraints on its operation.

• Software Development: where the software is designed and programmed.

• Software Validation: where the software is checked to ensure that it is what the
customer requires.

• Software Evolution: where the software is modified to reflect changing customer


and market requirements.
Software Engineering
• Software Crisis

The term "software engineering" first appeared in the 1968 NATO Software
Engineering Conference, and was meant to provoke thought regarding what was then
called the “software crisis”.

• Software Engineering (SWE)

Discipline of engineering that is concerned with all aspects of software production, from
the early stages of system specification through to maintaining the system after it has
gone into use.

The main goal of SE is to deliver Software Product on time, within budget, fault free
and meeting its client’s needs.
Software Engineering
• What’s the difference between SE and CS ?

CS is concerned with the theories and methods that underlie computers and software
systems ,where SE is concerned with the practical problems of producing software.
What is biggest challenges facing SE ?

• The Heterogeneity challenge: systems are required to operate as distributed systems


across networks that include different types of computers and with different kinds of
support systems.
• It is often necessary to integrate new software with older legacy systems written in
different programming languages.
Other Challenges
The delivery challenge.
The Budget challenge .
The trust challenge
Application Types
• Stand-alone applications
These are application systems that run on a local computer, such as a PC.
They include all necessary functionality and do not need to be connected to a
network.
• Interactive transaction-based applications
Applications that execute on a remote computer and are accessed by users
from their own PCs or terminals. These include web applications such as e-
commerce applications.
• Embedded control systems
These are software control systems that control and manage hardware
devices. Numerically, there are probably more embedded systems than any
other type of system.
What is a Software Process?
A set of activities that aims to produce SW product.
• SW Process Activity What is going on there?

• Specification What does the customer need?

• Development Design & programming

• Validation Checking whether it meets requirements

• Evolution Modifications (e.g. customer/market)

You might also like