Lesson 2 Flashcards
science and art of
building significant software systems that are on time, on budget,… with correct operation
Software Engineering
STAND-ALONE SYSTEMS that are marketed and sold to any
customer who wishes to buy them.
Generic Product
Software that is commissioned by a specific customer to meet
their own needs.
Costumized Products
Essential attributes of good software
product
> Maintainability
Dependability and Security
Efficiency
Acceptability
SOFTWARE SHOULD BE WRITTEN in such a way SO THAT IT CAN EVOLVE TO MEET THE CHANGING NEEDS OF COSTUMERS
Maintainability
Dependable software
should not cause physical or economic damage in the event of
system failure.
Dependability and Security
Software SHOULD NOT MAKE WASTEFUL USE OF SYSTEM resources such
as memory and processor cycles.
Efficiency
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.
Acceptability
General issues that affect most software
> Heterogeneity
Business and Social Change
Security and Trust
Application types
> Batch processing systems
Entertainment systems
Systems for modeling and simulation
Data collection systems
Systems of systems
Stand-alone applications
Interactive transaction-based applications
Embedded control systems
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.
Stand-Alone 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.
Interactive Transaction-based Applications
These are software control systems that control and manage
hardware devices. Numerically, there are probably more embedded systems than any other type of system.
Embedded Control Systems
These are business systems that are designed to process data
in large batches. They process large numbers of individual inputs
to create corresponding outputs.
Batch Processing Systems
These are systems that are primarily for personal use and which are intended to entertain the user.
Entertainment Systems