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

  1. What business will the system automate?

  2. What is the system's environment?

  3. What are business/product goals?

  4. How does the current system operate?

  5. What are existing business processes?

  6. What issues exist in the current system?

  7. Who are the users of the current and future systems?

  8. What do users want from the future system?

  9. 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

  1. Enable separate engineering teams to develop subsystems.

  2. Facilitate use of COTS components.

  3. Partition system requirements effectively.

  4. Define functionality for each subsystem.

  5. Ensure subsystems are relatively independent.

  6. Consider ease of integration for subsystems.


Page 14: System Decomposition Strategies

Various Approaches

  1. By system functions.

  2. By engineering disciplines.

  3. By existing architecture.

  4. By organizational functional units.

  5. 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.

robot