Developing applications requires much forethought and planning. This project will guide you through the various steps of designing a program that meets a set of requirements. When requirements are understood, software development techniques and tools can be applied to design the objects needed by the program. Once the design has been determined, program logic can be defined. Finally, writing source code can begin.
For this assignment, you will need to refer to a set of requirements, design the program, and then create the code.
You have been requested to develop a Java application for a large company that provides members and the general public an online product catalog for ordering items like books, DVDs, clothes, household products, and so forth. There are several levels of users, including public (user has not registered), level 1 member, level 2 member, and level 3 member. The level 1 member pays a small monthly subscription fee. Level 2 members are associated with a small business who pays an annual fee covering less than 100 members. Level 3 members are employees of large corporations (more than 100 members) who subscribe annually. As the level increases, so does the discount. The following list highlights these requirements.
The requirements for the application are as follows:
- The application will act as an online ordering system.
- The company accepts orders online and ships those items to the customer address.
- Customers must create a line of credit prior to placing an order.
- Customers view products from the catalog of items.
- Customers place orders.
- The administrator updates account information on behalf of members.
- Administrators add, delete, and modify items in the catalog.
- The application is able to run under most operating systems, including UNIX and Windows, and has a modern graphical user interface.
- The application is designed for future growth.
Part 1 (55 points)
Review the requirements and, using Visio, develop your design by creating use case diagrams, a class diagram, and a sequence diagram. Templates can be found in Visio by accessing the UML System template. There is a use case shape to help you create your use case diagrams. There is a UML sequence shape. Under “More Shapes,” you will find an entity relationship shape for your class diagram.
Click here to refer to a Visio tutorial to learn Visio basics.
- Use case diagrams are used to summarize the relationships between use cases, actors, and systems.
- Use Case 1: Create Account
- Use Case 2: Place Order
- Use Case 3: Add Product to Catalog
- Use Case 4: Update Account Information
- Sequence diagram that illustrates the various object interactions in their proper sequential order.
- Class diagrams depict the objects and information structures used by the application. The definition of a class is independent of the application itself. Classes describe the objects managed by the application but are independently defined. Be sure to show relationships between class objects, attributes, data types, and methods in your diagram.
- Class 1: Account
- Class 2: Account Level
- Class 3: Address
- Class 4: Products
- Class 5: Order
- Class 6: Line Item
Once you have completed your diagrams, copy them into a Word document that will serve as your application design document. Include explanations for each diagram in your design document.
Part 2 (25 points)
Create pseudocode that describes the necessary flow of your program with respect to both creating a user account and placing an order. This information should be included in your application design document. This information should be included in your application design document.
Part 3 (45 points)
Explain your steps regarding taking the business requirements and developing your application design. Provide details as to the importance of following these important steps prior to coding the application. Describe the advantages and disadvantages to this process. Discuss how this process relates to the software development life cycle.
Parts 1, 2, & 3 are all included in the application design document.