The process of defining the architecture, components, modules, interfaces, and data for a system to meet specific requirements
Topics covered
Introduction
Project Initiation
Requirements Gathering
Process Modeling
Data Modeling
Modelling with UML
System Design
System Implementation
Project Management in Systems Development
Agile and Iterative Development
System Design
The process of translating the requirements of a system into a detailed design for implementation, focusing on the internal structure and behavior of the system
System Design
Considers performance, scalability, reliability, maintainability, and security
Includes requirements analysis, system architecture design, subsystem design, component design, and data design
System Architectural Design
The conceptual model that defines how the system works and communicates with other systems
System Architectural Design
1. Identify system boundaries and external interfaces
2. Define the overall architecture, including architectural styles, patterns, and design principles
3. Allocate responsibilities to subsystems or modules to achieve modularity and separation of concerns
Types of system architecture diagrams
Software architecture diagrams
Hardware architecture diagrams
Enterprise architecture diagrams
Collaborative systems architecture diagrams
Manufacturing systems architecture diagrams
Strategic system architecture diagrams
Software architecture diagrams
Illustrate the structure and behavior of software systems, including components, modules, interfaces, and their relationships
Hardware architecture diagrams
Visualize the physical components, devices, and connections within hardware systems
Hardware architecture diagrams
Network Diagrams
Server Rack Diagrams
Circuit Diagrams
Subsystem Design
The process of planning, creating, and defining the individual subsystems within a larger system
Subsystem Design
1. Decompose the system into subsystems or modules based on functional requirements and architectural decisions
2. Define the responsibilities and interfaces of each subsystem, specifying input/output data and communication protocols
3. Ensure cohesion within subsystems and minimize coupling between them to promote reusability and maintainability
Steps Involved in Subsystem Design
1. Subsystem Identification
2. Defining Subsystem Responsibilities
3. Interface Design
4. Internal Design of Subsystems
5. Communication and Integration
6. Testing and Validation
Component Design
Designing the internal structure and behavior of individual components within subsystems, focusing on implementation details and algorithms
Data Design
Designing the structure, organization, and management of data within the system, ensuring data integrity, security, and efficiency
Data Design
1. Identify the types of data required by the system and their relationships
2. Design data models, ERDs or class diagrams, to represent the structure of the data
3. Define data access and storage mechanisms, including database schemas, file formats, and data validation rules