Page 17 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 17
Unit 1: Introduction to Software Engineering
procedural detail, the nonprocedural language implies a program by “specifying the desired Notes
result rather than specifying action required to achieve that result”. Support software translates
the specification of result into a machine executable program.
1.7 Software Applications
Software may be practical in any state of affairs for which a pre-specified set of technical steps
(i.e., an algorithm) has been defined (notable exceptions to this rule are specialist systems and
artificial neural network software). Information satisfied and determinacy are significant factors
in determining the nature of a software application. Content refers to the meaning and form of
incoming and outgoing information .For example many business applications make use of highly
structured input data and produce formatted “reports” Software that controls an automated
machine (e.g., numerical control) accepts discrete data items with limited structure and produces
individual machine commands in rapid succession.
1.7.1 Information Determinacy
It refers to the inevitability of the order and timing of information. An engineering analysis
program accepts data that have a predefined order executes the analysis algorithm without break
and produces resultant data in report or graphical format. Such applications are determinate.
A multiuser operating system on the other hand accepts inputs that have varied content and
arbitrary timing executes algorithms that can be interrupted by external conditions and produces
output that varies as a function of environment and time. Applications with these characteristics
are indeterminate. It is somewhat difficult to develop meaningful generic categories for software
applications. As software complexity grows neat compartmentalization disappears. The following
software areas indicate the breadth of potential applications:
1.7.2 System Software
System software is a collection of programs written to service other programs. Some system
software (e.g., compiler s editors and file management utilities) processes complex but determinate
information structures. Other systems application (e.g., operating system components driver’s
telecommunications processors) process largely indeterminate data. In either case the systems
software area is branded by heavy interaction with computer hardware heavy usage by multiple
users; simultaneous operation that requires scheduling resource sharing and sophisticated process
management; complex data structures and multiple external interfaces.
1.7.3 Real-Time Software
Programs that monitor/analyze/ control genuine world proceedings as they occur are called
concurrent software. Elements of concurrent software comprise a data assembly component
that collects and formats information from external surroundings an analysis component that
transforms information as necessary by the application a control / output constituent that
responds to the external environment so that concurrent answer (typically ranging from 1
millisecond to 1 minute) can be maintained. It should be noted that the term “real-time” differs
from “interactive” or timesharing”. A real-time system must respond within strict time constraints.
The response time of an interactive (or time-sharing) system can normally be exceeded without
disastrous results.
1.7.4 Business Software
Business information dispensation is the major single software application area. Separate
“systems” (e.g., payroll accounts receivable/payable inventory, etc.,) have evolved into
management information system (MIS) software that accesses one or more large databases
containing business information. Applications in this area reorganize existing data in a way
LOVELY PROFESSIONAL UNIVERSITY 11