The purpose of this assignment is to continue with our design modeling of the ITOT Case Study. For the Manage Shopping Cart use case, you will create a test scenario, and two test cases. You will also add a persistent UML class diagram and SQL statements for ShoppingCart andShoppingCartItem (these will be provided). Finally, you will map your domain classes ShoppingCart and ShoppingCartItem to Java statements.
Course Objective(s)
CO7: Describeimplementation modeling for databases and programming style
CO9: Apply your knowledge of object oriented and UML concepts by designing and developing UML models
You will create two test cases following the format described in your design specification. In testing, test cases are developed first and then tested later by a different team. You will not be able to exercise your test cases (so you won’t have
Actual Results
) but you can create the test case.
You will also create SQL statements including constraints for ShoppingCart and ShoppingCartItem. You will also create sample Java statements for ShoppingCart and ShoppingCartItem design classes.
In this assignment you complete the following sections in your Design Specification
Sections 6 (test cases),
Section 7
(SQL), and Section 8 (Java)
Instructions
1. Review the Quick Resources listed at the end of this assignment.
2. Complete the following
Section 6.1
You will identify and document two test scenarios (e.g., “Add a product to cart.”) based on theManage Shopping Cart use case and complete. Describe the test scenarios (around 100 words) at a high level.
Section 6.2 – Test Case 1
You will create and discuss an additional scenario for Manage Shopping Cart including test Case Name, Description, Prerequisites, Steps, Input, Expected Result, Actual Result, Status. The steps of the test case must be numbered! Example:
Test Scenario:
Test Case ID
Test Case Description
Test Case Steps
Expected Results
Actual Results
Test Case Status
TC001
1. 2,
… …………… TC002 Section 6.3 – Test Case 2 You will create Test Case 2 based on your scenario for Manage Shopping Cart and add it in the table format in Section 6.3 of your design specification. Section 7 An entity (persistent) classes will most likely become tables in a relational database. In database design, we would follow normalization and functional decomposition guidelines to normalize our entities (classes) into valid relations. Then we would create SQL (Structured Query Language) statements to create the tables and add constraints. After that, we could populate our tables with data. We will assume our classes are normalized for this exercise. Persistent Class Diagram An example of a persistent class diagram is below. You can copy these into Section 7 and 7.1 in your document. 7.1 Persistent Data Model 7.1.2 Persistent Data Model Discussion The persistent model utilizes four tables, UserAccount, Payment, ShoppingCat, and ShoppingCartItem. The ShoppingCart table represents the shopping cart itself, and includes a primary key cart_id, a foreign key user_id column to identify the user associated with the cart, and a created_at column to store the timestamp when the cart was created. Section 7.2 – SQL Statements for ShoppingCart and ShoppingCartItem You will use two classes (ShoppingCart and ShoppingCartItem) and create the SQL statements to implement the tables and constraints. You will need to include primary key and foreign key constraints. Add the SQL Statements to Section 7.2 of your design specification. Section 7.2.1 – Discussion Include a discussion of your SQL statements in Section 7.2.1in your design specification (50 to 100 words). Section 8 – Java Add the following to Section 8. This section shows how the implementation of the code will look using Java programming language. Section 8.1 – Java for ShoppingCart and ShoppingCartItem Using Chapter 18 examples in your textbook or your resources below, create Java statements for ShoppingCart and ShoppingCartItem detailed design classes. Note that ShoppingCart and ShoppingCartItem have a composition type of part whole relationship. See the Engine and Piston example at https://coderanch.com/t/443002/java/Java-Coding-UML-Aggregation-Composition . Add them to Section 8.1 of your design specification and complete Section 8. Section 8.2 – Java Discussion. Include a discussion of your Java statements in Section 8.2 in your design specification (50 to 100 words). Evan Sadler
IT Online Training Application Design Specification
1. Introduction
By combining live lectures, asynchronous materials, and printed books into one convenient
online hub, the app hopes to transform IT education. It will first be available online, and its
design will allow it to evolve along with any changes to how users interact. ITOT’s most
essential functions are its ability to handle users’ accounts, payments, schedules, customers,
courses, and access to a learning management system. Users, including students, educators,
timetable managers, and curriculum planners, are among the target demographics. Detailed
information on system architecture, the 4+1 architectural perspective, application class design,
testing scenarios, and program implementation are provided, beginning with functional and nonfunctional requirements. This standard is meant to guide developers as they create an ITOT
platform that meets requirements such as ease of use, security, scalability, and flexibility.
1.1 Purpose
In order to help all parties involved, especially developers and system architects, this document
provides a complete design specification. It provides a detailed examination of the ITOT’s design
requirements, functions, and possible future revisions, which aids in dissecting the ITOT’s
primary goal of providing a complete online platform for IT education. A safe, scalable, and
user-friendly platform that can adapt to new norms in the industry and technological
developments is also emphasized in this text. It serves as a road map for effective application
development and deployment by detailing test case situations and recommending approaches to
program implementation. Therefore, this document plays an essential role in transforming the
IT Online Training Application Project Part II
Page 1
project’s vision into a functional, resilient, and future-proof application that fulfills the stringent
standards of the contemporary IT business.
1.2 Scope
Building a strong, complete, and secure IT education platform that meets functional and nonfunctional needs is within the purview of this application. The ITOT app will provide essential
features that make this a complete solution for students and faculty include user account
management, payment management, course scheduling, and customer and course management.
All users, from students to educators to timetable managers to course organizers, should be able
to use this platform’s many helpful features. Its adaptability to new users and changing standards
is seen in its scalable architecture. This includes adaptable design choices for future user
interfaces and incorporating third-party services.
Non-functional needs for the system include ensuring the safety of user information and financial
transactions made via the Internet. The ITOT software will also provide tools for tracking and
managing the distribution of instructional materials. In addition, it will provide a framework that
can be scaled to meet the needs of a rising user base and evolving market norms. The system will
be designed to provide an effective and complete IT training service in mind, with particular
attention paid to ease of use, security, scalability, and flexibility.
1.3 References
IT Online Training Analysis Specification
IT Online Training Analysis Specification
IT Online Training Application Project Part II
Page 2
2. System Architecture
The following section breaks down the structure of the IT Online Training (ITOT) system,
outlining the main parts and how they work together. It sets up the fundamentals, such as the
web server, database, payment gateway, and Learning Management System (LMS), necessary
for user interface, data storage, transaction security, and course material delivery. It also
emphasizes the factors that are assumed and depended upon, such as the user’s level of computer
literacy, the availability of the internet, and the security of the data being handled. Data security,
scalability, user environment compatibility, and performance are all discussed in detail, as are the
limitations defining the system’s design. The design is highly scalable and secure to support a
growing user base and protect private information.
2.1. Assumptions and Dependencies
The IT Online Training (ITOT) initiative requires that users have access to a web browser and a
reliable internet connection. It is also presumed that consumers have the fundamental computer
literacy abilities required to utilize an online service effectively. Web servers host the platform,
while databases store user and course data. These are only two examples of the software and
hardware infrastructures necessary to make this work. Transactions are processed using safe
payment channels. The project’s success is contingent on these parts working together without a
hitch. Learning management systems (LMSs) and other external services are required for
efficient course material delivery on the platform. Content, such as courses, schedules, and
customer management, must be regularly managed and updated by platform users, such as
administrators and instructors. Finally, the system depends on users to exercise standard
precautions while handling sensitive data, such as credit card and bank account numbers.
IT Online Training Application Project Part II
Page 3
2.2. General Constraints
Several limitations limit the design options for the system. One is the importance of data security
when dealing with personal and financial information about users. Thus, encryption methods,
secure protocols, and robust user authentication processes should all be included in the
architecture design to guarantee the safety of all data. Because of the importance of meeting
security requirements, this may restrict specific design directions. The system must be
expandable to meet the demands of additional users and include new, more complicated features
as they become available. Limitations on technology selection and layout might result from the
need for scalability. Modular design concepts should be used to ensure that the system can easily
incorporate additional components and features.
The user’s surroundings are another limitation. The program must function across various
platforms and web browsers so that users can access the platform online. When achieving this
widespread compatibility, the platform’s development should adhere to web standards and use
widely used technology. The system’s efficiency is also crucial, particularly during high-volume
periods. The system must support a high volume of concurrent users without experiencing
performance issues. To keep things simple for the user, this might reduce the intricacy of certain
functionalities. Budgetary constraints may be an issue if achieving high performance requires
more powerful and costly gear.
2.3 Proposed System Architecture.
IT Online Training Application Project Part II
Page 4
2.3.1 System Architecture Discussion
The architecture is centered around the IT Online Training System, which serves as the main
interface for users. The system interacts with a web server that hosts the platform, ensuring that
users can access the platform from anywhere with a stable internet connection. It also
communicates with a database to store and retrieve user and course information, ensuring that
data is always up-to-date and accessible. To handle transactions securely, the system uses a
payment gateway, which ensures that users’ financial information is processed safely and
IT Online Training Application Project Part II
Page 5
securely. Furthermore, the system uses a Learning Management System (LMS) to deliver course
content effectively. This LMS integration allows for the seamless delivery of various IT courses,
enhancing the learning experience for users. The architecture is designed to be scalable, allowing
for the addition of more complex functionalities over time, and secure, with advanced measures
in place to protect user data. Overall, the architecture meets the specific requirements of
providing a secure, scalable, and user-friendly online IT training platform.
IT Online Training Application Project Part II
Page 6
3. 4+1 Architecture
The 4+1 architectural view model offers five different perspectives to describe software
architecture better. It considers the fact that several parties may be involved, all of whom may
have different expectations and priorities. This kind of class diagram capturing essential classes
and their interactions is caught in the model’s Logical view, which is concerned with
functionality. The software administration concerns of the system are dealt with under the
Development perspective. From the Process perspective, efficiency, scalability, and
seamlessness are prioritized. In the Physical view, sometimes called the Deployment view, you
can see exactly how the various parts of the system are physically implemented. Last, the
Scenarios view (the use case view) unifies everything by showing how everything works
together in practice. The 4+1 architectural paradigm, in a nutshell, gives users a bird’s-eye view
of a system from several angles, improving comprehension and collaboration.
IT Online Training Application Project Part II
Page 7
3.1 Logical View
This diagram represents the main classes of the system, their attributes, and the relationships
between them. The classes include Customer, Product, Video, Book, Course, Instructor,
ShoppingCart, and CreditCard. The relationships between these classes are represented by lines,
with the direction of the relationship indicated by the arrow.
For example, a Customer has a ShoppingCart, which contains Product instances. Product is a
superclass for Video, Book, and Course. A Course is taught by an Instructor.
IT Online Training Application Project Part II
Page 8
This diagram provides a high-level overview of the system’s structure, highlighting the key
abstractions and mechanisms, separation of concerns, and distribution of responsibilities.
4. Application Class Design
The Application Class Design component of the IT Online Training System uses class diagrams
to describe the organization and operation of the system’s courses. Classes such as Entity, View,
and Controller represent different aspects of the system in an Application Class Diagram. View
classes represent user interfaces, whereas entity classes encompass system business objects with
properties and activities. The system relies on the controller classes to mediate between the view
and entity classes. Using the ‘Manage Shopping Cart’ scenario, this section demonstrates the
interplay between these classes and how they work together to create functionality. This section
analyzes the relationships between classes to understand how user activities translate to system
behavior.
IT Online Training Application Project Part II
Page 9
4.1 Application Class Diagram
IT Online Training Application Project Part II
Page 10
4.2 Application Class Diagram Discussion
The ITOT system is set up to handle a shopping cart in the specified use case by looking at the
class diagram above. Entity, view, and controller classes make up the lion’s share of the
diagram’s visual representation. The entity classes (also called domain classes) reflect the
system’s business objects. Attributes describe the classes’ characteristics, whereas operations
provide their actions. The “Customer” class, for instance, offers methods like
“createCustomer(),” “modifyCustomer(),” and “removeCustomer(),” as well as properties like
“customerID,” “firstName,” and “lastName.” These classes wrap the data and the possible actions
on the data in a single unit. View classes represent a system’s interfaces with the outside world,
sometimes called border classes. The user interface consists of these many displays and forms.
These are illustrated by “ProductSearchView” and “ShoppingCartView” in the figure. Users may
conduct product searches and see results using methods like “displayCart()” and
“displayCheckout()” from the “ShoppingCartView” class.
The view and model classes are brought together via the controller classes. They are responsible
for facilitating interaction between the interface and the data behind it. The
“ManageShoppingCartController” class represents the diagram’s controller. AddProductToCart(),
removeProductFromCart(), checkOut(), and updateCart() are all methods in this class that map to
user activities in the “Manage Shopping Cart” scenario. Lines drawn between these categories
show the interconnections between them. The “ManageShoppingCartController” classes are
linked to the “Customer” classes since it is assumed that a “Customer” has a shopping cart.
Multiple goods may be placed in a shopping cart, as shown by the
“ManageShoppingCartController” class’s relationship with the “Product” class. The sequence
diagram and detailed use case “Manage Shopping Cart” is the foundation for the resulting class
IT Online Training Application Project Part II
Page 11
diagram. It contains all the categories used to provide this use case’s functionality and any
additional use cases in the system.
5. Class Design
The Class Design section depicts how the ShoppingCart and ShoppingCartItem classes’ internal
architecture and design are deeply dissected. The properties, actions, and connections between
these two classes are represented graphically in a UML class diagram. The composition link
between the classes is emphasized in this part to make their interactions inside the system very
evident. The developers may use this design as a guide to build the system with high precision
and uniformity.
5.1. Detailed Class Diagram
IT Online Training Application Project Part II
Page 12
5.2. Detailed Class Diagram Discussion
The dependency between the ShoppingCart and ShoppingCartItem classes is shown graphically
in the UML class diagram. The diamond connector, denoting composition, highlights the close
connection between the two groups. A ShoppingCart may include many goods, but each item
may only be assigned to one ShoppingCart at a time. When a ShoppingCart is removed, or its
contents are emptied, the composition connection guarantees that any related ShoppingCartItem
IT Online Training Application Project Part II
Page 13
objects are similarly removed. In the real world, removing everything from a shopping cart
before an individual leaves the store makes sense. Each class’s characteristics and actions are
described in detail, offering a birds-eye perspective of the object’s capabilities and traits. The
diagram is a helpful resource for developers and stakeholders in comprehending the system’s
architecture and the relationships between its parts.
Customer ID, Cart items, and Grand Total are all characteristics of the ShoppingCart class. It
also offers functions like “create cart,” “add item,” “remove item,” and “update cart.”An item in a
customer’s shopping cart, as represented by the ShoppingCartItem class. Product ID, item ID,
and quantity are all included as fields. Using the methods in this group, one may add or remove
items or adjust their total count. A line with a diamond at the ShoppingCart end represents the
compositional link between ShoppingCart and ShoppingCartItem. Having no items in the
ShoppingCart implies that the corresponding ShoppingCartItem does not exist.
IT Online Training Application Project Part II
Page 14
6. Testing
6.1 Test Case Scenario
< Provide a test scenario for your detailed use case. Include the test
scenario name and description.>
Test Scenario Name:
Test Scenario Description:
6.2 Test Case 1
IT Online Training Application Project Part II
Page 15
6.2.1 Test Case 1 Discussion
IT Online Training Application Project Part II
Page 16
6.3 Test Case 2
6.3.1 Test Case 2 Discussion
IT Online Training Application Project Part II
Page 17
7. Data Design
7.1 Persistent Data Model
7.1.2 Persistent Data Model Discussion
7.2 SQL Statements
7.2.1 SQL Statement Discussion
IT Online Training Application Project Part II
Page 18
8. Program Implementation
8.1 Java for Classes
8.2 Program Implementation Discussion
Appendix.
IT Online Training Application Project Part II
Page 19