COMPUTER-BASED SYSTEMS The word system is possibly the most overused and abused term in the technical lex-
10.1 COMPUTER-BASED SYSTEMS The word system is possibly the most overused and abused term in the technical lex-
icon. We speak of political systems and educational systems, of avionics systems and manufacturing systems, of banking systems and subway systems. The word tells us little. We use the adjective describing system to understand the context in which the word is used. Webster's Dictionary defines system in the following way:
1. a set or arrangement of things so related as to form a unity or organic whole; 2. a set of facts, principles, rules, etc., classified and arranged in an orderly form so as to show a log- ical plan linking the various parts; 3. a method or plan of classification or arrangement; 4. an established way of doing something; method; procedure . . .
Five additional definitions are provided in the dictionary, yet no precise synonym is suggested. System is a special word.
Borrowing from Webster's definition, we define a computer-based system as A set or arrangement of elements that are organized to accomplish some predefined goal
by processing information. The goal may be to support some business function or to develop a product that can
be sold to generate business revenue. To accomplish the goal, a computer-based sys- tem makes use of a variety of system elements:
1 In reality, the term system engineering is often used in this context. However, in this book, the term system engineering is generic and is used to encompass both business process engineering and product engineering.
CHAPTER 10
SYSTEM ENGINEERING
Software. Computer programs, data structures, and related documentation that serve to effect the logical method, procedure, or control that is required. Hardware. Electronic devices that provide computing capability, the inter- connectivity devices (e.g., network switches, telecommunications devices)
Don’t be lured into that enable the flow of data, and electromechanical devices (e.g., sensors, taking a “software-
motors, pumps) that provide external world function.
centric” view. Begin by
People. Users and operators of hardware and software.
considering all Database. A large, organized collection of information that is accessed via elements of a system
before you concentrate software. on software.
Documentation. Descriptive information (e.g., hardcopy manuals, on-line help files, Web sites) that portrays the use and/or operation of the system. Procedures. The steps that define the specific use of each system element or the procedural context in which the system resides.
The elements combine in a variety of ways to transform information. For exam- ple, a marketing department transforms raw sales data into a profile of the typical purchaser of a product; a robot transforms a command file containing specific instruc- tions into a set of control signals that cause some specific physical action. Creating an information system to assist the marketing department and control software to support the robot both require system engineering.
One complicating characteristic of computer-based systems is that the elements constituting one system may also represent one macro element of a still larger system. The macro element is a computer-based system that is one part of a larger computer-based system. As an example, we consider a "factory automation system"
Complex systems are that is essentially a hierarchy of systems. At the lowest level of the hierarchy we have actually a hierarchy of
a numerical control machine, robots, and data entry devices. Each is a computer- macro elements that
based system in its own right. The elements of the numerical control machine include are themselves
electronic and electromechanical hardware (e.g., processor and memory, motors, systems.
sensors), software (for communications, machine control, interpolation), people (the machine operator), a database (the stored NC program), documentation, and proce- dures. A similar decomposition could be applied to the robot and data entry device. Each is a computer-based system.
At the next level in the hierarchy, a manufacturing cell is defined. The manufac- turing cell is a computer-based system that may have elements of its own (e.g., com- puters, mechanical fixtures) and also integrates the macro elements that we have called numerical control machine, robot, and data entry device.
To summarize, the manufacturing cell and its macro elements each are composed of system elements with the generic labels: software, hardware, people, database, procedures, and documentation. In some cases, macro elements may share a generic element. For example, the robot and the NC machine both might be managed by a single operator (the people element). In other cases, generic elements are exclusive to one system.
PA R T T H R E E C O N V E N T I O N A L M E T H O D S F O R S O F T WA R E E N G I N E E R I N G
F I G U R E 10.1
The system
Business or
engineering
product domain
hierarchy World view
Domain of interest
Domain view System element
Element view
Detailed view
The role of the system engineer is to define the elements for a specific computer- based system in the context of the overall hierarchy of systems (macro elements). In the sections that follow, we examine the tasks that constitute computer system engi- neering.
Parts
» The Concurrent Development Model
» SUMMARY Software engineering is a discipline that integrates process, methods, and tools for
» PEOPLE In a study published by the IEEE [CUR88], the engineering vice presidents of three
» THE PROCESS The generic phases that characterize the software process—definition, development,
» THE PROJECT In order to manage a successful software project, we must understand what can go
» METRICS IN THE PROCESS AND PROJECT DOMAINS
» Extended Function Point Metrics
» METRICS FOR SOFTWARE QUALITY
» INTEGRATING METRICS WITHIN THE SOFTWARE PROCESS
» METRICS FOR SMALL ORGANIZATIONS
» ESTABLISHING A SOFTWARE METRICS PROGRAM
» Obtaining Information Necessary for Scope
» An Example of LOC-Based Estimation
» QUALITY CONCEPTS 1 It has been said that no two snowflakes are alike. Certainly when we watch snow
» SUMMARY Software quality assurance is an umbrella activity that is applied at each step in the
» R diagram 1.4 <part-of> data model; data model <part-of> design specification;
» SYSTEM MODELING Every computer-based system can be modeled as an information transform using an
» Facilitated Application Specification Techniques
» Data Objects, Attributes, and Relationships
» Entity/Relationship Diagrams
» Hatley and Pirbhai Extensions
» Creating an Entity/Relationship Diagram
» SUMMARY Design is the technical kernel of software engineering. During design, progressive
» Data Modeling, Data Structures, Databases, and the Data Warehouse
» Data Design at the Component Level
» A Brief Taxonomy of Styles and Patterns
» Quantitative Guidance for Architectural Design
» Isolate the transform center by specifying incoming and outgoing
» SUMMARY Software architecture provides a holistic view of the system to be built. It depicts the
» The User Interface Design Process
» Defining Interface Objects and Actions
» D E S I G N E VA L U AT I O N
» Testing for Real-Time Systems
» Organizing for Software Testing
» Criteria for Completion of Testing
» The Transition to a Quantitative View
» The Attributes of Effective Software Metrics
» Architectural Design Metrics
» Component-Level Design Metrics
» SUMMARY Software metrics provide a quantitative way to assess the quality of internal product
» Encapsulation, Inheritance, and Polymorphism
» Identifying Classes and Objects
» The Common Process Framework for OO
» OO Project Metrics and Estimation
» Event Identification with Use-Cases
» SUMMARY Object-oriented analysis methods enable a software engineer to model a problem by
» Partitioning the Analysis Model
» Designing Algorithms and Data Structures
» Program Components and Interfaces
» SUMMARY Object-oriented design translates the OOA model of the real world into an
» Testing Surface Structure and Deep Structure
» Deficiencies of Less Formal Approaches 1
» What Makes Cleanroom Different?
» Design Refinement and Verification
» SUMMARY Cleanroom software engineering is a formal approach to software development that
» Structural Modeling and Structure Points
» Describing Reusable Components
» SUMMARY Component-based software engineering offers inherent benefits in software quality,
» Guidelines for Distributing Application Subsystems
» Middleware and Object Request Broker Architectures
» An Overview of a Design Approach
» Consider expert Web developer will create a complete design, but time and cost can be appropriate
» A Software Reengineering Process Model
» Reverse Engineering to Understand Data
» Forward Engineering for Client/Server Architectures
» SUMMARY Reengineering occurs at two different levels of abstraction. At the business level,
Show more