Page 06 Part Five Software Engineering It 242 Semester 1 201
Pg 06part Fivesoftware Engineeringit242semester 1 2018201
The case study involves analyzing a scenario where "MyBook," a used bookstore expanding to an e-commerce platform, aims to develop a responsive website. The website will allow visitors to browse, register, login, search for books, place orders (online or cash on delivery), and submit complaints. Employees and managers will have different roles with access to specific functionalities, such as managing orders, updating stock, and announcing offers. The system must verify login credentials, process payments securely, and send confirmation emails. It should operate 24/7 throughout the year.
Students are required to analyze this scenario to identify functional and non-functional requirements, derive actors, create use case diagrams, swimlane diagrams, class diagrams, and state diagrams, along with applying appropriate process models for development.
Paper For Above instruction
Part One: Requirements Analysis and Use Case Diagram
Functional requirements (FRs) specify what the system should do, while non-functional requirements (NFRs) specify how the system should perform. Based on the scenario, two feasible functional requirements include: (1) allowing customers to register, login, search for books, and place orders; (2) enabling employees to manage customer orders and update the inventory. Two non-functional requirements could be system availability (operating 24/7) and responsiveness across devices, ensuring the website renders well on both desktops and mobiles.
Actors are entities interacting with the system. In this scenario, key actors include: Customer, Employee, Manager, Delivery Employee, and System (for verification and notification processes).
Constructing a use case diagram involves illustrating interactions between these actors and their actions. The diagram would depict customers registering, searching, ordering, and submitting complaints; employees managing orders and customer details; managers overseeing system-wide activities like discounts and inventory; delivery employees handling logistics; and the system verifying credentials and processing transactions.
Part Two: Swimlane Diagram for Delivery Process
The activity begins when a delivery employee logs into the system. The system verifies credentials; if incorrect, the employee has two more attempts before the process ends. Upon successful login, the employee views assigned deliveries, inputs the pickup time, and decides whether to accept or reject the job. If accepted, a notification is sent to the delivery team, and the process concludes. If rejected, an alert is sent to the manager who can reassign the task, leading to process termination. The swimlane diagram visually separates responsibilities and shows decision points, illustrating the flow of actions among the delivery employee, system, and manager.
Part Three: Class Diagram Development
From the scenario, relevant classes include Employee (employeeID, name, address, contactNumber, salary), Customer (customerID, name, title, contactNumber, address), Order (orderID, date, paymentMethod), Book (ISBN, title, author, publisher, year, quantity, price), Discount (discountID, percentage, code, startDate, endDate), and Complaint (complaintID, title, body, date). Relationships encompass: Customers making multiple Orders; Orders containing multiple Books; Discounts associated with one Employee; Complaints filed by Customers and handled by one or more Employees.
The class diagram would illustrate these classes with their attributes and relationships including multiplicities, e.g., one customer can have zero or many orders, each order can contain many books, and each complaint can be handled by multiple employees.
Part Four: State Diagram for Used Book Pricing
The used book's price varies based on the day: during national celebration days, a 40% discount; on return-to-university days, a 30% discount; otherwise, normal pricing applies. The UML state diagram displays states such as "Normal Price," "Discounted Price (40%)," and "Discounted Price (30%)," with guards representing the conditions based on dates or events. Transitions between states depend on the current date relative to national celebrations and university return days, ensuring the price adjusts accordingly.
Part Five: Software Process Models Analysis
For developing the scenario, the Waterfall model could be suitable due to its structured phases and clear requirements, especially since the project involves well-defined functionalities like user registration, product management, and payment processing. The sequential nature ensures systematic progress from analysis to deployment.
However, if customer satisfaction and iterative feedback are priorities, the Agile model is recommended. Agile facilitates incremental development, continuous testing, and frequent stakeholder involvement, which is vital for user interface satisfaction and quick adaptation to changing requirements.
References
- Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The Unified Modeling Language User Guide. Addison-Wesley.
- Pressman, R. S., & Maxim, B. R. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill Education.
- Sommerville, I. (2010). Software Engineering (9th Edition). Addison-Wesley.
- Jacobson, I., Booch, G., & Rumbaugh, J. (1999). The Unified Software Development Process. Addison-Wesley.
- Rosenberg, D., & Stephens, L. (2007). Use Case Modeling. Addison-Wesley.
- Mahnic, V. (2014). Agile Software Development: Principles and Practices. Journal of Software Engineering and Applications.
- Arnold, R., & Gosling, J. (2005). The Java Programming Language. Addison-Wesley.
- Highsmith, J. (2002). Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. Dorset House Publishing.
- Paul, R., & Harvey, T. (2018). Software Process Models and Agile Methodologies in Practice. IEEE Software.
- ISO/IEC/IEEE 12207:2017(E). Systems and software engineering — Software life cycle processes. International Organization for Standardization.