.. This file is part of the OpenDSA eTextbook project. See .. http://opendsa.org for more details. .. Copyright (c) 2012-2020 by the OpenDSA Project Contributors, and .. distributed under an MIT open source license. .. avmetadata:: :author: Molly Domino Software Design and MVC ======================= Objectives ---------- Upon completion of this module, students will be able to: * Identify functional and non-functional requirements * Identify classes, fields, methods, and class relationships from documented requirements * Describe the purpose and benefits of using Design Patterns * Explain and use MVC and Observer Design Patterns * Apply and demonstrate good design practices * Produce the design of a software system using a UML class diagram Interactive: Introduction to Software Design [9:30] --------------------------------------------------- .. raw:: html
.. odsafig:: Images/VendingMachine1.png :align: center :width: 270 :height: 360 :figwidth: 33% :alt: Overall view of an internet-enabled vending machine .. raw:: html | .. odsafig:: Images/VendingMachine2.png :align: center :width: 270 :height: 360 :figwidth: 33% :alt: Overall view of the customer interface, showing the keypad for selecting the item, as well as two payment interfaces, one for card swipe or cash, and one for payment with a mobile device. .. raw:: html | .. odsafig:: Images/VendingMachine3.png :align: center :width: 270 :height: 360 :figwidth: 33% :alt: Closeup view of the mobile device payment interface, showing the flavors of payment systems supported (Apple Pay, Android Pay, Samsung Pay), as well as the credit card types supported. .. raw:: html |