cisc 323 introduction to software engineering
play

CISC 323 Introduction to Software Engineering Week 3 OOP, UML, - PowerPoint PPT Presentation

CISC 323 Introduction to Software Engineering Week 3 OOP, UML, Software Process Lecture 1: Software Process


  1. CISC 323 Introduction to Software Engineering Week 3 OOP, UML, Software Process Lecture 1: Software Process

  2. � ✞ ✔ ✕ ✖ ✁ ✑ ✙ ✡ ✗ ✚ ✞ ✟ ✟✠ ✡ ✗ ✎ ✙✛ ✖ ✓ ✜ ✢ ✟ ✖ ✙ ☞ ✡ ✙ ☎ � ☎ ✎ ✖ ✓ ✌ ✂ ✄ ✁☎ � ☎ ✆ ✝ ✞ ✟ � ✡ ☛ ✠ ☞ ✟✠ ✟ ✠ ✒ ✍ ✍ ✟ ✎ �✒ ☞ ✑ ✆ ✏ ✎ ☞ ✡ Software Process • To manage complexity of software, require a process that codifies the activities of software design, development and validation • There are many processes. Which one is correct depends on the desired quality attributes of the system under construction. • Process model: describes process • Reading: Bahrami Chapter 3 ✑✘✗

  3. ☎ ✞ ✔ ✁ ✖ ✖ ✑ ✙ ✡ ✗ ✚ ✞ ✟ ✟✠ ✡ ✗ ✎ ✙✛ ✖ ✓ ✜ ✢ ✟ ✖ ✙ ☞ ✡ ✙ ☎ � ☎ ✎ ✕ ✓ ✌ ✂ ✄ ✁☎ � ☎ ✆ ✝ ✞ ✟ ✟✠ ✡ � ✠ ☞ ☛ ✟ ✠ ✒ �✒ ✍ ✍ ✎ ✟ ☞ ✡ ✑ ✆ ✏ ✎ ☞ Examples of Software Processes • Waterfall process • Incremental process – Microsoft • …There are many more! ✑✘✗

  4. � ✟ ✕ ✁ ✗ ✗ ✒ ✚ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✏ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✖ ✔ ✍ ✂ ✄ ✁☎ ✆ ☎ ✝ ✞ ✟ ✠ ✠✡ ☛ ✆ ✡ ✌ ☞ ✠ ✡ ✓ ✆✓ ✎ ✎ ✏ ✠ ✌ ☛ ✒ ✝ ✑ ✏ ✌ Ad Hoc Process • analysis ---> code --> test --> code --> test … • may work for small program, one programmer • for larger systems, doomed to failure ✒✙✘

  5. � ✆ ✡ ✓ ✝✔ ✕ ✡ ✄ ✝ ✡ ✖ ✗ ✍ ✘ ✎ ✡ ✙ ✒ ✑ ✖ ✌ ✆ ✝ ✄ ✞ ✝ ✟ ✍ ✡ ✄ ✍✎ ✂ ✄ ✎ ✆ ✏ ✝ ✆ ✁ ✂ ✢ ✣ ✡ ✠ ✏ ✄ ✤ ✍ ✥ ✡ ☎ ☛ ✦ ✧ ★ ✄ ☎ ✚ ✡ ✍ ✘ ✡ ✙ ✟ ☎ ✆ ✕ ✆ ☎ ✛ ✜ ✝ ✄ ✠✡ ✔ ✄☎ ✁✂ ✩ ✠ ✑ ✝ ✒ ✌ ✡ ✏ ✎ ✌ ✆✓ ✓ ✆ ✔ ✏ ✏ ✕ ✏ ☛ ✗ ✟ ✂ ✄ ✁☎ ✆ ☎ ✝ ✞ ✠ ✎ ✠✡ ☛ ☞ ✡ ✌ ✍ ✠ ✖ ✗ ✗ ✚✜ ✚ ☛ ✌ ✚ ✒ ✠ ✣ ✢ ✔ ✗ ✘ ✆ ✟ ☛ ✠✡ ✠ ✟ ✛ ✘ ☛ ✚ ☎ ☎ Operations Testing Coding Program Design ✒✙✘ Product Design Waterfall Model Requirements Software Requirements System ✠✡☞☛

  6. � ✟ ✕ ✖ ✗ ✗ ✒ ✁ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✏ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✚ ✔ ✍ ✂ ✄ ✁☎ ✆ ☎ ✝ ✆ ✟ ✠ ✠✡ ☛ ☞ ✡ ✌ ✞ ✠ ✡ ✓ ✆✓ ✎ ✠ ✏ ✎ ✌ ✒ ✝ ✑ ✏ ✌ ☛ Waterfall Model •Description of complete system. •Boundaries between hardware System and software components. Requirements •Example: brakes in a car Software • braking system includes Requirements •foot pedal •brake pads Product Design •software to control brakes. Program Design Coding Testing Operations ✒✙✘

  7. � ✟ ✕ ✖ ✗ ✗ ✁ ✚ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✏ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✒ ✔ ✍ ✂ ✄ ✁☎ ✆ ☎ ✝ ✞ ✟ ✠ ✆ ☛ ☞ ✡ ✌ ✠✡ ✠ ✡ ✎ ✆✓ ✎ ✠ ✏ ✓ ✌ ✒ ✝ ✑ ✏ ✌ ☛ Waterfall Model Includes: functional requirements System E.g., depressing the brake Requirements slows the car down Software Requirements Product Design Program Design Coding Testing Operations ✒✙✘

  8. � ✟ ✕ ✖ ✗ ✗ ✒ ✁ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✏ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✚ ✔ ✍ ✂ ✄ ✁☎ ✆ ☎ ✝ ✞ ✆ ✠ ✠✡ ☛ ☞ ✡ ✌ ✟ ✠ ☛ ✌ ✏ ✑ ✝ ✒ ✌ ✎ ✡ ✏ ✠ ✎ ✆✓ ✓ Waterfall Model System Includes: non-functional requirements Requirements • E.g. performance: brakes must respond within 100 ms of being Software activated Requirements • E.g., availability: if software fails, brakes must still function manually. Product Design Program Design Coding Testing Operations ✒✙✘

  9. � ✟ ✕ ✖ ✗ ✗ ✒ ✚ ✁ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✏ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ☛ ✔ ✍ ✂ ✄ ✁☎ ✆ ☎ ✝ ✆ ✟ ✠ ✠✡ ☛ ☞ ✡ ✌ ✞ ✠ ✡ ✎ ✓ ✆✓ ✎ ✠ ✏ ✌ ✒ ✝ ✑ ✏ ✌ ☛ • Description of functions the Waterfall Model software must fulfill and associated quality attributes. • Expressed from point of view of a System user of the system. Requirements • Does not include implementation decisions such as algorithms, data Software structures used to address these Requirements requirements. Product Design Program Design Coding Testing Operations ✒✙✘

  10. � ✟ ✏ ✕ ✖ ✗ ✗ ✒ ✚ ✓ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✔ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ☛ ✆ ✌ ✁ ✂ ✄ ✁☎ ✆ ✓ ✝ ✞ ✟ ✠ ✠✡ ☛ ☞ ✡ ☎ ✍ ✌ ✠ ✆✓ ✎ ✠ ✡ ✏ ✒ ✝ ✑ ✏ ✌ ☛ ✎ Waterfall Model Example: for course marks program, functions are: • Student can access system System from any CASLab machine Requirements • Student can specify course in which he/she is enrolled and Software request grades for that course Requirements • Grades recorded for that course will be presented to user Product Design in a readable format • …etc. Program Design Coding Testing Operations ✒✙✘

  11. � ✟ ✏ ✖ ✗ ✗ ✒ � ✚ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✔ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✕ ✆ ✌ ✁ ✂ ✄ ✁☎ ✆ ☎ ✝ ✞ ✟ ✠ ✠✡ ☛ ✓ ✡ ☞ ✍ ✌ ✆✓ ✎ ✠ ✠ ✡ ✏ ✒ ✝ ✑ ✏ ✌ ☛ ✎ Waterfall Model • Describes software design meeting the requirements specified above. • Design is external, from point of view of a System user of the software. Requirements • Shows how requirements are mapped to system features. Software Requirements External Design Internal Design Coding Testing Operations ✒✙✘

  12. � ✟ ✏ ✖ ✗ ✗ ✒ ✆ ✚ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✔ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✕ ✆ ✌ ✁ ✂ ✄ ✁☎ ✆ ☎ ✝ ✞ ✟ ✠ ✠✡ ☛ ✓ ✡ ☞ ✍ ✌ ✆✓ ✎ ✠ ✠ ✡ ✏ ✒ ✝ ✑ ✏ ✌ ☛ ✎ Waterfall Model • May include: • detailed functional design • screen mockups • interaction design. System • Does not describe system implementation, Requirements e.g., algorithms, data structures, etc. Software Requirements External Design Internal Design Coding Testing Operations ✒✙✘

  13. � ✟ ✏ ✕ ✖ ✗ ✗ ✒ ☎ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✔ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✚ ✆ ✌ ✁ ✂ ✄ ✁☎ ✆ ☎ ✓ ✞ ✟ ✠ ✠✡ ☛ ☞ ✡ ✝ ✍ ✌ ✆✓ ✎ ✠ ✏ ✡ ✒ ✠ ✝ ✑ ✏ ✌ ☛ ✎ Waterfall Model Describes implementation of software. Includes, e.g., • Deployment architecture System • Component architecture Requirements • Component interfaces • Data model Software • Protocols (how components Requirements communicate with each other.) External Design Internal Design Coding Testing Operations ✒✙✘

  14. � ✟ ✏ ✕ ✖ ✗ � ✒ ✚ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✔ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✗ ✆ ✌ ✁ ✂ ✄ ✁☎ ✆ ☎ ✝ ✞ ✟ ✓ ✠✡ ☛ ☞ ✡ ✠ ✍ ✌ ✆✓ ✠ ✠ ✏ ✡ ✎ ✒ ✝ ✑ ✏ ✌ ☛ ✎ Waterfall Model System Requirements Software Requirements External Design Actual programming of software. Internal Design Coding Testing Operations ✒✙✘

  15. � ✟ ✕ ✖ ✗ ✗ ✁ ✚ ☛ ✘ ✛ ✟ ✠ ✠✡ ☛ ✘ ✏ ✚✜ ✗ ✔ ✢ ✣ ✠ ✗ ✚ ✌ ☛ ✚ ☎ ✆ ☎ ✏ ✒ ✔ ✍ ✂ ✄ ✁☎ ✆ ☎ ✝ ✞ ✟ ✆ ✠✡ ☛ ☞ ✡ ✌ ✠ ✠ ✡ ✎ ✆✓ ✎ ✠ ✏ ✓ ✌ ✒ ✝ ✑ ✏ ✌ ☛ Waterfall Model System Requirements Software Requirements Ensuring software performs to specification. External Design Addresses both function and quality attributes. Internal Design Coding Testing Operations ✒✙✘

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend