Software Engineering
Project 5 - User Interface Design (Preparation for Next
Semester's Project)
20 Points Total
Due: Part 1 (10 Points) - Domain Analysis and System Domain
Model, Tuesday, Nov. 26, 2013 at 11:59:59pm,
Part 2 (10 Points) - Requirements Gathering, Use Cases, and UI
design, Tuesday, Dec. 3, 2013 at 11:59:59pm
+2 Bonus Points for submitting both parts 1 and 2 by Monday,
Nov. 25, 2013 at 11:59:59pm
Topic
For this project, you will work on the front end and back end
designs for a website or a networked application that makes use of
a database, an artificial intelligence, or another complex tool.
Choose a topic to work on and clear it with your instructor. Be
aware that your choice of a topic may be something you will work
on in a group, next semester. Clear your topic with your
instructor via email on Friday, Nov. 22, 2013. For example, you
could choose to work on an Automotive Repair Shop Billing and
Inventory System, a Veterinary Client Scheduling System, a 3D
Chess Game, a Movie Ratings Application, a Job Application System
for Students, or an Airline Booking System. You are
encouraged to discuss your ideas with your classmates to inspire
creativity.
Domain Analysis
Perform background research into your topic. Complete and document this research before continuing to the next step. You must provide a brief introduction to your topic and provide general knowledge about the domain and possible users. Describe potential choices for front-end design software and for a back-end AI and/or database. Find at least one software system that performs a similar task and describe it. Additionally, describe the reason you wish to create a competing software system. Relate any existing experience you have to your topic. Note that it is expected that you will complete a one to two page domain analysis for your topic.
System Domain Model
Create a system domain model for your system. This will be a set
of UML diagrams for your domain, in which you will represent
classes that are part of the domain. You should not include any of
the classes that will represent the user interface or any helper
classes. Instead, you should model classes that would be
represented in the database or within the back end of your
program. That is, based upon what you have learned from the domain
analysis, identify a set of candidate classes for your domain, add
any associations and attributes that are clearly needed, work out
any necessary generalizations, and list the main responsibilities
(i.e. operations or methods) of each class. You must create at
least 3 classes for this project.
Requirements Gathering and Use Cases
Define the system scope and the basic inputs, outputs, data
stored, computations performed, any synchronization requirements,
and any platform requirements. Determine two to three central use
cases for your project. You must document and submit these use
cases. Your use cases must include a title, description, and
user/system steps, at minimum. Include preconditions and
postconditions as necessary. Additionally, provide UML style
use cases using stick figures and the possible actions each user
might perform.
Provide a UML activity diagram (i.e. a flowchart) of at least one
complex set of operations that will occur within your project.
User Interface Design
Create at least 4 paper prototypes for your application and create screenshots of a static user interface. The paper prototypes may be hand drawn.
Submission
Submit your topic, domain analysis document, system domain model UML diagrams, requirements list, use cases, activity diagram, and user interface design for both parts to the eCompanion dropbox for project 5 by the deadlines listed above.