Computer Science Dept. Third Class: Lecture 1,2
Computer Science Dept. Third Class: Lecture 1,2
Computer Science Dept. Third Class: Lecture 1,2
Third Class
Lecture 1,2
Lecturer Dr.Eng.Zaidoon.T.AL-Qaissi
Software Engineering Dr.Eng.Zaidoon.T. Al-Qaissi
Programs: A program is a subset of software and it becomes software only if documentation and
operating procedure manuals are prepared. A program is a combination of source code and object
code.
Software Products: A software product consists not only of the program code but also of all the
associated documents, such as the requirements specification documents, the design documents,
the test documents, and the operating procedures which include user manuals and operational
manuals.
1 Lecture – 1,2
Software Engineering Dr.Eng.Zaidoon.T. Al-Qaissi
Definition of software given by the IEEE: Software is the collection of computer programs,
procedure rules and associated documentation and data.
2. Customized Software: Customized products are those that are developed for a customer where
domain, environment, and requirements are unique to that customer and cannot be satisfied by
generic products.
1. System software: This software includes the operating system and all utilities that enable the
computer to function.
2. Application software: These consist of programs that do real work for users. For example, word
processors, spreadsheets, and database management systems fall under the category of
applications software.
Software applications are grouped into eight areas for convenience as shown in Figure 3:
2 Lecture – 1,2
Software Engineering Dr.Eng.Zaidoon.T. Al-Qaissi
1. Real-time Software: Real-time software deals with a changing environment. First, it collects the
input and converts it from analog to a digital, control component that responds to the external
environment and performs the action. The software is used to monitor, control, and analyze real-
world events as they occur. Examples include Rocket launching, games, etc.
2. System Software: System software is a collection of programs used to run the system as an
assistance to other software programs. The compliers, editors, utilities, operating system
components, drivers, and interfaces are examples of system software.
3. Embedded Software: Software, when written to perform certain functions under control
conditions and is further embedded into hardware as a part of large systems, is called embedded
software. The software resides in the Read-Only-Memory (ROM) and is used to control the various
functions of the resident products. The products could be a car, washing machine, microwave
oven, industrial processing products, gas stations, satellites, and a host of other products, where
the need is to acquire input, analyze, identify status, and decide and take action that allows the
product to perform in a predetermined manner. Because of its role and performance, it is also
called intelligent software.
3 Lecture – 1,2
Software Engineering Dr.Eng.Zaidoon.T. Al-Qaissi
7. Web-based Software: Web-based software includes the languages by which web pages are
processed, i.e., HTML, Java, CGI, Perl, DHTML, etc.
8. Engineering and Scientific Software. The design and engineering of scientific software deals
with processing requirements in their specific fields. They are written for specific applications
using the principles and formulae of each field. These software applications service the need for
drawing, drafting, modeling, lead calculations, specifications-building, and so on. Dedicated
software is available for stress analysis or for analysis of engineering data, statistical data for
interpretation, and decision-making. CAD/CAM/CAE packages, SPSS, MATLAB, and circuit
analyzers are typical examples of such software.
4 Lecture – 1,2
Software Engineering Dr.Eng.Zaidoon.T. Al-Qaissi
مواصفات البرنامج
1. Software specification: where customers and engineers define the software that is to be
produced and the constraints on its operation.
تطوير البرمجيات
2. Software development: where the software is designed, and programmed.
:تطور البرمجيات
4. Software evolution: where the software is modified to reflect changing customer and market
requirements.
5 Lecture – 1,2
Software Engineering Dr.Eng.Zaidoon.T. Al-Qaissi
1. Maintainability: Software should be written in such a way so that it can evolve to meet the
changing needs of customers. This is a critical attribute because software change is an
inevitable requirement of a changing business environment.
3. Efficiency: Software should not make wasteful use of system resources such as memory and
processor cycles. Efficiency therefore includes responsiveness, processing time, memory
utilization, etc.
4. Acceptability: Software must be acceptable to the type of users for which it is designed. This
means that it must be understandable, usable, and compatible with other systems that they use.
Software Crisis: The software crisis has been with us since the 1970s. As per the latest IBM
report, “31% of the projects get cancelled before they are completed, 53% over-run their cost-
estimates by an average of 189% and for every 100 projects, there are 94 restarts. “During software
لالطالع
development, then, many problems are raised and that set of problems is known as the software
crisis. When software is being developed, problems are encountered associated with the
development steps.
- Problem of compatibility.
- Problem of portability.
- Problem in documentation.
- Problem of piracy of software.
- Problem in coordination of work of different people.
- Problem of proper maintenance.
6 Lecture – 1,2