Chapter 3 - System Engineering
Page 1: Introduction
Text Overview
Title: Object-Oriented Software Engineering: An Agile Unified Methodology by David Kung
Chapter 3 focuses on System Engineering.
Page 2: Key Takeaway Points
System Engineering
A multidisciplinary approach to systems development.
Defines system requirements, constraints, and integrates subsystems.
Software engineering is a subset of system engineering.
Page 3: What Is a System?
Definition & Examples
A system: a set of interrelated components.
Can be:
Big/small, complex/simple.
Natural/man-made, and exist physically or conceptually.
Examples: universe, an ant, measurement systems, sprinkler systems, telephone systems.
Page 4: Main Characteristics of a System
Key Features
Interacting components.
Systems exist in a hierarchy and may act as subsystems of other systems.
Systems are adaptive and ever-evolving.
Page 5: What Is System Engineering?
Process Characteristics
Covers entire system life cycle.
Follows a top-down, divide-and-conquer approach.
Requires interdisciplinary efforts for development.
Page 6: Characteristics of System Engineering
Key Features
Top-down, divide-and-conquer approach.
Requires multidisciplinary teamwork.
Focus on an established engineering process.
Page 7: System Engineering Process
Main Phases
System Requirements Definition
System Modeling & Design
System Integration & Testing
System Maintenance
System Deployment
Page 8: System Requirements Definition
Steps Involved
Collect information on business goals and current operation.
Derive business needs based on discrepancies between current and desired states.
Define system capabilities based on business needs.
Acknowledge budget/schedule constraints affecting requirement fulfillment.
Page 9: Example of System Requirements
Airport Baggage Handling System (ABHS)
R1: Check in and transport luggage based on passenger destinations.
R2: Enable airline agents to inquire and locate luggage.
R3: Check baggage and detect prohibited items.
R4: Service 20,000 passengers daily.
Page 10: Information Collection Techniques
Methods for Gathering Data
Customer presentations.
Study current business operations.
User surveys and interviews.
Literature surveys.
Page 11: Focus of Information Collection Activity
Key Questions
What business will the system automate?
What is the system's environment?
What are business/product goals?
How does the current system operate?
What are existing business processes?
What issues exist in the current system?
Who are the users of the current and future systems?
What do users want from the future system?
What are quality, performance, and security considerations?
Page 12: Main Characteristics of a System
Decomposition & Visualization
Decomposing into a hierarchy of functional, cohesive, and loosely coupled subsystems.
Assigning system requirements to subsystems.
System architecture depicted through diagramming techniques.
Page 13: Guidelines for System Decomposition
Principles to Follow
Enable separate engineering teams to develop subsystems.
Facilitate use of COTS components.
Partition system requirements effectively.
Define functionality for each subsystem.
Ensure subsystems are relatively independent.
Consider ease of integration for subsystems.
Page 14: System Decomposition Strategies
Various Approaches
By system functions.
By engineering disciplines.
By existing architecture.
By organizational functional units.
By application models.
Page 15: Partition According to Major Functionality
Example Structures
Subsystems organized by function (e.g., HW, SW, HM).
Page 16: Partition According to HW, SW & Human Subsystems
System Component Breakdown
Differentiation among Hardware, Software, and Human components in subsystems.
Page 17: Requirements Allocation Example
Airport Baggage Handling System
R1.1: Allow agents to check in luggage.
R1.2: Transport luggage within the airport.
R1.2.1: From check-in to departure gates.
R1.2.2: From arrival gates to baggage claim.
R1.2.3: For transfer passengers.
R1.2.4: Using conveyors.
R1.2.5: Between terminals via DCVs.
R1.3: Control transportation of luggage.
Page 18: Requirements Allocation Example (continued)
Further Details
R4.1: Each check-in area handles 1,150 pieces of check-in luggage daily.
R4.2: Each agent checks in three passengers per minute.
R4.3: Each conveyor scans and transports 500 pieces per hour.
R4.4: Control software processes 2,300 bags daily and scans 1,000 requests hourly.
Page 19: Main Characteristics of a System
Functional Descriptions
Descriptions and functional clusters for subsystems managing luggage check-in and transport processes.
Page 20: Visualization Techniques
Types of Diagrams
Block diagram, UML component diagram, SysML diagrams, data flow diagram, etc.
Page 21: Block Diagram
Overview of ABHS Structure
Shows relationships between subsystems: Terminal, High-Speed Tracks, ABHS Control Software.
Page 22: SysML Block Definition Diagram
Structural Overview
Diagrammatic representation of the components of the ABHS system.
Page 23: SysML Internal Block Diagram
Detailed Interaction
Illustrates material flows between subsystems and human interfaces.
Page 24: Other System Engineering Activities
Key Development Areas
Development of subsystems by different teams.
Collaboration to tackle interdisciplinary problems.
Integration, testing, and deployment of subsystems.
Page 25: Class Discussion Topics
Thought-Provoking Questions
Why system engineering is interdisciplinary?
Relationship between system and software engineering.
Examples of systems needing a system engineering approach.
Page 26: Practical Example
Online Retailing System Expansion
Identifying requirements for a fully automated online retailing system for a department store.
Page 27: ORS Functional Requirements
Online Retailing System (ORS)
R1: Create an online account.
R2: Order online, with subrequirements for multiple items and payment methods.
Page 28: ORS Requirements Continuation
Additional Functionalities
R2.4: Print shipping labels to conveyor.
R3: Dispense packaging materials.
Page 29: ORS Requirements Continuation
Extensive Functional Allocations
R4: Direct conveyor cart traversal for loading.
R6: Direct to packaging area once items are loaded.
Page 30: ORS Requirements Continuation
Non-functional and Performance Requirements
R9: Conveyor speed specification.
R10: Transaction processing capacity.
Page 31: ORS Architectural Design
Subsystem Architecture Overview
Visual representation of the Online Retailing System architecture.
Page 32: Summary of ORS Design
Overview of Subsystems
Breakdown of components within Online Retailing System including web ordering, order fulfill, and inventory management.