Page 03 Part One Software Engineering IT 242 Semester 2 2017

Pg 03part Onesoftware Engineeringit242semester 2 20172018projectde

Analyze the scenario of "Choco Shop," a chocolate shop expanding to develop a WebApp. Identify functional requirements, non-functional requirements, actors, and draw use case, swimlane, class, and sequence diagrams based on the scenario. Additionally, provide one recommendation for the shop's new system.

Paper For Above instruction

In today's digital era, retail businesses are increasingly leveraging web applications to enhance customer engagement, streamline operations, and expand market reach. The "Choco Shop" scenario exemplifies such an initiative, aiming to develop a comprehensive WebApp to facilitate various stakeholders, including customers, employees, administrators, and suppliers. This analysis focuses on understanding the functional and non-functional requirements, identifying system actors, and creating UML diagrams to model the system's behaviors and structure. Furthermore, a strategic recommendation is proposed to optimize the implementation of this digital transformation.

Functional Requirements (FRs)

Functional requirements specify what the system should do, focusing on specific behaviors or functions it must perform. Based on the scenario, two primary functional requirements are identified:

  1. FR01: Users can view available chocolate items and perform search operations within the WebApp.
  2. FR02: Users can create accounts, log in, and place orders for chocolates, including online payment processing.

Non-Functional Requirements (NFRs)

Non-functional requirements define how the system performs its functions, encompassing qualities like performance, usability, and security. In this scenario, two key non-functional requirements are identified:

  1. NFR01: The WebApp must support up to 100 concurrent users to accommodate peak shopping periods.
  2. NFR02: The system should ensure data security, particularly for login credentials and online payment details, complying with industry standards such as PCI DSS.

Actors of the WebApp

Actors represent the entities that interact with the system. The scenario involves various actors, including:

  • Customer: Users who browse items, register accounts, and place orders.
  • Choco Shop Employee: Staff responsible for managing customer orders and updating inventory and customer information.
  • Choco Shop Administrator: Oversee online order statuses, inventory management, supplier interactions, and system configurations.
  • Supplier: Responsible for adding new chocolate items and special discount offers.

Use Case Diagram

The use case diagram illustrates interactions among actors and system functionalities. The primary use cases include:

  • Customer: View Items, Register, Login, Search Items, Place Order, Pay Online, Write Feedback
  • Employee: Login, Manage Orders, Add Items, Delete Items, Update Customer Info
  • Administrator: Login, Check Orders, Check Inventory, Send Supplier Request, Update Inventory, Update Supplier Info
  • Supplier: Login, Add New Items, Add Discount Offers

The system's use case diagram connects these actors with their respective functions, indicating the relationships and dependencies.

Swimlane Diagram for Adding a New Chocolate Item

The activity of a supplier adding a new chocolate item involves multiple entities interacting sequentially. The swimlane diagram's key steps include:

  1. Supplier logs into the system; system verifies credentials.
  2. If verified, supplier fills in the new item form with details.
  3. Form submission triggers validation by the system.
  4. If validation succeeds, an alert is sent to the administrator.
  5. Administrator updates inventory records and confirms to the supplier.
  6. Supplier receives confirmation message, and process ends.

The swimlane diagram visualizes these entities: Supplier, System, Administrator, indicating the flow of actions across different roles.

Class Diagram for the Shop's Database System

The database tracks items, customers, employees, orders, and related details. Key classes and attributes identified are:

  • Shop: registrationNumber, title, address, phoneNumber
  • Employee: employeeID, firstName, lastName, address, phoneNumber, salary
  • Customer: customerID, firstName, middleName, lastName, title, phoneNumber, address
  • Order: orderID, date, time, discount
  • Item: itemID, description, quantity, unitPrice
  • Inventory: stores multiple Items

Relationships include: A Shop has many Employees; Customers can make multiple Orders; each Order is handled by one Employee; Orders contain multiple Items; Inventory contains many Items.

Sequence Diagram for Online Payment Process

The sequence in the online payment involves interactions among customer, system, system accounts, and administrator:

  1. Customer initiates order confirmation and selects online payment.
  2. System prompts for credit card number; customer enters data.
  3. System verifies card with provider; administrator verifies transaction details.
  4. Upon verification, system updates account balances and confirms transaction success.
  5. Confirmation message sent to customer; customer exits payment process.

Recommendation for the "Choco Shop" Scenario

To effectively implement this web-based system, it is recommended that "Choco Shop" invests in adopting cloud-based infrastructure combined with adopting a microservices architecture. Cloud deployment ensures scalability, allowing the system to handle fluctuating user traffic efficiently, particularly during peak periods. Microservices enable modular development, facilitating easier maintenance and updates, especially for critical functionalities such as payment processing and inventory management. Additionally, integrating robust security measures like SSL encryption, multi-factor authentication, and compliance with PCI DSS standards will bolster data security, particularly for sensitive customer payment information. Incorporating user feedback mechanisms and continuous system monitoring will further enhance system reliability and user experience, ultimately supporting the shop’s expansion goals while maintaining high service standards.

References

  • Ambler, S. W. (2012). The Elements of UML 2.0 Style. Cambridge University Press.
  • Jacobson, I., Booch, G., & Rumbaugh, J. (1999). The Unified Software Development Process. Addison-Wesley.
  • Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill Education.
  • Fowler, M. (2002). UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley.
  • Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The UML User Guide. Addison-Wesley.
  • ISO/IEC 25010:2011. Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models.
  • Zachman, J. A. (1987). A Framework for Information Systems Architecture. IBM Systems Journal.
  • Google Cloud. (2023). Cloud Architecture best practices. Retrieved from https://cloud.google.com/architecture
  • OWASP. (2021). Web Security Testing Guide. Open Web Application Security Project.
  • Schmidt, D. C. (2006). Data and Web Design for the Modern Web. Addison-Wesley.