Title: System Design
1System Design
- CFICSE 2002 SF09
- Michelle L. Crane
2References
- Roger S Pressman, Software Engineering A
Practitioners Approach, Fifth Edition,
McGraw-Hill, 2002 - Chapter 10
3Outline
- hierarchy and modeling
- restraining factors
- divide and conquer
- system design
- allocation
- iterative process
- trade-offs
- system modeling template
4Engineering System Hierarchy
Reference Pressman, Figure 10.1
5System Modeling
- system engineering is a modeling process
- create models that
- define the processes
- represent the behaviour of the processes
- explicitly define input to the model
- represent all linkages (including output)
Reference Pressman, Section 10.2.1
6Restraining Factors
- assumptions
- used to reduce the number of possible
permutations and variations, enabling a model to
reflect the problem in a reasonable manner - simplifications
- enable the model to be created in a timely manner
- limitations
- help bound the system
Reference Pressman, Section 10.2.1
7Restraining Factors (contd)
- constraints
- guide the manner in which the model is created
and the approach taken when the model is
implemented - preferences
- indicate the preferred architecture for all data,
functions and technology - preferred solution sometimes comes into conflict
with other restraining factors - customer satisfaction is often based on the
degree to which the preferred approach is realized
Reference Pressman, Section 10.2.1
8Divide and Conquer (Decomposition)
- breaking a big problem into little ones
- determine the major computational components of
the system - decide which system functions will be
accomplished by which elements of the system - human
- hardware
- software
- this is allocation of functions
9Keep in Mind
- control complexity by dividing it into manageable
units - traceability of functions to subsystems
- subdivide further to implement functionality
10System Design
- allocation of functionality to type
- analysis of tradeoffs between competing criteria
- very much driven by the current state of
technologies
11Allocating Functions to Modules
- in an ideal world, done only based on engineering
criteria - in reality, reasons for allocation often reflect
the most serious constraints - geographic
- environmental
- contractual
- legal
- project control
- criticality
12How to Allocate
- determine areas most likely to change
- high risk
- poor understanding
- new technology
- develop a trial subsystem definition
- high priority requirements first
- minimize external interfaces (coupling)
- group similar functions (cohesion)
- isolate areas of likely change (information
hiding) - limit complexity through partitioning
(testability) - target subsystems at particular expertise domains
13Breakdown is an Iterative Process
- examine the next level partitioning
- map back to a concept of operations (big picture)
- do scenario analysis
- look at verification and validation strategies
- have domain experts review subsystems
- examine alternatives
14Trade-offs
- trade-offs can be divided into categories
- project
- pre-established cost and schedule bounds
- risks associated with cost and schedule estimates
- business
- most profitable configuration (short and long
term) - market for system
- time to market
- competitors
15Trade-offs (contd)
- technical
- present and emerging technologies
- bleeding edge pain vs. market direction
- maintainability
- manufacturing and supply
- resource availability
- quality issues
- human issues
- availability of trained people
- human interfaces
16Trade-offs (contd)
- organizational politics
- security
- environment
- heat, cold, vibration, weathering
- interfaces to the world
- foreign systems, sensors, input/output data
- rates of response
- legal
- liability
- regulations
- intellectual property
17System Modeling
Processing and Control Functions
Input Processing
Output Processing
Reference Pressman, Section 10.6
18System Model Template
User Interface Processing
Processing and Control Functions
Input Processing
Output Processing
Maintenance Self-Test
Reference Pressman, Figure 10.5
19System Context Diagram
Reference Pressman, Figure 10.6
20Different Focuses
Reference Christensen Thayer, Table 1.2
21Different Focuses (contd)
Reference Christensen Thayer, Table 1.2
22Summary
- hierarchy and modeling
- restraining factors
- divide and conquer
- system design
- allocation
- iterative process
- trade-offs
- system modeling template
23?