ITSEA2-12 Full Extended Master Study Guide: Block 1 + Block 2
Block 1: Software Process, Software Architecture, and Quality Foundations
Chapter 1: Introduction to Software Engineering
- Software Engineering: An engineering discipline covering specification, development, validation,
and maintenance of software.
- Activities: Specification (what system should do), Development (implementation), Validation
(ensure requirements met), Evolution (change over time).
- Software Types: Generic vs Custom-built.
- Attributes of Good Software: Maintainability, Dependability, Performance, Usability.
- Software Process Models: Waterfall, Incremental, Integration and Configuration, Agile.
- Engineering Ethics: Confidentiality, Competence, Intellectual Property, Computer Misuse.
Chapter 6: Software Architecture
- Architecture Definition: The high-level structure of a software system, including software
components and relationships.
- Architecture in the Small vs Large: Single application vs distributed systems.
- Non-functional Requirements Impact: Performance (reduce distribution), Security (layering),
Availability (redundancy), Maintainability (modularity).
- Architectural Views: Logical, Process, Development, Physical (Krutchen's 4+1 model).
- Patterns: Layered (e.g., Online Banking), Repository (IDE with version control), Client-Server (Web
browser/server), Pipe and Filter (Data transformation pipelines).
- Application Architectures: TPS, Information Systems, Language Processing Systems.
Block 2: Security Engineering, Dependability, Sociotechnical Systems, and Evolution
ITSEA2-12 Full Extended Master Study Guide: Block 1 + Block 2
Chapter 13: Security and Dependability
- Security Attributes: Confidentiality, Integrity, Availability.
- Threat Types: Interception, Interruption, Modification, Fabrication.
- Security Controls: Avoidance, Detection, Recovery.
- Security and Dependability Relationship: Impacts Reliability, Availability, Safety, Resilience.
- Security Risk Assessment: Preliminary, Design, Operational stages.
- Firesmith Requirements: Identification, Authentication, Authorization, Immunity, Integrity, Intrusion
Detection, Nonrepudiation, Privacy, Auditing, Maintenance.
- Misuse Cases: Model attack scenarios during design.
Chapter 14: Secure Design and Testing
- Design Guidelines: Explicit Policy, Defense in Depth, Fail Securely, Usability/Security Balance,
Logging, Redundancy/Diversity, Input Validation, Compartmentalization, Deployment Design,
Recovery Planning.
- Testing Approaches: Experience-Based, Penetration Testing, Automated Tools, Formal
Verification.
Chapter 19: Sociotechnical Systems
- STS Layers: Hardware, Software, People, Processes, Organization.
- Emergent Properties: Functional (e.g., transport capability in bicycles), Non-Functional (e.g.,
reliability, safety).
- Non-Determinism: Caused by human unpredictability and system change.
- Systems Engineering Stages: Conceptual Design, Procurement, Development, Operation,
Evolution.
ITSEA2-12 Full Extended Master Study Guide: Block 1 + Block 2
Chapter 21: Systems of Systems (SoS) and Reductionism
- Reductionism: Breaking systems into parts (traditional software engineering approach).
- Why Reductionism Fails for Complex Systems: No single owner, Political decision-making,
Undefined boundaries.
- Systems of Systems Characteristics: Operational Independence, Managerial Independence,
Evolutionary Development, Emergence, Geographic Distribution.
- SoS Engineering Stages: Conceptual Design, System Selection, Architecture, Interface
Development, Integration/Deployment.
- Frameworks: TOGAF, MODAF for large system architecture planning.