Home Syllabus Schedule HWs
CSE 219 – Fall 2018 Computer Science III
Developing the Course Site Generator App
HW 3 – Software Design Description
A Software Design Description document describes how a software system should be built, specifying the packages, classes, methods, variables, relationships, and interactions necessary to meet the needs of the Spec. The IEEE can help us out with a standard SDD format, although we’ll stray a bit from their recommendation. In this assignment, you will produce your own SDD using an approximation of the IEEE Standard for Information Technology – Systems Design – Software Design Descriptions (IEEE 1016-2009) format. In the IEEE document, they propose the following SDD Outline, which in this example I’ve modi ed to be:
1. Introduction 1. Purpose
2. Scope
3. De nitions, acronyms, and abbreviations 4. References
5. Overview
2. Package-Level Design Viewpoint 1. Application overview
2. Java API Usage
3. Java API Usage Descriptions
3. Class-Level Design Viewpoint
4. Method-Level Design Viewpoint 5. File Structure and Formats
6. Supporting Information
The Course Site Generator – For your nal project you’ll be creating the Course Site Generator application, which will be an extension of what we’ve been doing in HWs 1 & 2. The program that we will be designing and constructing would be used to help a course instructor build and update a course Web site like the one we use for our course.
The Spec – You’re hired! Yes, you. Debugging Enterprises is hiring you to help with our newest project. It will be your job to make the Course Site Generator application. Recall that on any development project, the rst priority is to de ne the problem. Developers need to know what it is they are to develop. This needs to be de ned in great detail via a Software Requirements Speci cation, or Spec. for short. Well since I’m hiring you, I’ve already designed the system to be developed, which is summarized in the following SRS:
Course Site Generator (Software Requirements Speci cation).
Note that it will be your job to guide this project through the design, implementation, and testing stages to completion. We’ll divide up the remaining HWs as follows:
HW 3 (Design) – Here you’ll de ne a Software Design Description, which is a document designing a solution that satis es the spec.
HW 4 (Implementation Stage 1) – Here you’ll setup the User Interface components, speci ng their layout and style.
HW 5 (Implementation Stage 2) – Here you’ll implement le management for the application.
Final Project (Final Stage) – Here you’ll complete the application, tying together the full functionality of the JavaFX application UI to the content it generates.
Your Design – Now that you know what the project requirements are you need to rst design a solution. For this assignment create a Software Design Document that speci es a design for creating such a Java application. Note that I have provided you with a sample SDD to help you see what such a document might look like. You are welcome to use it as the starting point for your own document. Note that while you should use my template, you may make modi cations to the format as you see t, again, this is important to accommodate descriptions of the your le formats. You may take any content you like from this document or from the Course Site Generator SRS. Note that it should contain all the same SDD doc
components, package, class, and method viewpoints, which really means you must produce UML Class & Sequence Diagrams as well as le format descriptions.
So note again that your report must contain UML Class and Sequence diagrams for your code as well as descriptions of all le formats and structures. So in the last section, where le formats are to be speci ed, your design must specify in detail:
Directory Structures – For the output Web site, what les go where?
Data File Formats – JSON is being used, make sure you specify how.
Additional Files – Include descriptions of any other needed les like generated directories for Java source code
Perhaps you’ll have the following questions:
What Modeling tool should I use? – You may use any tool you like to create the UML diagrams that you put into your SDD. One possible tool (which I used), is Violet UML, which is free to download. This tool can make UML Class and Sequence diagrams, and has a function for exporting to images that you may easily add to your document.
Do I need Getters and Setters? – Get and Set methods end up being just noise in UML class diagrams so don’t include them.
Do I need to provide designs of PropertiesManager or other frameworks we’ve used? If you plan on using these frameworks as- is, then no. You may simply refer to them and their classes as black boxes. You must, of course, include any classes in those frameworks you use in your own classes, but you need not provide a full speci cation if you are not changing anything.
Should my design be one big giant diagram? Absolutely not. Break it up into sensible pieces that can be viewed conveniently. The point here is for you to plan your assault, not to make an unruly mess. Use my Zombiquarium design approach as an indication of how I expect your document to look (except for the getters and setters).
NOTE: Remember, students must work independently, copying each others work is not permitted.
Handin Instructions
Submit your completed design document via Blackboard.
Grading
This assignment will be graded by the instructor and will based on how complete and detailed your document is. Does it plan for all the necessary components? Does it provide adequate detail regarding how the software is to be constructed?
Web page created and maintained by