Exercise 3: Design (graded)
due start of class Feb 20 (preview work on Feb. 15), Group Exercise
IMPORTANT: if someone in your group did NOT participate in any of the work, you must say so in the submission AND you must send an email to me regarding this. Teamwork is an essential component of this course and can not be ignored. Doing no work means a grade of 0.
worth 120 points (10 points /section in design doc)
DESIGN DOCUMENT Content & Format:
Get in your work groups for Project 2 and go through the SW Engineering Analysis and Design steps for creating your team's Project 2 application. Specifically, you will need to turn a design document using the template on the Best Practices site. SEE pdf or word version. Your group will use this template to create a pdf:
-
There are 12 sections in the design document and each is worth 10 points (keep these section titles): Concept Summary, Audience/Customer, Background, Application Cost&Projeted success, Interface Mockups, Design-Use Case Diagram(s), Design- Detailed Design, Related Work, Frameworks/Services/Cloud/Backends, Testing, Schedule, Dependencies. NOTE: application cost& projection is NOT optional
-
The design document in addition to writing must contain the following charts/diagrams (for diagrams you could use LucidCharts or your own favorite Diagraming/UML tool)
-
Use Case Diagram(s) (inside the "Design-Use Case Diagram" section), --special note: you may have 1 or more use case diagrams depending on your application.
-
GUI Prototype (inside "Interface Mockups" section),
-
UML Class Diagrams with cardinality (inside "Design-Detailed Design" section) --special note: this will be an initial attempt to modularize the code you know will be needed from analysis of your use case diagram(s)
-
Schedule via a "Kanban Board" (inside "Schedule" section) NOTE: this is done via ZenHub
-
System Diagram ( which illustrates breaking system up into conceptual modules or components, akin to a more detailed mind-map, put inside "Design-Detailed Design section).
-
TOOLS & TIPS to create Visuals For your Design Document:
uml = Lucid chart
Interface Mockup = Lucid chart
-
LucidCharts Android diagram mockups
Design-Detailed Design (System Diagram): make the System Diagram using Lucid charts. Check out template
-
A system diagram is a high level modularization of the system that separates the overall system into maximally decoupled sub-systems. System diagrams enable one to visualize the system as large interacting components that can be conceptualized and developed independently. This type of architecture also lends itself to greater flexibility and extensibility of the system, enabling it to grow and evolve more easily to adjust for changing requirements and demands. Creating a system diagram early in the development process is critical for assembling teams of develops that can work in parallel on the project.
the modules in the system block diagram should exhibit maximal decoupling from each other.
System diagrams help the developers understand the the parts fit into the larger whole. They are also very useful in helping maintain the proper level of decoupling in the system because excessive crossing of module boundaries will result in a "spaghetti diagram". The following are some example system diagrams from a system that uses computer vision, machine learning and various local and backend systems. Note: you can have multiple system diagrams depending on the complexity of your system and if your overall project has multiple distinct systems.
SPECIAL NOTE: what you originally propose as a system diagram will often change and refine over time even up to the point of the final product creation.
The following is a diagram of the IRFIS (from iLab) run-time system which is part of the Covid ID project.
The following is a diagram of the IRFIS (from iLab) training system which is part of the Covid ID project.
Schedule ("Kanban type" Board): make the Schedule using Board on ZenHub (plugin to your group GitHub repository)-take screenshot
GRADING CRITERIA
I will give you 8.5 points/section for attempt but, not FULLY complete and I will grade harshly on this --so unless you have fully explained each section you will only get 8.5 points, not 10. If it is a poor job you will get 6 points. If nothing 0 points for that section.
EVALUATION DISCLAIMER: getting a good or full score on the proposal does not mean it has been approved or that you do not need to make changes. You must read the comments in your evaluation even in the case of a full score. IF you must make changes as required by the instructor, you will need to do so but, you will not be regraded on the changes..... they will be necessary to properly approve the proposal.
DELIVERABLES:
1) PREVIEW DAY: Feb 13: Present in class User-Case Diagram(s) AND Interface Mockups --to make sure the idea fits with project requirements(you may have to make changes if not)
2) COMPLETE DOCUMENT TURN IN Feb. 20: Turn in to Canvas->Assignments->Exercise 3 -Project 2 - Proposals post link to your GIthub repository's wiki page titled "Description" and make a section there called Design Document and have a link to the pdf of your Design Document.
(See project 2 for details on the structure of the pages in the Project2 Group GitHub wiki)
TURN in one per group
-
Provide a page in your Wiki titled "Design Document" that contains a link to your design document pdf.
IMPORTANT: if someone in your group did NOT participate in any of the work, you must say so in the submission (note this in addition to the deliverables) AND you must send an email to me regarding this. Teamwork is an essential component of this course and can not be ignored. Doing no work means a grade of 0.
3) REVIEW /REVIEW VISIT: We will hopefully discuss your proposals in class and as a class give feedback for changes necessary-- the goal is to make your Project 2 a success. IMPORTANT:
-
IF your group was not able to present in class, it means that your group(all members if possible)will need to come to Office hours on Feb 22 to do your first review.
IF I asked your group to make revisions you need to do so within one week and come (all members if possible) to Office hours to discuss.
Remember --_Design is an Iterative process --its not one and done.