8. Software Engineering and Object-Oriented Analysis & Design

8.1 Software Process and Requirements

  • Software Characteristics and Quality Attributes

  • Software Process Models

    • Agile Model, V-Model, Iterative Model, Prototype Model, Big Bang Model

  • Computer-Aided Software Engineering (CASE)

  • Requirements Engineering

    • Functional and Non-Functional Requirements

    • User Requirements, System Requirements, Interface Specification

    • The Software Requirements Document

    • Requirements Elicitation, Analysis, Validation, and Management

8.2 Software Design

  • Design Process and Concepts

    • Design Mode, Design Heuristics

    • Architectural Design Decisions

  • System Organization

    • Modular Decomposition Styles, Control Styles

    • Reference Architectures, Multiprocessor Architecture

    • Client-Server Architectures, Distributed Object Architectures

    • Inter-Organizational Distributed Computing

  • Real-Time Software Design and Component-Based Software Engineering

8.3 Software Testing, Cost Estimation, Quality Management, and Configuration Management

  • Software Testing

    • Unit Testing, Integration Testing, System Testing, Component Testing, Acceptance Testing

    • Test Case Design, Test Automation

    • Metrics for Testing

  • Cost Estimation and Quality Management

    • Algorithmic Cost Modeling, Project Duration and Staffing

    • Software Quality Assurance (SQA)

    • Formal Technical Reviews, Formal Approaches to SQA

    • Statistical Software Quality Assurance, Framework for Software Metrics

    • ISO Standards, CMMI, SQA Plan

  • Configuration Management

    • Change Management, Version and Release Management

    • CASE Tools for Configuration Management

8.4 Object-Oriented Fundamentals and Analysis

  • Defining Models and Requirement Process

  • Use Cases

  • Object-Oriented Development Cycle

  • Unified Modeling Language (UML)

  • Building Conceptual Models

    • Adding Associations and Attributes

    • Representation of System Behavior

8.5 Object-Oriented Design

  • From Analysis to Design

    • Describing and Elaborating Use Cases

    • Collaboration Diagrams

  • Objects and Patterns

  • Determining Visibility

  • Class Diagrams

8.6 Object-Oriented Design Implementation

  • Programming and Development Process

    • Mapping Design to Code

    • Creating Class Definitions from Design Class Diagrams

    • Creating Methods from Collaboration Diagrams

    • Updating Class Definitions, Classes in Code

    • Exception and Error Handling

Last updated