You must be logged in to take this course → LOGIN | REGISTER NOW
The [course_title] course covers the principles and analysis needed for the analysis and design of large software systems. The course helps you to illustrates the analysis and design of an application using UML
The course is divided into four sections: Introduction, UML and Analysis, Software Architecture, and Software Design. You will learn to choose and use appropriate architectural styles. You will also know to apply the appropriate apply object-oriented design techniques and software design patterns. Finally, the course helps you to understand and perform a design review.
Assessment
This course does not involve any written exams. Students need to answer 5 assignment questions to complete the course, the answers will be in the form of written work in pdf or word. Students can write the answers in their own time. Each answer need to be 200 words (1 Page). Once the answers are submitted, the tutor will check and assess the work.
Certification
Edukite courses are free to study. To successfully complete a course you must submit all the assignment of the course as part of assessment. Upon successful completion of a course, you can choose to make your achievement formal by obtaining your Certificate at a cost of £49.
Having an Official Edukite Certification is a great way to celebrate and share your success. You can:
- Add the certificate to your CV or resume and brighten up your career
- Show it to prove your success
Course Credit: Georgia Institute of Technology and Georgia Tech Online Master of Science in Computer Science.
Course Curriculum
P1L1 Introduction | |||
1. Welcome | 00:01:00 | ||
2. Introductions | 00:02:00 | ||
3. Course | 00:01:00 | ||
4. Objectives | 00:01:00 | ||
5. Course Structure | 00:01:00 | ||
6. Readings | 00:01:00 | ||
7. Assignments | 00:01:00 | ||
8. Projects: Design Studies | 00:04:00 | ||
9. Policies | 00:02:00 | ||
10. Grading | 00:02:00 | ||
11. Class Participation | 00:02:00 | ||
12. Resources | 00:01:00 | ||
13. Conclusion | 00:01:00 | ||
P1L2 Text Browser Exercise (Analysis) | |||
1. Introduction | 00:01:00 | ||
2. Text Browser Exercise | 00:01:00 | ||
3. Quiz: GUI Elements Quiz | 00:01:00 | ||
4. FileManager | 00:01:00 | ||
5. ViewPort | 00:01:00 | ||
6. ScrollBar | 00:02:00 | ||
7. Use Cases | 00:01:00 | ||
8. Quiz: Use Cases Quiz | 00:01:00 | ||
9. Analysis Model | 00:01:00 | ||
10. Quiz: Classes Quiz | 00:01:00 | ||
11. Operations | 00:02:00 | ||
12. Quiz: Operations Quiz | 00:01:00 | ||
13. Quiz: Visible Attributes Quiz | 00:01:00 | ||
14. FileManager | 00:02:00 | ||
15. Relationships | 00:01:00 | ||
16. Quiz: Relationships Quiz | 00:01:00 | ||
17. Quiz: Number of Lines Quiz | 00:01:00 | ||
18. LinesVisible Association | 00:01:00 | ||
19. Quiz: Another Association Quiz | 00:01:00 | ||
20. Explanation | 00:01:00 | ||
21. Displays Diagram | 00:01:00 | ||
22. Quiz: Handle Association Quiz | 00:01:00 | ||
23. HandleProportion | 00:01:00 | ||
24. Subtleties | 00:02:00 | ||
25. Summary | 00:01:00 | ||
P1L3 Design Concepts | |||
1. Design Concepts | 00:01:00 | ||
2. Quiz: Terms Quiz | 00:01:00 | ||
3. Quiz: Programming or Design Quiz | 00:01:00 | ||
4. Software Design | 00:01:00 | ||
5. Design Notation | 00:02:00 | ||
6. Quiz: Weather Quiz | 00:01:00 | ||
7. Approaches to Software Design | 00:02:00 | ||
8. Issues with Design | 00:01:00 | ||
9. Quiz: Design Review Quiz | 00:01:00 | ||
10. Design Validation | 00:02:00 | ||
11. Other Design Issues | 00:01:00 | ||
12. Design Documentation | 00:01:00 | ||
13. Quiz: Documentation Quiz | 00:01:00 | ||
14. Traditional Design Documentation | 00:02:00 | ||
15. Leonardo Objects | 00:02:00 | ||
16. Design Rationale | 00:01:00 | ||
17. Coupling and Cohesion | 00:03:00 | ||
18. Quiz: Java Quiz 1 | 00:01:00 | ||
19. Quiz: Java Quiz 2 | 00:01:00 | ||
20. Information Hiding | 00:01:00 | ||
21. Abstraction and Refinement | 00:02:00 | ||
22. Aesthetics | 00:02:00 | ||
23. Design Philosophy | 00:02:00 | ||
24. Quiz: Metaphors Quiz | 00:01:00 | ||
25. Observations | 00:01:00 | ||
P2L1 Review of UML | |||
1. Diagrams | 00:02:00 | ||
2. OMT | 00:01:00 | ||
3. UML | 00:02:00 | ||
4. Diagram Types | 00:02:00 | ||
5. Quiz: Diagram Quiz | 00:01:00 | ||
6. Class Models | 00:01:00 | ||
7. UML Classes | 00:01:00 | ||
8. UML Relationships | 00:01:00 | ||
9. Example Class Diagram | 00:01:00 | ||
10. Object Diagram | 00:01:00 | ||
11. Composite Structure Diagram | 00:01:00 | ||
12. Component Diagram | 00:01:00 | ||
13. Example Component Diagram | 00:01:00 | ||
14. Deployment Diagram | 00:01:00 | ||
15. Example Deployment Diagram | 00:01:00 | ||
16. Packages | 00:01:00 | ||
17. Example Class Diagram with Packages | 00:01:00 | ||
18. Example Package Diagram | 00:01:00 | ||
19. Profile Diagram | 00:01:00 | ||
20. Example Profile Diagram | 00:01:00 | ||
21. Quiz: UML Structure Diagram Quiz S4R | 00:01:00 | ||
22. Quiz: UML Quiz | 00:01:00 | ||
23. Behavior Diagrams | 00:01:00 | ||
24. Use Case Diagram | 00:01:00 | ||
25. Use Case Diagrams | 00:02:00 | ||
26. Example of Use Case Diagrams | 00:01:00 | ||
27. Individual Use Cases | 00:01:00 | ||
28. Tabular Version of Example | 00:01:00 | ||
29. Context Diagrams | 00:01:00 | ||
30. Example Context Diagrams | 00:01:00 | ||
31. Sequence Diagram | 00:01:00 | ||
32. Example Sequence Diagram | 00:01:00 | ||
33. Communication Diagram | 00:01:00 | ||
34. Example Communication Diagram | 00:01:00 | ||
35. Activity Diagram | 00:01:00 | ||
36. Example Activity Diagram | 00:02:00 | ||
37. Interaction Overview Diagram | 00:01:00 | ||
38. Timing Diagram | 00:01:00 | ||
39. State Diagrams | 00:01:00 | ||
40. Example State Machine Diagrams | 00:01:00 | ||
41. Quiz: Behavior Diagram Quiz | 00:01:00 | ||
42. Object Constraint Language | 00:02:00 | ||
43. Example OCL | 00:01:00 | ||
44. UML MetaModel | 00:01:00 | ||
45. Class Model of UML MetaModel | 00:01:00 | ||
46. Summary | 00:01:00 | ||
Lesson 5: P2L2 Object Oriented Analysis Exercise | |||
1. Analysis | 00:01:00 | ||
2. Object Oriented Analysis (OOA) | 00:01:00 | ||
3. Quiz: Object Quiz | 00:01:00 | ||
4. Object Oriented Analysis and Design | 00:01:00 | ||
5. OOA | 00:01:00 | ||
6. Steps in OOA | 00:01:00 | ||
7. Technique | 00:01:00 | ||
8. Quiz: Step 1: Locate Nouns Quiz | 00:02:00 | ||
9. Issues | 00:02:00 | ||
10. Quiz: Step 2: Candidate Classes Quiz | 00:01:00 | ||
11. Initial Class Model Diagram | 00:01:00 | ||
12. Caveats | 00:02:00 | ||
13. Quiz: Step 3: Adjectives Quiz | 00:01:00 | ||
14. Adjective Issues | 00:02:00 | ||
15. Updated Class Model | 00:02:00 | ||
16. Step 4: Operations | 00:01:00 | ||
17. Quiz: Action Verbs Quiz | 00:01:00 | ||
18. Operation in Class Quiz | 00:01:00 | ||
19. Operations in Classes | 00:02:00 | ||
20. Operation Issues | 00:02:00 | ||
21. Step 5: Relationships | 00:02:00 | ||
22. Generalizations | 00:01:00 | ||
23. Quiz: Generalization Quiz | 00:01:00 | ||
24. Aggregations | 00:01:00 | ||
25. Quiz: Aggregation Quiz | 00:01:00 | ||
26. Associations | 00:01:00 | ||
28. Relationship Issues | 00:01:00 | ||
29. Summary | 00:22:00 | ||
Lesson 6: P2L3 UML Class Models | |||
1. Introduction | 00:02:00 | ||
2. Classes | 00:02:00 | ||
3. Name Compartment | 00:02:00 | ||
4. Class Features | 00:01:00 | ||
5. Attributes Compartment | 00:02:00 | ||
6. Operations Compartment | 00:03:00 | ||
7. Quiz: Abstract Class Quiz | 00:01:00 | ||
8. More Example Classes | 00:02:00 | ||
9. Quiz: Class Description Quiz | 00:01:00 | ||
10. Advanced Features | 00:02:00 | ||
11. Relationships | 00:01:00 | ||
12. Associations | 00:05:00 | ||
13. Assocation Class | 00:02:00 | ||
14. Aggregation & Composition | 00:02:00 | ||
15. Quiz: Aggregation & Composition Quiz | 00:01:00 | ||
16. Qualifiers | 00:02:00 | ||
17. Links | 00:02:00 | ||
18. Generalizations | 00:05:00 | ||
19. Quiz: Constraints Quiz | 00:01:00 | ||
20. Quiz: Superclass & Subclass Quiz | 00:01:00 | ||
21. Quiz: Summary Quiz | 00:01:00 | ||
22. Summary | 00:01:00 | ||
Lesson 7: P2L4 Design Studies | |||
1. Design | 00:01:00 | ||
2. Design Studies | 00:01:00 | ||
3. Definition | 00:01:00 | ||
4. Design Spaces | 00:01:00 | ||
5. Quiz: Design Factors Quiz | 00:01:00 | ||
6. Teaching and Learning | 00:01:00 | ||
7. Projects | 00:01:00 | ||
8. Experiments | 00:01:00 | ||
9. Report | 00:01:00 | ||
10. 1 Context | 00:01:00 | ||
11. 2. Research Questions | 00:01:00 | ||
12. 3. Subject | 00:01:00 | ||
13. 4. Experimental Conditions | 00:01:00 | ||
14. 5. Variables | 00:01:00 | ||
15. 6. Method | 00:01:00 | ||
16. 7. Results | 00:01:00 | ||
17. 8. Discussion | 00:01:00 | ||
18. 9. Conclusions | 00:01:00 | ||
19. Deliverables | 00:01:00 | ||
20. Wrap Up | 00:01:00 | ||
Lesson 8: P2L5 Library Exercise (UML) | |||
1. Introduction | 00:02:00 | ||
2. Analyzing Requirements | 00:07:00 | ||
3. Refining Classes and Attributes | 00:06:00 | ||
4. Adding Attributes | 00:04:00 | ||
5. Identifying Operations | 00:04:00 | ||
6. Adding Relationships | 00:07:00 | ||
7. Refining Relationships | 00:03:00 | ||
8. Refining the Class Diagram | 00:04:00 | ||
9. Final Considerations | 00:03:00 | ||
10. Debriefing | 00:02:00 | ||
Lesson 9: P2L6 Formal Specification Exercise | |||
1. Specification | 00:01:00 | ||
2. FOL | 00:01:00 | ||
3. OCL | 00:01:00 | ||
4. Sorting | 00:01:00 | ||
5. Exercise Introduction | 00:02:00 | ||
6. Input Type | 00:01:00 | ||
7. Output Type | 00:01:00 | ||
8. Ordering | 00:01:00 | ||
9. Sensitivity to Input | 00:03:00 | ||
10. Circularity | 00:01:00 | ||
11. SORT in English | 00:01:00 | ||
12. Process | 00:01:00 | ||
13. Signature | 00:01:00 | ||
14. Comments on Signatures | 00:01:00 | ||
15. Quiz: SQRT Signature Quiz | 00:01:00 | ||
16. SQRT Preconditions | 00:01:00 | ||
17. SORT Preconditions | 00:03:00 | ||
18. Postconditions | 00:01:00 | ||
19. Quiz: SQRT Postcondition Quiz | 00:01:00 | ||
20. Comments on Postconditions | 00:01:00 | ||
21. Postconditions for SORT | 00:01:00 | ||
22. Ordered | 00:01:00 | ||
23. Elements | 00:05:00 | ||
24. Quiz: ORDERED Precondition Quiz | 00:01:00 | ||
25. ORDERED Postcondition | 00:01:00 | ||
26. Quiz: RORDERED Spec and Pre Quiz | 00:01:00 | ||
27. RORDERED Postcondition | 00:02:00 | ||
28. SAME_ELEMENTS_AS Signature | 00:02:00 | ||
29. Same Elements As in English | 00:03:00 | ||
30. Permutation | 00:01:00 | ||
31. Quiz: PERMUTATION Signature Quiz | 00:01:00 | ||
32. PERMUTATION Postcondition | 00:02:00 | ||
33. Non Empty Case | 00:03:00 | ||
34. Non Matching Case | 00:01:00 | ||
35. Recursion | 00:01:00 | ||
36. Pasting | 00:02:00 | ||
37. Third Case | 00:02:00 | ||
38. All Together | 00:02:00 | ||
39. Some Questions | 00:02:00 | ||
40. OCL | 00:01:00 | ||
41. Notes | 00:01:00 | ||
42. Summary | 00:01:00 | ||
Lesson 10: P2L7 OCL | |||
1. OCL | 00:02:00 | ||
2. Why Do We Need OCL? | 00:01:00 | ||
3. OCL Overview | 00:01:00 | ||
4. Uses of OCL | 00:01:00 | ||
5. Syntax | 00:01:00 | ||
6. Invariants | 00:01:00 | ||
7. Role of Invariants | 00:01:00 | ||
8. Quiz: Invariant Constraint Quiz | 00:01:00 | ||
9. Pre and Post Conditions | 00:01:00 | ||
10. Pre and Post Conditions Example | 00:01:00 | ||
11. Changes to Attribute Values | 00:03:00 | ||
12. Quiz: Post Condition Quiz | 00:01:00 | ||
13. OCL Built in Types | 00:01:00 | ||
14. OCL Keyword | 00:01:00 | ||
15. Let Clause | 00:02:00 | ||
16. Navigation | 00:02:00 | ||
17. Navigation Example | 00:01:00 | ||
18. Navigation Multiplicity | 00:02:00 | ||
19. Quiz: Bank ID Quiz | 00:01:00 | ||
20. Collections | 00:01:00 | ||
21. Other OCL Features | 00:02:00 | ||
22. Summary | 00:01:00 | ||
Lesson 11: P2L8 Library Exercise (OCL) | |||
Library Exercise | 00:01:00 | ||
Library Problem Requirements | 00:01:00 | ||
Class Model Diagram | 00:01:00 | ||
Limitations | 00:01:00 | ||
Requirement 6 | 00:02:00 | ||
Quiz: Requirement 6 Quiz | 00:01:00 | ||
Quiz: Checked Out Quiz | 00:01:00 | ||
Requirement 6 OCL | 00:02:00 | ||
Explanation | 00:03:00 | ||
Quiz: Requirement 7 OCL Quiz | 00:01:00 | ||
Operations | 00:02:00 | ||
CheckedOut Operation | 00:08:00 | ||
Explanation | 00:01:00 | ||
Quiz: Requirement 4 OCL Quiz | 00:04:00 | ||
Requirement 4 Explanation | 00:02:00 | ||
Side Effects | 00:02:00 | ||
Requirement 5 Signature | 00:03:00 | ||
Quiz: Checkout Preconditions Quiz | 00:01:00 | ||
Requirement 5 | 00:02:00 | ||
Checkout Postconditions | 00:04:00 | ||
Further Checkout Explanation | 00:02:00 | ||
Postconditions | 00:11:00 | ||
Quiz: Derived Data Quiz | 00:02:00 | ||
Missing Pieces | 00:02:00 | ||
Observations | 00:01:00 | ||
Lesson 12: P2L9 Behavior Modeling | |||
1. Behavior Modeling | 00:01:00 | ||
2. States | 00:01:00 | ||
3. Quiz: Tic Tac Toe Quiz | 00:01:00 | ||
4. Events | 00:01:00 | ||
5. UML Event Taxonomy | 00:01:00 | ||
6. Quiz: State vs Event Quiz | 00:01:00 | ||
7. Modeling Techniques | 00:02:00 | ||
8. Combinatorial Modeling | 00:01:00 | ||
9. Decision Tables | 00:03:00 | ||
10. Decision Trees | 00:02:00 | ||
11. Sequential Systems | 00:01:00 | ||
12. State Transition Table (STT) | 00:02:00 | ||
13. Quiz: Garage Door Quiz 1 | 00:01:00 | ||
14. Quiz: Garage Door Quiz 2 | 00:01:00 | ||
15. STT for Garage Door System | 00:01:00 | ||
16. State Transition Diagrams | 00:02:00 | ||
17. Example Garage Door | 00:02:00 | ||
18. Example Telephone | 00:02:00 | ||
19. Problems with State Transition Diagrams | 00:01:00 | ||
20. State Charts | 00:02:00 | ||
21. State Chart Icons | 00:01:00 | ||
22. State Chart Extensions to FSMs | 00:02:00 | ||
23. State Chart Nesting | 00:03:00 | ||
24. State Chart Nesting UML Example | 00:02:00 | ||
25. UML Example Harel’s Notation | 00:03:00 | ||
26. Concurrency | 00:03:00 | ||
27. Synchronization | 00:01:00 | ||
28. Broadcast (Cascade) Events | 00:02:00 | ||
29. Data Conditions | 00:02:00 | ||
30. Special Transitions | 00:02:00 | ||
31. History States | 00:01:00 | ||
32. Complete UML State Description S12R | 00:02:00 | ||
33. Complete UML Transition Description | 00:01:00 | ||
34. Relationship to Class Diagram | 00:02:00 | ||
35. Harel’s Digital Watch | 00:02:00 | ||
36. Quiz: Harel’s Digital Watch Quiz | 00:01:00 | ||
37. Summary | 00:02:00 | ||
Lesson 13: P2L10 Clock Radio Exercise | |||
1. Modeling with Statecharts | 00:01:00 | ||
2. Description | 00:03:00 | ||
3. Exercise Introduction | 00:03:00 | ||
4. Quiz: Percepts Exercise | 00:01:00 | ||
5. Quiz: Percept States Exercise S13R | 00:01:00 | ||
6. Display FSM | 00:01:00 | ||
7. Quiz: Mode Switch Exercise | 00:01:00 | ||
8. Station Indicator | 00:01:00 | ||
9. Station Indicator FSM | 00:01:00 | ||
10. Speaker | 00:01:00 | ||
11. So Far | 00:01:00 | ||
12. External Controls and Stimuli | 00:01:00 | ||
13. From Actions to Events | 00:01:00 | ||
14. Quiz: Outermost Layer StateChart Exercise | 00:01:00 | ||
15. Adding Events | 00:01:00 | ||
16. Event Allocation Exercise | 00:01:00 | ||
17. New Sub-Machines | 00:01:00 | ||
18. Setting the Time | 00:01:00 | ||
19. Responses to Events | 00:01:00 | ||
20. Quiz: Stimulus Response Table | 00:01:00 | ||
21. Stimulus Respone Table | 00:01:00 | ||
22. Quiz: Timer Events Exercise | 00:01:00 | ||
23. Internal States | 00:01:00 | ||
24. Other Internal Events | 00:01:00 | ||
25. Guarded Transitions | 00:01:00 | ||
26. Cascaded Events | 00:01:00 | ||
27. Example | 00:01:00 | ||
28. Still To Do | 00:01:00 | ||
29. Validation | 00:02:00 | ||
30. Statechart Modeling Method | 00:02:00 | ||
31. Conclusion | 00:01:00 | ||
Lesson 14: P3L1 KWIC Exercise | |||
1. Software Architecture | 00:01:00 | ||
2. Key Word in Context | 00:01:00 | ||
3. Example of Circular Shifts | 00:01:00 | ||
4. Example with Multiple Titles | 00:01:00 | ||
5. KWIC Exercise | 00:01:00 | ||
6. Quiz: Diagramming KWIC Quiz | 00:01:00 | ||
7. Components | 00:01:00 | ||
8. Shared Data | 00:01:00 | ||
9. Pipe and Filter | 00:01:00 | ||
10. Pipe and Filter Diagram | 00:03:00 | ||
11. Abstract Data Types | 00:01:00 | ||
12. Abstract Data Type Diagram | 00:01:00 | ||
13. Implicit Invocation | 00:01:00 | ||
14. Implicit Invocation Diagram | 00:01:00 | ||
15. Quiz: Shared Data Approach Quiz | 00:01:00 | ||
16. Evaluation | 00:01:00 | ||
17. Quiz: Enhancements Quiz | 00:01:00 | ||
18. Quiz: Reusability Quiz | 00:01:00 | ||
19. Quiz: Data Change Resilience Quiz | 00:01:00 | ||
20. Quiz: Deletion Quiz | 00:01:00 | ||
21. Lessons | 00:01:00 | ||
Lesson 15: P3L2 Overview of Architectural Styles | |||
1. Introduction | 00:01:00 | ||
2. Informal Definition | 00:01:00 | ||
3. Quiz: Analysis to Components Quiz | 00:01:00 | ||
5. Other Definitions | 00:01:00 | ||
6. Components | 00:01:00 | ||
7. Selecting Components | 00:02:00 | ||
8. APIs | 00:01:00 | ||
9. Connectors | 00:01:00 | ||
10. Example Connector | 00:01:00 | ||
11.Configuration | 00:01:00 | ||
12. Terminology | 00:03:00 | ||
13. Architectural Views | 00:01:00 | ||
14. Quiz: UML Diagram Quiz | 00:01:00 | ||
15. Architectural Styles | 00:01:00 | ||
16. Quiz: Decisions Quiz | 00:01:00 | ||
17. Architectural Styles (cont) | 00:02:00 | ||
18. Catalog of Styles | 00:05:00 | ||
19. More Styles | 00:05:00 | ||
20. Style Issues | 00:02:00 | ||
21. Architecture Description Language | 00:01:00 | ||
22. Architectural Evaluation | 00:02:00 | ||
23. SAAM | 00:02:00 | ||
24. Summary | 00:01:00 | ||
Lesson 16: P3L3 Architectural Views | |||
1. Architectural Views | 00:02:00 | ||
2. Logical View | 00:02:00 | ||
3. Developmental View | 00:02:00 | ||
4. Quiz: Diagram Types Quiz | 00:01:00 | ||
5. Process View | 00:01:00 | ||
6. Physical View | 00:02:00 | ||
7. Use Case View | 00:02:00 | ||
8. Context View | 00:02:00 | ||
9. Individual Use Cases | 00:02:00 | ||
10. Feature View | 00:01:00 | ||
11. Quiz: Feature Diagram Quiz 1 | 00:01:00 | ||
12. Quiz: Feature Diagram Quiz 2 | 00:01:00 | ||
13. Non Functional View | 00:02:00 | ||
14. Quiz: Non Functional Requirements Quiz | 00:01:00 | ||
15. Bug Reporting View | 00:02:00 | ||
16. Utility Views | 00:01:00 | ||
17. Conclusion | 00:01:00 | ||
Lesson 17: P3L4 Text Browser Exercise (Arch) | |||
1. TextBrowser Case Study | 00:01:00 | ||
2. TextBrowser | 00:01:00 | ||
3. Exercise | 00:05:00 | ||
4. Phase 0 Preparation | 00:01:00 | ||
5. Phase 0 Summary | 00:01:00 | ||
6. Phase 1 | 00:02:00 | ||
7. Phase 1 Steps | 00:01:00 | ||
8. Decomposition | 00:01:00 | ||
9. Phase 1 Diagram | 00:02:00 | ||
10. OCL Postcondition Constraint | 00:01:00 | ||
11. Another Postcondition | 00:01:00 | ||
12. Third OCL Invariant Constraint | 00:02:00 | ||
13. Phase 1 Summary | 00:01:00 | ||
14. Phase 2 | 00:01:00 | ||
15. Phase 2 Steps | 00:01:00 | ||
16. Quiz: Text Browser Arch Quiz | 00:01:00 | ||
17. Layered & Implicit Invocation | 00:02:00 | ||
18. Benefits and Costs | 00:02:00 | ||
19. Assigning Components to Layers | 00:01:00 | ||
20. Phase 2 Diagram | 00:01:00 | ||
21. OCL Updates | 00:02:00 | ||
22. Quiz: Resize Window Quiz | 00:01:00 | ||
23. Constraint Placement | 00:01:00 | ||
24. Quiz: Invariant Maintenance Quiz | 00:02:00 | ||
25. Invariant Maintenance Strategies | 00:02:00 | ||
26. Quiz: Centralized Strategy Quiz | 00:01:00 | ||
27. Quiz: Decentralized Strategy Quiz | 00:01:00 | ||
28. Tradeoff Between Locality and Complexity | 00:01:00 | ||
29. Example Continued | 00:01:00 | ||
30. Aggregation | 00:01:00 | ||
31. Quiz: Aggregated Responsibility Quiz | 00:01:00 | ||
32. Distributed Responsibility | 00:01:00 | ||
33. Quiz: Distributed Responsibility Quiz | 00:01:00 | ||
34. Mediators | 00:01:00 | ||
35. Quiz: Mediated Responsibility Quiz S17R | 00:01:00 | ||
36. Summary of Process | 00:01:00 | ||
37. Conclusion | 00:02:00 | ||
Lesson 18: P3L5 Non-Functional Reqs & Arch Styles | |||
1. Non-Functional Reqs & Arch Styles | 00:01:00 | ||
2. Qualitites | 00:01:00 | ||
3. Quiz: Non Functional Qualities Quiz S18R | 00:01:00 | ||
4. Quiz: Functional and Non Functional Requirements Quiz | 00:01:00 | ||
5. Quality Catalog | 00:03:00 | ||
6. Quiz: Applications Quiz | 00:01:00 | ||
7. Architectural Styles | 00:01:00 | ||
8. Review of Architectural Styles | 00:01:00 | ||
9. Pipe and Filter Performance | 00:01:00 | ||
10. Pipe and Filter Maintainability | 00:01:00 | ||
11. Pipe and Filter Other Qualities | 00:01:00 | ||
12. Layering Qualities | 00:01:00 | ||
13. Blackboard Reliability and Security | 00:01:00 | ||
14. Other Blackboard Qualities | 00:01:00 | ||
15. Object Orientation Maintainability | 00:01:00 | ||
16. Object Orientation Security | 00:01:00 | ||
17. Other Object Orientation Qualities | 00:01:00 | ||
18. Implicit Invocation Qualities | 00:02:00 | ||
19. Quiz: Side Effects Quiz 1 | 00:01:00 | ||
20. Quiz: Side Effects Quiz 2 | 00:01:00 | ||
21. Summary | 00:01:00 | ||
Lesson 19: P3L6 Connectors | |||
1. Connectors | 00:01:00 | ||
2. Atomic Elements | 00:01:00 | ||
3. Quiz: Pipe and Filter Quiz | 00:01:00 | ||
4. Service Categories | 00:01:00 | ||
5. Quiz: Services Quiz | 00:01:00 | ||
6. Variety of Connectors | 00:01:00 | ||
7. Procedure Call Connectors | 00:01:00 | ||
8. Event Connectors | 00:01:00 | ||
9. Data Access Connectors | 00:01:00 | ||
10. Linkage Connectors | 00:01:00 | ||
11. Stream Connectors | 00:01:00 | ||
12. Arbitrator Connectors | 00:02:00 | ||
13. Adaptor Connectors | 00:01:00 | ||
14. Distributor Connectors | 00:01:00 | ||
15. Summary of Connector Types | 00:01:00 | ||
16. Quiz: Connector Type Quiz | 00:01:00 | ||
17. Composite Connector Examples | 00:04:00 | ||
18. Connector Design | 00:01:00 | ||
19. Validation Rules | 00:01:00 | ||
20. Linux Case Study | 00:02:00 | ||
21. Summary | 00:01:00 | ||
Lesson 20: P3L7 Acme | |||
1. ADLs | 00:01:00 | ||
2. ACME | 00:01:00 | ||
3. ACME Features | 00:01:00 | ||
4. Architecture Vocabulary | 00:02:00 | ||
5. Simple Architecture Example | 00:02:00 | ||
6. Quiz: ACME Quiz | 00:01:00 | ||
7. ACME Graphical View | 00:01:00 | ||
8. Decomposition | 00:01:00 | ||
9. Representations | 00:01:00 | ||
10. Example Representation | 00:01:00 | ||
11. Extending ACME | 00:01:00 | ||
12. Properties | 00:02:00 | ||
13. Properties Example | 00:01:00 | ||
14. Families | 00:01:00 | ||
15. Example Family | 00:01:00 | ||
16. Open Semantic Framework | 00:01:00 | ||
17. Quiz: Acme Features Quiz | 00:01:00 | ||
18. Quiz: Acme Features Quiz 2 | 00:01:00 | ||
19. ACME Limitations | 00:01:00 | ||
Lesson 21: P3L8 Refinement | |||
1. Complexity & Abstraction | 00:01:00 | ||
2. Levels of Abstraction | 00:01:00 | ||
3. Divide & Conquer | 00:01:00 | ||
4. Horizontal Decomposition | 00:01:00 | ||
5. Vertical Decomposition | 00:01:00 | ||
6. Proper Refinements | 00:01:00 | ||
7. Property 1 | 00:01:00 | ||
8. Bank Account | 00:01:00 | ||
9. Bank Account Class | 00:01:00 | ||
10. Quiz: Bank Account Quiz | 00:01:00 | ||
11. Property 2 | 00:01:00 | ||
12. Notation | 00:01:00 | ||
13. Valid Operations | 00:02:00 | ||
14. Implications of Property 2 | 00:01:00 | ||
15. Property 3 | 00:01:00 | ||
16. Bank Account Refinement | 00:01:00 | ||
17. Quiz: Bank Account Quiz 5 | 00:01:00 | ||
18. Property 3 Details | 00:01:00 | ||
19. More Notation | 00:01:00 | ||
20. Adequate Representation | 00:01:00 | ||
21. Note on the Exercise | 00:01:00 | ||
22. Quiz: Adequacy Quiz | 00:01:00 | ||
23. Total Representation | 00:01:00 | ||
24. Quiz: Totality Quiz | 00:01:00 | ||
25. Models | 00:01:00 | ||
26. Operation Inputs | 00:01:00 | ||
27. Interpretation | 00:01:00 | ||
28. Quiz: Inputs Quiz | 00:01:00 | ||
29. Outputs | 00:01:00 | ||
30. Quiz: Outputs Quiz | 00:01:00 | ||
31. Satisfy Property 2 | 00:01:00 | ||
32. Summary | 00:01:00 | ||
Lesson 22: P3L9 Middleware | |||
1. Architecture of Distributed Systems | 00:02:00 | ||
2. Middleware | 00:01:00 | ||
3. Context | 00:01:00 | ||
4. Needs | 00:01:00 | ||
5. Exercise Application | 00:01:00 | ||
6. Characteristic Issues | 00:01:00 | ||
7. Network Communication | 00:01:00 | ||
8. Data Transportability | 00:01:00 | ||
9. Quiz: Voting Application Quiz 1 | 00:01:00 | ||
10. Transcations (ACID) | 00:02:00 | ||
11. Quiz: Voting Application Quiz 2 | 00:01:00 | ||
12. Coordination | 00:01:00 | ||
13. Quiz: Voting Application Quiz 3 | 00:01:00 | ||
14. Reliability | 00:02:00 | ||
15. Quiz: Voting Application Quiz 4 | 00:01:00 | ||
16. Quiz: Voting Application Quiz 5 | 00:01:00 | ||
17. Scalablity | 00:01:00 | ||
18. Kinds of Transparancy | 00:01:00 | ||
20. Implications of Heterogeneity | 00:01:00 | ||
21. Quiz: LAMP Quiz | 00:01:00 | ||
22. Other Non Functional Issues | 00:01:00 | ||
23. Challenges | 00:01:00 | ||
24. Kinds of Middleware | 00:01:00 | ||
25. Transactional Middleware | 00:01:00 | ||
26. Message Oriented Middleware | 00:01:00 | ||
27. Procedural Middleware | 00:01:00 | ||
28. Object and Component Middleware | 00:01:00 | ||
29. Quiz: Middleware Quiz | 00:01:00 | ||
30. Software Engineering Issues | 00:01:00 | ||
31. Research Questions | 00:01:00 | ||
32. Examples | 00:01:00 | ||
33. Quiz: Service Oriented Quiz | 00:01:00 | ||
34. Web Services | 00:01:00 | ||
35. Web Services Protocols | 00:01:00 | ||
36. J2EE System | 00:01:00 | ||
37. SOA | 00:01:00 | ||
38. SOA Services | 00:01:00 | ||
39. Characteristics of Services | 00:01:00 | ||
40. SOA Rearchitecting | 00:01:00 | ||
41. Summary | 00:01:00 | ||
Lesson 23: P3L10 Guest Interview: LayerBlox | |||
1. Introduction | 00:01:00 | ||
2. LogicBlox | 00:01:00 | ||
3. Role | 00:01:00 | ||
4. Typical Application | 00:01:00 | ||
5. Motivation for LayerBlox | 00:01:00 | ||
6. LayerBlox | 00:01:00 | ||
7. Assembly Spec | 00:01:00 | ||
8. Components | 00:01:00 | ||
9. Interfaces | 00:01:00 | ||
10. Refinements | 00:02:00 | ||
11. Variants | 00:05:00 | ||
12. Product Lines | 00:02:00 | ||
13. Possible Limitations | 00:05:00 | ||
14. More on LayerBlox | 00:01:00 | ||
15. Implications & Advice | 00:07:00 | ||
Lesson 24: P4L1 Components | |||
1. Bottom Up Design | 00:01:00 | ||
2. Components | 00:01:00 | ||
3. Buy vs Build | 00:01:00 | ||
4. Quiz: Buy Quiz | 00:01:00 | ||
5. Build | 00:01:00 | ||
6. The Third Way | 00:01:00 | ||
7. Quiz: Third Party Quiz | 00:01:00 | ||
8. Characterizations of Components | 00:01:00 | ||
9. Component Life Cycle | 00:01:00 | ||
10. Component Models | 00:01:00 | ||
11. Quiz: Component Models Quiz | 00:01:00 | ||
12. Examples of Component Models | 00:01:00 | ||
13. Issues | 00:01:00 | ||
14. Issue 1: Configuration | 00:01:00 | ||
15. Issue 2: Versioning | 00:01:00 | ||
16. Versioning Strategy | 00:01:00 | ||
17. Quiz: Automobile Components Quiz | 00:01:00 | ||
18. Issue 3: Extensions | 00:01:00 | ||
19. Issue 4: Callbacks | 00:01:00 | ||
20. Invariants | 00:01:00 | ||
21. Callback Example | 00:01:00 | ||
22. Quiz: Callbacks Quiz | 00:01:00 | ||
23. Callback Summary | 00:01:00 | ||
24. Issue 5: Contracts and Guarantees | 00:01:00 | ||
25. Level 1: Signature Contracts | 00:01:00 | ||
26. Level 2: Correctness Contract | 00:01:00 | ||
27. Level 3: Collaboration Contracts | 00:01:00 | ||
28. Level 4: Quality of Service Contracts | 00:01:00 | ||
29. Quiz: Guarantees Quiz | 00:01:00 | ||
30. Summary of Contracts | 00:01:00 | ||
31. Issue 6: Objects as Components | 00:01:00 | ||
32. Object as Component Problems | 00:01:00 | ||
33. Inheritance Dangers | 00:01:00 | ||
34. Fragile Base Class Problem | 00:01:00 | ||
35. Issue 7: (Industry) Scaling | 00:01:00 | ||
36. Issue 8: Domain Standards | 00:01:00 | ||
37. Quiz: Proprietary or Domain Quiz | 00:01:00 | ||
38. Component Framework | 00:00:00 | ||
39. Shared Attributes | 00:01:00 | ||
41. Comparison of Supported Variability S24R | 00:01:00 | ||
42. Future Directions | 00:01:00 | ||
43. Summary | 00:01:00 | ||
Lesson 25: P4L2 Coffee Maker Exercise | |||
1. Status | 00:01:00 | ||
2. Robert Martin’s Coffee Maker | 00:01:00 | ||
3. The Mark IV Special Coffee Maker | 00:01:00 | ||
4. Hardware Quiz | 00:01:00 | ||
5. Hardware | 00:01:00 | ||
6. Hardware Design | 00:01:00 | ||
7. Two Approaches | 00:01:00 | ||
8. Quiz: Traditional Approach Quiz | 00:01:00 | ||
9. Class Model Diagram | 00:01:00 | ||
10. Quiz: Limitations Quiz | 00:01:00 | ||
11. Use Cases | 00:03:00 | ||
12. Quiz: Brew Button Quiz 1 | 00:01:00 | ||
13. Brew Button Quiz 2 | 00:01:00 | ||
14. Collaboration Diagram 1 | 00:01:00 | ||
15. Containment Vessel | 00:02:00 | ||
16. Collaboration Diagram 2 | 00:01:00 | ||
17. Use Case Addition | 00:01:00 | ||
18. Brewing | 00:01:00 | ||
19. Collaboration Diagram 3 | 00:01:00 | ||
20. Collaboration Quiz Solution | 00:01:00 | ||
21. Collaboration Diagram 4 | 00:01:00 | ||
23. Role Based Design | 00:01:00 | ||
24. Quiz: Hardware API Quiz | 00:01:00 | ||
25. Dependency Inversion Principle | 00:01:00 | ||
26. Example | 00:01:00 | ||
27. Realization | 00:01:00 | ||
28. Abstract Classes | 00:01:00 | ||
29. Refinement | 00:01:00 | ||
30. Solution | 00:01:00 | ||
31. Summary | 00:01:00 | ||
Lesson 26: P4L3 Object Design | |||
1. From OOA to OOD | 00:01:00 | ||
2. OOD | 00:01:00 | ||
3. 1Intermodel Consistency | 00:01:00 | ||
4. Quiz: OOA to OOD Quiz | 00:01:00 | ||
5. 2. From Analysis to Design | 00:01:00 | ||
6. 3. System Design | 00:01:00 | ||
7. 4 Abstraction Mechanisms | 00:01:00 | ||
8. 5. Collaboration Based Design | 00:01:00 | ||
9. Object Design | 00:01:00 | ||
10. 1. Sources for Methods | 00:01:00 | ||
11. 2. New Classes | 00:02:00 | ||
12. 3. Generalization | 00:01:00 | ||
13. Generalization Example | 00:01:00 | ||
14. Generalization Advice | 00:01:00 | ||
15. Quiz: Generalization Quiz 1 | 00:01:00 | ||
16. Implementing Generalization | 00:02:00 | ||
17. 4. Implementing Assocations | 00:01:00 | ||
18. One Way Assocations | 00:01:00 | ||
19. Pointers | 00:01:00 | ||
20. Two Way Associations | 00:02:00 | ||
21. Associations as Objects | 00:01:00 | ||
22. Tables for Assocations | 00:01:00 | ||
23. Quiz: Associations Quiz | 00:01:00 | ||
24. 5. Implementing Dependencies | 00:01:00 | ||
25. 6Implementing Control | 00:01:00 | ||
26. 7. Abstract Classes | 00:01:00 | ||
27. Quiz : Modeling to implementation Quiz | 00:01:00 | ||
28. Summary | 00:01:00 | ||
Lesson 27: P4L4 Design Patterns | |||
1. Design Experience | 00:01:00 | ||
2. Architectural Patterns | 00:01:00 | ||
3. The Gang of Four | 00:01:00 | ||
4 .Definition | 00:01:00 | ||
5. The Composite Pattern | 00:01:00 | ||
6. Composite Classes | 00:01:00 | ||
7. Composite Client Class | 00:01:00 | ||
8. Composite Component Class | 00:01:00 | ||
9. Leafs and Composites | 00:01:00 | ||
10 . Aggregation | 00:01:00 | ||
11. Textual Content | 00:01:00 | ||
12. Intent and Motivation | 00:01:00 | ||
13. Applicability and Structure | 00:01:00 | ||
14. Participants | 00:01:00 | ||
15. Collaborations | 00:01:00 | ||
16. Consequences | 00:01:00 | ||
17. Implementation Alternatives | 00:01:00 | ||
18. Quiz: Pattern and UML Quiz | 00:01:00 | ||
19. Code, Uses and Related Patterns | 00:01:00 | ||
20. Quiz: Composite Pattern Quiz | 00:01:00 | ||
21. Categories | 00:01:00 | ||
22. Creational Patterns | 00:01:00 | ||
23. Example Creational Pattern | 00:01:00 | ||
24. Applicability and Structure | 00:01:00 | ||
25. Participants and Collaborations | 00:01:00 | ||
26. Consequences | 00:01:00 | ||
27. Implementation | 00:01:00 | ||
28. Implementation Issues | 00:01:00 | ||
29. Quiz: Singleton Quiz | 00:01:00 | ||
30. Structural Patterns | 00:01:00 | ||
31. Behavioral Patterns | 00:01:00 | ||
32. Catalog of Behavioral Patterns | 00:02:00 | ||
33. Visitor Pattern | 00:01:00 | ||
34. Vistor Pattern Description | 00:01:00 | ||
35. Visitor Applicability | 00:01:00 | ||
36. Structure | 00:01:00 | ||
37. Comments on Structure | 00:01:00 | ||
38. Visitor Participants | 00:01:00 | ||
39. Visitor Behavior | 00:01:00 | ||
40. Visitor Collaborations | 00:01:00 | ||
41. Visitor Consequences | 00:01:00 | ||
42. Visitor Implementation | 00:01:00 | ||
43. New Quiz 1 | 00:01:00 | ||
44. Quiz: Pattern Quiz 2 | 00:01:00 | ||
45. Quiz: Pattern Quiz 3 | 00:01:00 | ||
46. Problems with Patterns | 00:01:00 | ||
47. Problem Area Object Schizophrenia | 00:01:00 | ||
48. Problem Area Preplanning Problem | 00:01:00 | ||
49. Problem Area Traceability Problem | 00:01:00 | ||
50. Summary | 00:01:00 | ||
Lesson 28: P4L5 Design Principles | |||
1. Design Guidelines | 00:01:00 | ||
2. Design Quality | 00:01:00 | ||
3. Design Guidelines | 00:01:00 | ||
4. Coupling | 00:01:00 | ||
5. Cohesion | 00:01:00 | ||
6. Orthogonality | 00:01:00 | ||
7. Information Hiding Principle | 00:01:00 | ||
8. Quiz: Foundational Concept Quiz. | 00:01:00 | ||
9. Design Principles Catalog | 00:01:00 | ||
10. Liskov Substitution Principle | 00:01:00 | ||
11. Law of Demeter | 00:01:00 | ||
12. Hollywood Principle | 00:01:00 | ||
13. Dependency Inversion Principle | 00:01:00 | ||
14. Open Closed Principle | 00:01:00 | ||
15. Quiz: Design Principle Quiz | 00:01:00 | ||
16. Interface Segregation Principle | 00:01:00 | ||
17. Reuse Equivalency Principles | 00:01:00 | ||
18. Common Closure Principle | 00:01:00 | ||
19. Dependency Structure Matrix | 00:01:00 | ||
20. Lattix Image | 00:01:00 | ||
21. Acyclic Dependency Principle | 00:01:00 | ||
22. Stability | 00:01:00 | ||
23. Bad Smells | 00:01:00 | ||
24. Design Heuristics Riel | 00:01:00 | ||
25. Single Choice Principle | 00:01:00 | ||
26. Transparancy and Intentionality | 00:01:00 | ||
27. Transparancy | 00:01:00 | ||
28. Intentionality | 00:01:00 | ||
29. Quiz: Principles and Heuristics Quiz | 00:01:00 | ||
30. Summary | 00:01:00 | ||
Lesson 29: P4L6 Design Reviews | |||
1. Introduction | 00:01:00 | ||
2. Excercise Intro | 00:01:00 | ||
3. Quiz: Defects Quiz 1 | 00:01:00 | ||
4. Defects Quiz 2 | 00:01:00 | ||
5. Observations | 00:01:00 | ||
6. Reviews | 00:01:00 | ||
7. 1 Planning | 00:01:00 | ||
8. 2 Preperation | 00:01:00 | ||
9. 3 Review | 00:01:00 | ||
10. 4 Rework | 00:01:00 | ||
11. 5 Follow Up | 00:01:00 | ||
12. Roles | 00:01:00 | ||
13. Moderator Responsibilities | 00:01:00 | ||
14. Recorder | 00:01:00 | ||
15. Recording Form | 00:01:00 | ||
16. Severity Classification | 00:01:00 | ||
17. Reader | 00:01:00 | ||
18. Reviewers | 00:01:00 | ||
19. Review Meeting | 00:01:00 | ||
20. Thoroughness | 00:01:00 | ||
21. Metrics | 00:01:00 | ||
22. Process Data | 00:01:00 | ||
23. Alternative Review Styles | 00:01:00 | ||
24. Guidelines Participants | 00:01:00 | ||
25. Guidelines Content | 00:01:00 | ||
26. Guidelines Process | 00:01:00 | ||
27. Effectiveness | 00:01:00 | ||
28. Other Costs and Benefits | 00:01:00 | ||
29. Summary | 00:01:00 | ||
Lesson 30: Geeks in Black: The Code Review | |||
Introduction | 00:01:00 | ||
Part 1 | 00:04:00 | ||
Part 2 | 00:03:00 | ||
Part 3 | 00:03:00 | ||
Part 4 | 00:01:00 | ||
Part 5 | 00:03:00 | ||
Part 6 | 00:01:00 | ||
Part 7 | 00:03:00 | ||
Part 8 | 00:01:00 | ||
Part 9 | 00:03:00 | ||
Summary | 00:04:00 | ||
Assessment | |||
Submit Your Assignment | 00:00:00 | ||
Certification | 00:00:00 |