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