Chapter 6 - General Systems Design
A) Introduction
- consider alternative conceptual designs that fulfil users' requirements
- get it down on paper before trying to refine the design too early
- interact with users, check with team members & technicians
- redesign, check, check, recheck
B) What are the three categories of Systems Design?
- Global-based systems
involves a complete overhaul or replacement of all the systems design components
examples:
- monthly tabular reports changed to online screen displays
- new processes are developed
- input is captured via scanning devices
- hierarchical database replaced by relational database
- controls like UPS, disaster recovery plans, etc. are installed
- new network topology
need a General Systems Design Worksheet (Fig. 6.3)
- Group-based systems
services a branch office or department
- Local-based systems
designed for a few people
ex. EIS for senior executives
C) Using the Four Key Elements of Rapid Application Development to Design Systems
- RAD combines elements that work together so that the total effect is greater than the sum of the individual effects
Dillinson's Department Store - pg. 201-3
- Joint application development (JAD)
best with global-based systems
need to bring together
- the "designer's mental design model",
- the "user's mental design model" and
- the conceptual model using DFDs and ERDs
- Specialists with advanced tools (SWAT) teams
3-4 highly skilled and motivated systems professionals using CASE
- Computer-aided systems and software engineering (CASE) tools
- CASE adds discipline to systems development;
- reduces design errors and omissions and reduces systems rework
- Prototyping
users are shown what they're going to get
D) Using the Structure-Oriented Design Approach to Design Systems
process-oriented approach
- examines current input, output and processing to determine data needs
- use DFD to examine data requirements (Fig. 6.5)
- (Fig.6.6-8)
- this approach effective for transaction-based applications
data-oriented approach
used if processes, inputs and outputs are less defined
- 1) need to discuss potential decisions that will be made from the system
- 2) model the systems using an ERD (Fig. 6.9)
- 3) divide each criterion into its attributes (Fig. 6.10)
Create the Data Dictionary for the Systems
- define size, type, description, limits & exceptions, ranges, security level, and access privileges for each attribute
- DD is dynamic; must describe data fully, must be arranged in standard order; expect more refinement during detailed systems design
E) Using the Object-Oriented Design Approach to Design Systems
Designing & Building Systems Using Reusable Software Objects
What are the Key Elements of Object-Oriented Design?
- Objects - "entity" with behaviours (methods)
- objects behave in response to messages
- classes - set of objects that share a common structure and behavior
- inheritance - sharing of properties with subclasses
- polymorphism - ability of objects to respond to the same message and implement it differently (ex. +)
What Steps are Required to Perform Object-oriented Design at the General Systems Design Level?
- 1) Identify object classes and select relevant ones (Fig. 6.14)
- 2) Identify Relationships (Fig. 6.15)
- 3) Identify Attributes (focus on most important ones)
- 4) Identify Inheritance and Build a Class Hierarchy (Fig. 6.16)
F) What is the Difference between Structure-oriented and Object-oriented design?
- Modularity
- Structured - unit of software code that performs a well-defined function
- Object - object that encapsulates attributes and methods
"controlling the amount and form of communication between modules is the essence of modularity, and the key objective of modularity is autonomous, stand-alone modules" (Fig. 6.17)
Top-down vs. bottom-up design
Using Existing Object Class Libraries (reusability)
Exercises: look over 1-14 ; turn in 6.15, 6.16, 6.19