MBASE software engineering course textbook

  1. Introduction
  2. Projects, products, and programs
  3. Stakeholders
  4. Software Engineering
  5. Full lifecycle development: beyond design and code
  6. Software economics
  7. Project management
  8. Models for software development
  9. Product
  10. Process
  11. Property
  12. Success
  13. What is MBASE?
  14. The modeling process
  15. Why use models?
  16. “Real world” system -- representation in SW
  17. People-technology, general-specific
  18. Representation areas
  19. General people models: Domain Description
  20. Specific people models: System Analysis
  21. General technology models: System Design
  22. Specific technology models: System Implementation
  23. Models and audience
  24. Model assumptions, stakeholder assumptions and Model clashes
  25. kinds of model clash
  26. Integrated models
  27. Use of modeling tools
  28. Development practices
  29. Development phases
  30. Inception
  31. Elaboration
  32. Construction
  33. Transition
  34. Deployment
  35. Support
  36. Maintenance
  37. Evolution
  38. Iterative development
  39. Spiral
  40. Principles versus practice: using models
  41. Modeling versus documenting
  42. Collaborative engineering
  43. Clarity and communication are the key
  44. Three kinds of technical communication
  45. Audience
  46. Common definition language (CDL)
  1. Overview of MBASE
  2. Integration of Product, Process, Property, Success models
  3. Variants and invariants
  4. MBASE variants and invariants
  5. Critical development milestones
  6. LCO
  7. LCA
  8. IOC
  9. Architecture review boards
  10. MBASE process guidelines
  11. Activities
  12. Artifacts
  13. Agents
  14. Entry and exits
  15. Starting a project with MBASE: the OCD
  16. Requirements and the SSRD
  17. Architecture and the SSAD
  18. Project Management and the LCP
  19. Project Economics and the FRD
  20. Integration within MBASE
  1. Choosing models and methods
  2. Success model variants and invariants
  3. Product model variants and invariants
  4. Process model variants and invariants
  5. Property model variants and invariants
  6. Factors and dependencies
  7. Identifying model clashes
  8. Resolving model clashes
  9. Avoiding model clashes
  10. Model decision tables
  1. Modeling and the language of abstractions
  2. Concepts and representations
  3. data vs. information
  4. information vs. encapsulation
  5. Elegance
  6. Engineering abstractions
  7. Levels and meta-levels
  8. Abstraction evolution
  1. Domain description
  2. Purpose of Domain Descriptions
  3. Creating a Domain Description
  4. Organization Background
  5. Organization Goals
  6. Description of Current System
  7. Entity Model
  8. Interaction Model
  9. Organization Activity Model
  10. Current System Shortfalls
  11. Domain Description CDL
  1. System Analysis I: Operational Concept
  2. Purpose of System Analysis
  3. Integration of SA and DD
  4. Refinement patterns
  5. Performing a System Analysis for the Proposed System
  6. Project Goals and Constraints (SS)
  7. Simplifies and complicators
  8. Capabilities (PD)
  9. Iterating system capabilities (the questions)
  10. Initial project size metrics from capabilities
  11. Levels of Service (SS)
  12. Proposed System Description (PD)
  13. Statement of Purpose
  14. Proposed Entities
  15. Proposed Activities
  16. Proposed Interactions
  17. Redressing of Current System Shortfalls (SS)
  18. Effects of Operation
  19. Operational Stakeholders (PD)
  20. Organizational Relationships (PD)
  21. Operational Policies and Constraints (PY)
  22. Operational Impacts (SS)
  23. Organizational Impacts (SS)
  24. Prototyping
  25. Purpose of prototyping
  26. Kinds of prototypes
  27. Evolutionary prototyping
  28. Choosing what to prototype
  29. Managing prototype development
  1. Project Requirements
  2. What are requirements?
  3. Why not to use requirements to initiate a project
  4. Gathering requirements
  5. Stakeholders
  6. WinWin
  7. Win conditions and pre-requirements
  8. Taxonomy and requirements
  9. Prototypes and requirements
  10. Project Requirements (PY)
  11. Budget and Schedule
  12. Development Requirements
  13. Packaging Requirements
  14. Implementation Requirements
  15. Support Environment Requirements
  16. Capability Requirements
  17. System Definition (PD)
  18. System Requirements (PD)
  19. Nominal Requirements
  20. Off-Nominal Requirements
  21. System Interface Requirements
  22. User Interface Requirements (PD)
  23. Graphical User Interface Requirements
  24. Command-Line Interface Requirements
  25. Diagnostics Requirements
  26. Hardware Interface Requirements (PY)
  27. Communications Interface Requirements (PY)
  28. Other Software Interface Requirements (PY)
  29. Level of Service Requirements (PY)
  30. Evolution Requirements (PD)
  31. Capability Evolution Requirements
  32. Interface Evolution Requirements
  33. Technology Evolution Requirements
  34. Environment and Workload Evolution Requirements
  1. System Analysis II: Architecture
  2. Software architectures
  3. More on integrating DD and SA models
  4. Component models
  5. Component abstractions
  6. Component attributes
  7. Component relationships
  8. Complex relationships
  9. Constraints and dependencies
  10. Behavior models
  11. Identifying behaviors
  12. Boundaries of control
  13. Assigning Behavior to components
  14. Enterprise models
  15. Classification
  16. Component classes
  17. Class engineering
  18. Metasets, metadata, and metatypes
  1. Project Management I: Planning
  2. Milestones and Products (PS) (What? When?)
  3. Overall Life Cycle Strategy
  4. Phase Milestones and Schedules
  5. Engineering Stage
  6. Production Stage
  7. Support Stage
  8. Project Deliverables
  9. Engineering Stage
  10. Production Stage
  11. Responsibilities (PS) (Who? Where?)
  12. Stakeholder Responsibilities
  13. Stakeholder Representatives
  14. Engineering Stage
  15. Production Stage
  16. Support Stage
  17. Development Responsibilities
  18. Development Organization Charts
  19. Staffing
  20. Training
  1. Project Economics I: Business Case analysis and project feasibility
  2. Product Rationale
  3. Business Case Analysis (PY)
  4. Development Cost Analysis
  5. Implementation Cost Estimate
  6. Operational Cost Estimate
  7. Maintenance Cost Estimate
  8. Estimate of Value Added and Return on Investment
  9. Process Rationale (PY)
  10. System Priorities
  11. Process Match to System Priorities
  12. Consistency of Priorities, Process and Resources
  13. Project Risk Assessment (PY)
  14. Analysis Results (PY)
  15. Product Features
  16. Advantages
  17. Limitations
  18. Tradeoffs Considered
  19. Changes Not Included
  20. Commercial-Off-The-Shelf Solutions
  1. Meeting LCO
  2. The exit criteria: one feasible architecture
  3. The LCO ARB
  4. Expectations for LCA
  1. System Design (PD)
  2. What is software design?
  3. Integration of SA and SD models
  4. Architectural Views
  5. System Topology
  6. Component Specifications
  7. Framework and Protocol Specifications
  8. System Deployment View
  9. Logical Component View
  10. Object Model
  11. Design-level objects
  12. COTS
  13. Operations Model
  14. Critical Algorithms
  15. Operation Specifications
  16. Extending behaviors to operations
  17. Adding design abstractions to assign behaviors
  18. Relational objects
  19. Class and Configuration Models
  20. Class representation
  21. Class engineering
  22. Configuration planning
  23. Design Patterns
  24. Dependencies
  25. Delegated states
  26. Delegated roles
  27. Component-based subtyping
  28. Designing constraints
  29. Designing dependencies
  30. Designing meta-objects
  31. Application architecture
  32. Representational subsystems
  33. Abstraction layers
  34. Model-view-controller
  35. Validation
  36. Messaging
  37. Distribution
  38. Exception handling
  39. Services
  40. Parallelism
  41. Transaction Processing
  42. Mechanisms
  43. Notification
  44. Journalization
  45. Sessions
  46. Translation
  47. Relationalization
  48. Authentication
  49. Entry points
  50. Integration points
  51. Distribution point
  52. Basic GUI design
  53. Perception
  54. human - computer interaction
  55. control - response
  56. perspectives
  57. view areas
  58. Minimize controls
  59. Anticipation
  60. default behaviors
  61. control validation
  1. Project Management II: Approach (PS) (How?)
  2. Process Management
  3. Planning
  4. Milestones
  5. Schedules
  6. Increments
  7. Monitoring and Control
  8. Reviews
  9. Project Communication
  10. Support
  11. Risk
  12. Tools, Environment, Facilities
  13. Product Management
  14. Customer and Product Requirements
  15. Technical Solutions
  16. Configuration
  17. Integration
  18. Property Management
  19. Quality Assurance
  20. Verification
  21. Inspections
  22. Testing
  23. Validation
  24. Measurement and Analysis
  25. Success Management
  26. Shared Vision
  27. Transition
  28. Support
  29. Release Description
  30. Users Manual
  1. Project Economics II: Cost and Effort
  2. Resources (How much?)
  3. Work Breakdown Structure (PS)
  4. Budgets (PY)
  5. Project Management III: Completion
  6. Requirements Satisfaction (SS)
  7. Operational Concept Satisfaction
  8. Project Requirements Satisfaction
  9. Capability Requirements Satisfaction
  10. Interface Requirements Satisfaction
  11. Level of Service Requirements Satisfaction
  12. Evolution Requirements Satisfaction
  13. Stakeholder Concurrence (PD)
  1. LCA
  2. The LCA criteria
  3. LCA ARB
  4. Preparing for IOC
  1. System Implementation
  2. Overview of IOC
  3. Iterative development
  4. Iteration Plan
  5. Iteration Assessment Report
  6. Release Description
  7. Developer Responsibilities
  8. From SD to Implementation
  9. Direct mappings
  10. Implementation issues
  11. Use of prototypes
  1. Project Management IV: Monitoring and Control
  2. CQMA
  3. Project Metrics
  1. Quality Assurance
  2. Testing
  3. Test Plan
  4. Test Description and Results
  5. Inspections
  6. Inspection Plan
  7. Inspection Report
  8. Quality Management
  9. Quality Management Plan
  1. MBASE Wrap-up
  1. TRR, IOC demos
  1. Product transition and support
  2. Transition Plan
  3. User’s Manual
  4. Support Plan
  1. Project retrospective