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 on