Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Assignment: Create a design document Create a document containing a class diagram depicting software design, detailed description of all methods, a class diagram depicting database

Assignment: Create a design document

Create a document containing a class diagram depicting software design, detailed description of all methods, a class diagram depicting database design, a state machine diagram showing how navigation will occur within your application, and a rough prototype of the user interface of each page in your application.

Software design

The product backlog describes what the application must do, but it is up to software architects to figure out what classes are needed to achieve those goals. Your design should follow the 5 principles of SOLID as you design your classes. You will need to have interfaces, though perhaps not inheritance. Make sure each class only has one reason to change. If any method of a class calls the methods of another (likely an interface), it depends on this class and should have a dependency arrow in the diagram. Since you are describing code that has been written, but are instead imagining the behavior of code that has not yet been written, this requires a good deal of imagination. You will likely need to sketch possible implementation pseudocode to see the possibilities. Treat all stand-alone methods as if they are each the single method of a class of the same name.

Method description

Each method (and stand-alone function) in your design should have preconditions, postconditions, and side effects listed, and the intended use of each parameter should be discussed. There is no room for this in the class diagram so it forms a separate section. Use a format like

class.method(p1, p2)

Preconditions: these are the assumptions we have about the world before the method is called

Postconditions: this is what the method changes in the host object or produces through return value

Side-effects: any other changes to the world caused by calling the method (usually none)

p1 (in, out, in-out): this is how p1 will be used by the method, including whether it is for input, output, or both

p2: ...

Database design

Each table is depicted with its columns. Datatype should be roughly described for each column (using Java datatypes is fine, but you can be more abstract). Tables are only connected through foreign keys. For each connection, you should observe whether the many side of the relationship allows null (empty diamond) or should be deleted if the "parent" is deleted (solid diamond). Many to many relationships require a junction table.

State machine diagram

Each page on the application is represented as a box, with a descriptive title. If it is possible to move from page A to page B through some action, then a directed edge is drawn from A to B, labeled with the action. Don't forget error transitions.

Prototypes

A rough mockup of the eventual layout of the given page. Each diagram should be labeled with a title from one of the pages in the state machine diagram.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Business Process Driven Database Design With Oracle PL SQL

Authors: Rajeev Kaula

1st Edition

1795532386, 978-1795532389

More Books

Students also viewed these Databases questions

Question

What is the Definition for Third Normal Form?

Answered: 1 week ago

Question

Provide two examples of a One-To-Many relationship.

Answered: 1 week ago