DUYTAN UNIVESITY INTERNATIONAL SCHOOL ARCHITECTURE & DESIGN KFC VIETNAM ORDER SYSTEM Version: 2.0 Project team : HTC Team Member : Hung Phi Cao Han Van Le Chuong Hong Nguyen Tan Nhat Tran Van Hoang Phuc Tran Mentor 1 Mentor 2 : Son Van Phan : Toan Duc Vo KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Document Approvals: The following signatures are required for approval of this document. Mentor 1 Son V. Phan Signal Date Signal Date Signal Date Signal Date Mentor 2 Toan D. Vo Customer KFC Vietnam Stores Team leader Hung P. Cao Confidential HTC Team , 2016 Page 2 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Revision history Date Version A, M, D (*) Description Author 22/03/2013 1.0 A The draft HTC Team 2.0 A 2.1 M Adding some server functions Modifying some functions HTC Team HTC Team (*) A-added, M-modified, D-deleted Confidential HTC Team , 2016 Page 3 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Table of Contents ARCHITECTURE 5 1. Introduction 5 1.1. Purpose 5 2. Project Overview 5 2.1. Business needs 5 2.2. Business drivers 6 2.3. Project goal 6 3. Architectural Drivers 6 3.1 Functional requirements 6 3.2 Business constraints 8 3.3 Technical constraints 8 3.4 Quality Attribute 8 3.5 Context diagram 11 4. C&C view 11 5. Module view 14 6. Allocation view 16 Confidential HTC Team , 2016 Page 4 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 ARCHITECTURE 1. Introduction 1.1. Purpose This document will cover the following information: - Brief description of the project (project overview, business goals, general constrains about technical and business problems). - Architectural drivers (functional requirements, quality attributes and constraints). - Architectural design (C&C View type, Module View type, Allocation View type). This document is intended for the following audience: - Stakeholders (direct or indirect) of the KFC Vietnam Order System project. - Audience that might want to get an insight into or analyze the architecture and design of KFC Vietnam Order System project. 2. Project Overview 2.1. Business needs KFC are known to at Vietnam with a name calling the chicken run Kentucky chain stores served of dishes from chicken, Bo-GO and Mon Floating known first is a chicken bee run Kentucky is invented by Harland Sanders. Six one series successfully of the system chain food restaurants Trademark quick with KFC (above 10,000 restaurant has been a development in the entire World), Vietnam at KFC have joined to the field once the first to 12/1997 at Saigon Trade Center Super Bowl. Time here, the system food restaurants quick is already lost in most of the route City the Philippines. Nowadays, KFC Vietnam stores has many branches in many provinces and cities. They, therefore, need a tool help their customers easily to search and order food. Besides that, this tool also support KFC Vietnam stores manager their Confidential HTC Team , 2016 Page 5 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 customer easy and convenient. Especially, this tool must be effective to compete against other company in the same business area like Lotteria or McDonalds. 2.2. Business drivers Base on the business needs our team decides to make a KFC Vietnam Order System. This system will be developed by PC and Laptop and available tools for all Android Devices. 2.3. Project goal The purpose of the project is to deliver the KFC Vietnam Order System satisfying the client’s requirements: - Customers can search, order, and add to their favorite, and so on (refer to the proposed solution). - Administrator of the system can manage system such as add foods and users, edit user’s information, and so on (refer to the proposed solution). 3. Architectural Drivers 3.1 Functional requirements - Client Side: Functional ID FRC1 Functional name Log in Description When you want to use all function of KFC Vietnam Order System, they must login. FRC2 Log out If you don’t want to do anything on of KFC Vietnam Order System, they can logout. FRC3 Add to cart Users use this function to add type of dishes that they want to Confidential HTC Team , 2016 Page 6 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 buy to their cart for checkout, review, add more dishes, remove any food in their cart … FRC4 Manage cart Users use this function for adding item, removing items, clearing all items in their cart. FRC5 Check out Users use this function for checking out after adding any dish to their cart. FRC6 Route map Users use this function for finding the shortest way to the nearest KFC stores from their location and all KFC around their location. FRC7 Search Users use this function for searching all dishes that KFC provides or their favorite dishes. FRC8 Favorite Users use this function for adding favorite dishes into their favorite lists for later order. - Server Side Functional ID FRS1 Functional name Log in Description When manager want to use all function of KFC Vietnam Order Management System, they must login. Confidential HTC Team , 2016 Page 7 of 18 KFC Vietnam Order System Architecture Version: Date: Log out FRS2 1.0 17/04/2013 If you don’t want to do anything on of KFC Vietnam Order System, you can logout. 3.2 Business constraints Following are business constraints of the project: - Project begins from August 31th, 2010 to December 12th, 2012. After delivery, the HTVN team will rectify defects in the deliverables (no additional functionalities or features). - Resource availability is defined below: 31/8 – 12/12 with 4 members. - Product follows customer’s requirement. 3.3 Technical constraints - Programming language: C# .NET, Java. - Tool to develop: Visual Studio 2012 Ultimate, Eclipse with Android SDK. - Database: MySQL. - Environments: .NET framework 3.5 or higher, Java Runtime Environment. - Network: Internet and LAN. 3.4 Quality Attribute Table 3.3.1: Quality Attributes: Availability Quality Attributes : Availability ID : QA01 Stimulus The power is off while server is running Source(s) of the stimulus Power Relevant environmental conditions Architectural elements System response Confidential During peak usage load Hardware and software System will use the reserve power maintain the server if the power incident occurred HTC Team , 2016 Page 8 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Server must always be online even when the main Response measure(s) power is off Table 3.3.2: Quality Attributes: Performance Quality Attributes : Performance ID : QA02 Stimulus User want the system respond their requests quickly Source(s) of the stimulus Customer Relevant environmental conditions During the system running Application Architectural elements System response User should take less than 3s to login into system. Viewing or searching dishes, all dishes should take less Response measure(s) than 10s to show detailed result. Other functions should present the result within 5s. Table 3.3.3: Quality Attributes: Security Quality Attributes : Security ID : QA03 Stimulus Customer wants all the data is safe Source(s) of the stimulus Customer Relevant environmental conditions During initial development Architectural elements Network and application System response Refuse the unpermitted connection Response measure(s) User can log in system with system’s applications Confidential HTC Team , 2016 Page 9 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Table 3.3.1: Quality Attributes: Capability Quality Attributes : Capability Many customers can access to the system at the same Stimulus time System Source(s) of the stimulus Relevant ID : QA04 environmental conditions During initial development Network and application Architectural elements Allow many customers access to the system at the same System response time The system can work probably with at least 50 devices Response measure(s) logged in at the same time. Table 3.3.1: Quality Attributes: Usability Quality Attributes : Usability ID : QA05 Stimulus Users can easily use the system at the first time. Source(s) of the stimulus Customer Relevant environmental conditions During initial development and after deployment Architectural elements Application and user guide. System response Friendly user interface is presented Confidential HTC Team , 2016 Page 10 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Users can use any functions of the system with just few Response measure(s) click and very easy to start their in the first time of use. 3.5 Context diagram Figure 3.5.1: Context diagram of system Confidential HTC Team , 2016 Page 11 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 4. C&C view We mainly used C&C view to argue and reason about architectural properties, quality attribute requirements, and functional requirements that the system must adhere to. This view type partitions the system into components that have some runtime presence such as processes, objects, data stores and connectors or that represent pathways of communication such as information flows, and access to shared storage. The diagram below shows the architecture overview including the Feedback Teachers Website components and other related components. We have representations and behaviors for important components in the following sections. Figure 4.1: C&C View Confidential HTC Team , 2016 Page 12 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Prose Element Responsibilities Client Client is a component which manages all of user inputs, and raises appropriate events: view dishes; add/remove dishes to favorite list, add/remove dishes to cart, check out but all action is not directed to database, its operation via Web Service. Server Server is a component which is manages all users, dishes, orders information. The major different between client is read and modify direct to database. Database SQL Database is a component which contains information of dishes, users, and all orders information. All data of system needs. RESTful request/response RESTful is method to call and return information from Web Service. Query Query is command for interacting with database. Web Service Web Service is a technology that allow to transfer data between Database and applications. Smartphone Smartphone is environment running Android application of system and it determines the performance of the Android application. Desktop Desktop is running environment for management application. Component Provider Role Responsibility Desktop User Environment that running Windows Form application. Run Windows Form application. Smartphone User Environment that running Android application. Run Android application. Confidential HTC Team , 2016 Page 13 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Web Service System Transferring data between Transfer data . database and applications. RESTful request/response System Communicating between applications and Web Service. Send and receive information. Query System Query command use in database Give results. 5. Module view This view type partitions the system into a unique non-overlapping set of hierarchically decomposable implementation units (modules). The goal is to show how the source code is decomposed, as well as the dependencies between modules. In other words, it shows the decomposition and the “uses” relation. The elements in this view type are UML packages or UML classes or interfaces. Packages are hierarchically decomposable; hence, placement of a class or package inside another package in a diagram implicitly indicates an is-part-of relation. This view type also shows dependencies among implementation units. It tells developers what other modules must exist in order for their portion of the system to work correctly. This view type was selected because it helps the following roles: - The project manager, who must define work assignments, form teams, and formulate project plans and schedule, knowing which modules are more critical in terms of dependencies. - Testers who use the modules as their unit of work to create test cases and perform the tests. - The configuration manager who is in charge of maintaining current and past versions of the units in consistent and functional package assemblies, being able to produce a running version of the system. - Developers, who are required to implement the elements. - Maintainers, who are tasked with modifying the software elements. - The software architect, who defines the software elements that are sufficiently large or complex enough to belong at the architectural level. The architect can Confidential HTC Team , 2016 Page 14 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 evaluate the architecture with respect to modifiability looking at the views in this view type. Figure 5.1: Module view of KFC Vietnam Order System. Legend Thumbnail Title Description Class A class artifact. Library A library of modules. Event A uses B Prose Confidential HTC Team , 2016 Page 15 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Element Responsibilities Database Database is a module contains some classes that implement the connections with database or processing data input/output of system. Library Library is a module contains some Interface libraries is used to build background of system Web Service Web Service is a module contains some classes and forms that implement functions to transfer data to Database. Desktop Application, Android Desktop Application, Android Application are modules that Application contain some classes and forms that implement functions to transfer data to Web Service. 6. Allocation view Confidential HTC Team , 2016 Page 16 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Client Android Application Server .NET Framework Desktop Application Internet SERVER Web Service Database Figure 6.1: Allocation view of KFC Vietnam Order System. Confidential HTC Team , 2016 Page 17 of 18 KFC Vietnam Order System Architecture Version: Date: 1.0 17/04/2013 Legend Thumbnail Title Description Component Component of system Database To store data Server Node Node PC Node Node Use A uses B Prose Element Responsibilities Database Database is a component of system that system can save and get data from it. Desktop Application Desktop Application is a component of system that users can manage all information, activities of the system based on their role. Android Application Android Application is a component of system that users can view and update some important activities of the system. .NET Framework .NET Framework is a component of system that user must install it before using KFC Vietnam Order System. Confidential HTC Team , 2016 Page 18 of 18