CSCI 370 - Lecture 11 Review Sheet - Software Requirements, Design Principles, Development Models, UML Diagrams, and Design Patterns

This lecture primarily focused on reviewing a midterm exam and elaborating on important concepts in software engineering. Below is a detailed breakdown of the key points discussed, with elaborations where necessary.


๐Ÿ” Functional vs. Non-Functional Requirements


โ˜๏ธ Benefits of Using Cloud Software


๐Ÿงฑ Strategy Pattern


๐Ÿงผ Code Quality - DRY Principle


๐Ÿงฉ Relationships Between Classes

Example: MedicalRecord and Database


๐Ÿ” Incremental Development


๐Ÿ“ Design Principle - Open/Closed Principle


โš ๏ธ Software Engineering Challenges


๐Ÿ•ต๏ธ Observer Pattern


โ˜๏ธ Singleton Pattern


๐Ÿ”„ Incremental Development: True/False


โš™๏ธ Missing Step in Process


๐Ÿšฐ Waterfall Model Use Cases


๐Ÿ“Š Process Order

  1. Feasibility (Can we do it?)
  2. Requirements
  3. Design
  4. Development
  5. Testing
  6. Deployment & Maintenance (follow afterward)

๐Ÿ” Reusable Software


๐Ÿ–ผ UML Diagrams


๐Ÿงฐ Best Design Practice


๐Ÿง‘โ€๐Ÿ’ผ Maintainability in High Turnover Environments


๐ŸŽ“ Degree Requirement


๐Ÿ’ผ Software Project Scope


๐Ÿ” Process Not Required in Software Discovery


๐Ÿงช Summary of Design Patterns Mentioned


โœ… Key Takeaways