Chapter1 SE201
Chapter1 SE201
Chapter “1-A”
Introduction to Software Engineering
• 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
• 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 …
• 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
Data
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
• 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 Validation: where the software is checked to ensure that it is what the
customer requires.
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”.
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 ?