� ✄☎ ✖ ✖ ✗ ✗ ✚ ✝ ✘ ✛ ✂ ✄ ✝ ✁ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✕ ✔ ☛ ☛ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ✟ ✠ ✄ ✡ ✝ ✟ ☛ ☞ ✌ ✍ ✎ ✏ ✍✑ ✒ ✑ ✓ CISC 323: Intro to Software Engineering Review for Final Exam ✖✣✢ ✗✙✘
✒ ✄☎ ✖ ✖ ✁ ✗ ✚ ✝ ✘ ✛ ✂ ✄ ✝ ✔ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✕ ✗ ☛ ✝ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ☛ ✠ ✄ ✡ ✟ ✟ ✏ ✓ ☛ ✒ ✍✑ ✑ ✎ ✍ ✌ ☞ Lecture Topics • Week 1: Introduction, Object-Oriented Programming • Week 2: Object-Oriented Programming & UML • Week 3: OOP, UML, Software Process • Week 4: Object-oriented Analysis • Week 5: Object-oriented Design • Week 6: Design Patterns • Week 7-8: Software Architecture • Week 9: Real-time and Safety-critical Systems • Week 10: Software Quality ✖✣✢ ✗✙✘
✑ ✄☎ ✖ ✖ ✗ ✗ ✚ ✝ ✘ ✛ ✂ ✄ ✝ ✔ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✁ ✕ ☛ ✝ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ✟ ✠ ✄ ☛ ✡ ✟ ☛ ✓ ✑ ✒ ✍✑ ✏ ✎ ✍ ✌ ☞ Omissions – Material on COM from week 8 not be on the exam – Object-oriented testing from week 10 will not be on exam ✖✣✢ ✗✙✘
� ✄☎ ✖ ✖ ✁ ✗ ✚ ✝ ✘ ✛ ✂ ✄ ✝ ✔ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✕ ✗ ☛ ✝ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ☛ ✠ ✄ ✡ ✟ ✟ ✏ ✓ ☛ ✒ ✍✑ ✑ ✎ ✍ ✌ ☞ Assignments • Assignment 1: Advanced OOP • Assignment 2: OO Analysis • Assignment 3: OOD, Design Patterns, and Architecture • Assignment 4: Testing and Inspection – The bulk of the marks on the final will be for performing tasks similar to those asked for in assignments 2, 3, and 4. ✖✣✢ ✗✙✘
� ✄☎ ✖ ✁ ✗ ✗ ✚ ✝ ✘ ✛ ✂ ✄ ✝ ✔ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✕ ✖ ☛ ✝ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ✟ ☛ ✄ ✡ ✠ ✟ ✏ ✓ ✑ ☛ ✍✑ ✒ ✎ ✍ ✌ ☞ Week 1: Introduction, Object- Oriented Programming • This week was mainly an introduction to the course • Topics covered: – Abstraction – Different types of UML diagrams – Introduction to class diagrams ✖✣✢ ✗✙✘
� ✄☎ ✖ ✖ ✗ ✗ ✚ ✝ ✁ ✛ ✂ ✄ ✝ ✔ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✕ ✘ ☛ ✝ ✂ ✄ ✄☎ ☛ ✝ ✞ ☎ ✟ ✠ ✄ ✡ ✆ ✟ ☛ ☞ ✌ ✍ ✎ ✏ ✍✑ ✒ ✑ ✓ worksIn Employee Office 1..* 1..* 1 1 association, showing nav igability and multiplicity "has a" dependency "uses" Generalization "kind of" Window Event ConsoleW indow DialogBox Control ✖✣✢ ✗✙✘
� ✄☎ ✖ ✖ ✁ ✗ ✚ ✝ ✘ ✛ ✂ ✄ ✝ ✔ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✕ ✗ ☛ ✝ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ☛ ✠ ✄ ✡ ✟ ✟ ✏ ✓ ☛ ✒ ✍✑ ✑ ✎ ✍ ✌ ☞ Week 2: Object-Oriented Programming & UML • Topics Covered: – Three elements of OOP: Encapsulation, Inheritance, Polymorphism – Constructors – Abstract classes – Use-case diagrams – Sequence diagrams ✖✣✢ ✗✙✘
� ✏ ✄ ☛ ☎ ✙ ✄ ✒ ✒ ✚ ✄ ✞ ✡ ✞ ✟ ✝ ✖ ✌ ✣ ✏ ✙ ✔ ✡ ☎ ✁ ✘ ✏ ☛ ✞ ✟ ✝ ✄ ✙ ✞ ✄ ✒ ✒ ✢ ☛ ✖ ✔ ✄ ✒ ☎ ✒ ✒ ✏ ✕ ✖ ✘ ☎✄ ✙ ✙ ✚ ✘ ✂✏ ✏ ✟ ✘ ✝ ✖ ✟ ☎ ✙ ✄ ✒ ✡ ✔ ✄ ✄ ✝ ✏ ✟ ✏ ☛ ✞ ☎ ✤ ✤ ✢ ✞ ✡ ✕ ✔ ✏ ✄ ✟ ✝ ✖ ✒ ✚ ✄ ✝ ☛ ✔ ✕ ✖ ✖ ✗ ✗ ✚ ✘ ✓ ✛ ✂ ✄ ✄☎ ✝ ✂ ✘ ✚✜ ✙ ☛ ✑ ✝ ✄ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ✟ ✠ ✡ ✒ ✝ ✟ ☛ ☞ ✌ ✍ ✎ ✏ ✍✑ ✟ ✚ ✚ ✡ ✑ ✒ ✓ ✔ ✏ ✡ ✘ ✒ ✖ ✄ ✝ ✏ ✡ ✕ ✏ ☛ ✄ ☎ ✡ ✞ ✝ ✆ ✒ ✑ ✁ ✂✄ ☎ ✒ ✝ ✄ • Three basic elements of Object-Oriented ✞✠✟ ✞✠✟ Three elements of OOP ✥✧✦ ✖✣✢ ✕✗✖ ✗✙✘ ✡✑✏ ✞✠✟ ✌✎✍ ✡☞☛ – polymorphism – encapsulation Programming: – inheritance ✞✠✟ ✞✠✟ ✞✜✛ ✡☞☛
� ✄☎ ✖ ✗ ✗ ✁ ✚ ✝ ✘ ✛ ✂ ✄ ✝ ✔ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✕ ✖ ☛ ✝ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ✟ ✠ ☛ ✡ ✄ ✟ ✏ ✓ ✑ ☛ ✍✑ ✒ ✎ ✍ ✌ ☞ Use-case diagram Add Resource <<uses>> Remove Resource Find Resource Resource Manager <<uses>> Update Resource <<extends>> <<extends>> Assign Skill Unassign Skill to Resource from Resource ✖✣✢ ✗✙✘
� ✄ ✕ ✖ ✖ ✗ ✁ ✚ ✝ ✘ ✛ ✂ ✄☎ ☛ ✝ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✔ ✗ ☛ ✡ ✁ ✂ ✄ ✄☎ ✆ ✝ ✓ ☎ ✟ ✠ ✄ ✞ ✝ ✒ ☛ ☞ ✌ ✟ ✍ ✑ ✎ ✏ ✍✑ Sequence Diagram A sequence of messages may repeat Customer Cashier Cook Place order Request food Send food Announce price Give money Ask for more money [until enough money] Give food ✖✣✢ ✗✙✘
� ✄ ✕ � ✖ ✗ ✗ ✚ ✝ ✘ ✛ ✂ ✄☎ ☛ ✝ ✂ ✘ ✚✜ ✚ ✟ ✝ ✚ ✑ ✒ ✑ ✔ ✖ ☛ ✡ ✁ ✂ ✄ ✄☎ ✆ ✝ ✞ ☎ ✟ ✓ ✄ ✠ ✝ ✎ ✑ ✒ ✍✑ ✟ ✏ ✍ ✌ ☞ ☛ Week 3: OOP, UML, Software Process • Topics Covered: – Waterfall process – Software prototyping – Microsoft Process ✖✣✢ ✗✙✘
� ✸ ★ ✹ ✩ ✼ ✭ ✲ ✻ ✱ ✺ ✹ ✩ ★ ✦ ✭ ✩✷ ✱ ✲ ✰ ✱ ✦ ✱✲ ✥ ✦ ★ ✶ ✳ ✭ ✴ ✭ ✵ ✭ ✽ ✻ ✩ ❂ ❁ ✭ ✬ ✳ ✦ ✥ ❃ ✦ ✭ ✧ ✮ ❄ ❅ ❆ ❀ ✱ ✭ ✧ ✼ ✫ ✧ ★ ✭ ✸ ✾ ✧ ✿ ✩ ✦ ✬✭ ✷ ★ ✫ ✪ ✁ ☞ ✏ ✑ ✎✒ ✁ ✒ ✓ ☞ ✍ ✔ ✕ ✖ ✖ ✗ ✗ ✎ ✌ ✦ ✟ ✂ ✄ ☎ ☎✆ ✝ ✞ ✆ ☞ ✠ ✡ ☎ ☛ ✞ ✠ ✚ ✞ ✘ ✞ ✩ ★ ✧ ✦ ✤✥ ✛ ✒ ✁ ✒ ✚ ❇ ✠ ✄ ✚✜ ✘ ✄ ☎ ☎✆ ✞ ✚ Operations Testing Coding Program Design ✖✣✢ Product Design Waterfall Model ✗✙✘ Requirements Software Requirements System ✬✭✯✮
� ☎ ✕ ✖ ✖ ✒ ✗ ✚ ✞ ✘ ✛ ✄ ☎✆ ☞ ✞ ✄ ✘ ✚✜ ✚ ✠ ✞ ✚ ✒ ✁ ✒ ✔ ✗ ☞ ☛ ✂ ✄ ☎ ☎✆ ✝ ✞ ✟ ✓ ✠ ✡ ☎ ✆ ✞ ✏ ✒ ✠ ✎✒ ✑ ✁ ✎ ✍ ✌ ☞ The Microsoft Triangle • Decision making focuses on three of the dimensions of quality in the end product: – Functions supported – Time to Market – Implementation defects remaining • rapid development, daily builds, testing buddies • evolving requirements, work from vision statement • heavy reliance on testing, multiple testing strategies • well established plans and schedules ✖✣✢ ✗✙✘
� ☎ ✖ ✗ ✗ ✘ ✘ ✛ ✞ ✁ ✜ ✄ ☎✆ ☞ ✞ ✄ ✙ ✛✢ ✛ ✠ ✞ ✛ ✒ ✓ ✒ ✕ ✙ ☞ ☛ ✂ ✄ ☎ ✔ ✝ ✞ ✟ ✆ ✠ ✡ ☎ ☎✆ ✞ ✠ ☞ ✌ ✍ ✎ ✏ ✑ ✎✒ ✓ ✒ Microsoft Process Planning Development Stabilization Stabilization (3-12 months) (6-12 months) (3-8 months) (3-8 months) Subproject 1 Subproject 2 Subproject 3 Feature Release Complete Milestone 0 Visual Freeze Code Complete ✗✤✣ ✘✚✙
� ☎✆ ✗ ✗ ✘ ✘ ✛ ✞ ✙ ✜ ✂ ☎ ✞ ✕ ✄ ✙ ✛✢ ✛ ✠ ✞ ✛ ✒ ✓ ✒ ✖ ✄ ☞ ✞ ✄ ☞ ☎✆ ✝ ✞ ✟ ✆ ✠ ✡ ☎ ☛ ☎ ✠ ✑ ✔ ✒ ✓ ✎✒ ✏ ✎ ✍ ✌ ☞ Microsoft Process Planning Development Stabilization Stabilization (3-12 months) (6-12 months) (3-8 months) (3-8 months) Subproject 1 Subproject 2 Subproject 3 Release Milestone 0 Code, test, optimize, Integration Buffer stabilize test, debug time (6-10 weeks) (2-5 weeks) (2-5 weeks) ✗✤✣ ✘✚✙
Recommend
More recommend