We have chosen this project as our capstone project. The first purpose is to complete the FPT University’s syllabus. The second one is not only to create a software engineering project but also to implement a business idea useful and interesting for our live.
Seu purchase requisition management systemSaifur Rahman
This project is based on purchase module. It has features of create requisitions , multi-level approval system, order cretion, recieving, different reports etc
The document proposes developing a centralized online learning system for design colleges in India. It would allow students to access course materials and interact with peers and experts anywhere through discussion forums and an e-library. The system would be accessible through login and maintain different access levels for students, faculty and guests. It would source content from registered colleges and notifies users about new materials. The document outlines requirements, hardware/software needs, feasibility analysis and proposed budget for the system.
The student portal system aims to address several issues with the current email-based system used at ITB for services like advertising, selling items, and lost and found. The new portal will consolidate these services onto a single online platform, allowing students to more easily browse advertisements, purchase items, and use the lost and found. It is hoped that the portal will generate revenue through paid advertising and provide a better overall experience for students.
This document outlines the thesis guidelines and policies set by Prof. Erwin M. Globio for Bachelor of Science in Information Technology students. The guidelines provide information on the stages of the thesis project, including preliminary and final proposal writing as well as the final defense. It describes the roles and responsibilities of the project proponent, adviser, defense panel, and thesis coordinator. Finally, it specifies the formatting and content requirements for the thesis proposal and final paper, as well as related documentation.
An Online Course Registration system for Any University is to be developed with a front-end web interface and a back-end
database.
An example of the system would be BUBT Registration.
Any database system can be chosen as the back-end such as MySQL. Any web server can be chosen for the front end such as Tomcat, Glassfish etc. Any server side language can be chosen such as PHP
The document describes an online student portal that allows students to access all necessary information and services in one place, including interacting with administrators and other students. It outlines the scope of the portal, which allows students to manage their details, check timetables, participate in activities, communicate with others, download materials, and see updates, while administrators can design events, upload content, and communicate. Video conferencing is not included due to time limitations. The document also provides definitions and descriptions of various testing artifacts used for the portal, including test plans, traceability matrices, test cases, test scripts, test suites, test fixtures/data, and test harnesses.
Systems Analysis and Design | Final Project Amber Raiford
The document analyzes and designs an inventory system for the Office of Information Technology at Winston-Salem State University. It finds that the current WASP Labeler system is outdated and recommends replacing it with the KACE System Management inventory system already in use by the university. A full analysis is provided of the organizational background, current system limitations, proposed KACE system benefits including improved access, reporting, and network security. Diagrams illustrate the current and proposed systems. The conclusion is that upgrading to KACE is feasible and will improve functionality with little cost or user impact.
Seu purchase requisition management systemSaifur Rahman
This project is based on purchase module. It has features of create requisitions , multi-level approval system, order cretion, recieving, different reports etc
The document proposes developing a centralized online learning system for design colleges in India. It would allow students to access course materials and interact with peers and experts anywhere through discussion forums and an e-library. The system would be accessible through login and maintain different access levels for students, faculty and guests. It would source content from registered colleges and notifies users about new materials. The document outlines requirements, hardware/software needs, feasibility analysis and proposed budget for the system.
The student portal system aims to address several issues with the current email-based system used at ITB for services like advertising, selling items, and lost and found. The new portal will consolidate these services onto a single online platform, allowing students to more easily browse advertisements, purchase items, and use the lost and found. It is hoped that the portal will generate revenue through paid advertising and provide a better overall experience for students.
This document outlines the thesis guidelines and policies set by Prof. Erwin M. Globio for Bachelor of Science in Information Technology students. The guidelines provide information on the stages of the thesis project, including preliminary and final proposal writing as well as the final defense. It describes the roles and responsibilities of the project proponent, adviser, defense panel, and thesis coordinator. Finally, it specifies the formatting and content requirements for the thesis proposal and final paper, as well as related documentation.
An Online Course Registration system for Any University is to be developed with a front-end web interface and a back-end
database.
An example of the system would be BUBT Registration.
Any database system can be chosen as the back-end such as MySQL. Any web server can be chosen for the front end such as Tomcat, Glassfish etc. Any server side language can be chosen such as PHP
The document describes an online student portal that allows students to access all necessary information and services in one place, including interacting with administrators and other students. It outlines the scope of the portal, which allows students to manage their details, check timetables, participate in activities, communicate with others, download materials, and see updates, while administrators can design events, upload content, and communicate. Video conferencing is not included due to time limitations. The document also provides definitions and descriptions of various testing artifacts used for the portal, including test plans, traceability matrices, test cases, test scripts, test suites, test fixtures/data, and test harnesses.
Systems Analysis and Design | Final Project Amber Raiford
The document analyzes and designs an inventory system for the Office of Information Technology at Winston-Salem State University. It finds that the current WASP Labeler system is outdated and recommends replacing it with the KACE System Management inventory system already in use by the university. A full analysis is provided of the organizational background, current system limitations, proposed KACE system benefits including improved access, reporting, and network security. Diagrams illustrate the current and proposed systems. The conclusion is that upgrading to KACE is feasible and will improve functionality with little cost or user impact.
This document outlines the business requirements for enhancements to an unnamed system driven by an unnamed initiative. It includes sections on the purpose, contacts, requirements gathering process, business background, objectives, current and desired future processes, functional and non-functional requirements, assumptions and dependencies. The requirements focus on improving existing processes and include priorities, success criteria and technical details.
The document describes an Academic Management System (AMS) project presented by students. The AMS allows a college to maintain student, staff, fees, and exam information electronically. It aims to simplify information management and allow quick access to records. The project involved designing the system using tools like Rational Rose, writing code in Java/JSP, and testing the software. Key modules include administration, student, faculty, and department functions. The system uses a database, login authentication, and allows generating reports. The document outlines objectives, outcomes, schedule, architecture, and design diagrams for the AMS.
The document provides details about the author's internship project to create an Android application. The author completed their internship at the Sendai National College of Technology in Japan, under the supervision of Mr. Takatoshi Suenaga. The project involved learning to develop applications for the Android operating system. The author's first project was a "task killer" application, and their second project was an application to help foreign students learn Japanese phrases and translations. The author gained experience with Java programming, Android development tools, and aspects of Japanese culture during their internship.
The document describes a student portal created using ASP.NET and C# for a college. The portal aims to provide students a single interface to access various services like viewing results, sending messages, managing schedules and tasks, downloading documents, and searching for faculty. It also allows administrators to add, update, and manage student information and results online. The portal was developed using tools like Visual Studio .NET, SQL Server and utilizes IIS for the web server. Future enhancements may include online fee payments, event listings, discussion forums and email integration.
Final year-project "Smart Sessional System with QR Code"Usama Fayyaz
The proposed system allows students to record and view their attendance using a QR code scanned by their smartphones. This aims to help students avoid penalties from poor attendance. The system includes web portals for administrators, instructors, and students as well as an Android app for students. Instructors can generate QR codes, upload assignments, and view attendance records while students can scan QR codes to mark attendance and view their records. The system uses QR codes, location data, and a MySQL database to efficiently manage attendance.
The document provides a template for a Software Design Document (SDD) that describes the architecture and design of a software system. The SDD template includes sections for an introduction, system overview, system architecture, data design, component design, human interface design, requirements matrix, and appendices. The system architecture section further breaks down the system into subsystems and modules and explains how they interact. The data and component design sections describe how data structures and algorithms implement the required functionality.
This project report describes a Software Project Management Tool. The tool aims to help organizations efficiently manage multiple projects by tracking activities, schedules, resources and time spent. It allows clients to check project status. The Business Development Officer can add new projects and view/update details. Developers can fill timesheets tracking time spent. The HR manager provides resources to projects. The Project Manager plans tasks and assigns them to developers, and checks timesheets. The tool is intended to provide transparency into resource allocation and progress across all levels of a project.
This document describes an online job portal system project submitted to MicroRoot POC Technology Pvt. Ltd. The project includes an introduction, requirement analysis, system design, and conclusion. The system design section includes use case diagrams, sequence diagrams, data flow diagrams, and screenshots of the proposed user interfaces. The system is intended to allow job seekers to search and apply for jobs, and employers to post jobs. It will be developed using technologies like PHP, MySQL, Joomla, AJAX, and jQuery.
Seminar recording here: https://www.youtube.com/watch?v=o4_esFnZ7LA&t=288s
Remote proctored exams are a type of digital assessment where students are monitored, usually by their webcam and microphone, as they complete a test. Remote proctoring has proliferated during the pandemic as it lets students sit high-stakes examinations in their own homes. Compared to unproctored online exams, students sitting remote proctored exams tend to get poorer grades, which proponents of proctoring often regard as evidence that proctoring reduces cheating. However, critics argue that proctoring is a form of surveillance, and it creates an adversarial, untrusting assessment environment.
Using concepts from assessment security, academic integrity and surveillance studies, this presentation puts remote proctoring under scrutiny and examines the evidence for and against. It offers suggestions for those who are using proctoring on how to minimize its potential harms and maximise its potential benefits. Finally, it sets out challenges for both advocates and critics of remote proctored exams on the sorts of evidence we need to make an informed decision about the use of proctoring.
The document provides a user manual for a learning management system (LMS) created using Moodle for a Data Structures course. The LMS allows students to access interactive lessons, videos, assignments, quizzes and more. It also includes reporting features and a standalone version that can be downloaded. The manual outlines the system overview, user access levels, navigation and key features to help users get started with the LMS.
It’s a project based on generic view of Scholarship Database Management System but we have considered a case of WAPDA and then create a database on a basic level.
Besides this me and my group fellows cover the following topics WAPDA, INCORPORATION:, RESPONSIBILITIES, SEGMENTS, POWER Wing, WATER Wing, ORGANOGRAM, EXPERIENCE, CASE SCENARIO:, ENTITIES:, ASSOCIATIONS:, QUESTIONNAIRE, ERD BEFORE NORMALIZATION, NORMALIZATION:, ERD AFTER NORMALIZATION, SCRIPT, DESCRIBE STATEMENTS;, CONTACT, ADDRESS, BIRTH, COURSE, CHILDREN, DEPARTMENTS, ORGANIZATION, STUDENT, INCOME, EMPLOYEES, APPLICANTS, SPONSORS, EVENTS, DONORS, SCHOLARSHIP, ISTALLMENTS, PAYMENT, FUNDS, SELECT STATEMENTS, Views, SIMPLE VIEWS, COMPLEX VIEWS, SQL Queries, USER_OBJECTS, USER_CONSTRAINTS.
If you want to access complete package of word file, Visio file, Script and etc. related to this project then contact me.
SCHOOL BUS ROUTING MANAGEMENT SYSTEM [FINAL]ayushi goyal
This document presents a software engineering project report on a School Bus Routing Management System. It was created by three students at Shyama Prasad Mukherji College for Women, University of Delhi, under the guidance of Dr. Baljeet Kaur. The project aims to develop a software using GIS techniques to track school buses and manage student and staff databases. Key features include student registration, login functionality for parents/guardians, and a "track" feature to monitor bus routes and locations in real-time. The waterfall model was used for the software development process.
This document provides an overview and sample sections from a user manual for an online classroom application. The manual was written to be intuitive for both instructors and students with varying technical skills. It includes a table of contents listing the sections and features covered. Sample sections describe the online classroom interface, instructor control panel options like uploading slides and content, and creating and managing slide lists.
This document provides a summary of an online student registration system project report. It was submitted by five students to partially fulfill the requirements for a Bachelor of Computer Application degree. The project involved developing a system to allow online registration of students, adding subjects, and maintaining fee structures. The system was designed to make the registration process easier for both administrators and students while saving time and money compared to a manual process.
This document outlines the statement of work and project scope for analyzing GMC Investments' IT infrastructure. The current systems for TABC reporting, scheduling, and inventory management are manual, time-consuming, and error-prone. The project objectives are to streamline these systems by automating reporting, integrating pricing data, and directly capturing sales data to reduce errors and speed up reporting. The project will analyze GMC's existing processes and design automated interfaces for staff to record inventory, sales, and scheduling data into a centralized database for reporting.
Dormitory management system project reportShomnath Somu
This document summarizes a project report submitted for a BSc degree in Computer Science and Engineering. The report describes the development of a Dormitory Management System to automate management tasks like student information storage, room allocation, and payments. Key features include a web portal for students and administrators, a secure database to store student details, and modules for common dorm activities. The system was created using ASP.NET and aims to reduce workload for both students and administrators compared to a paper-based system.
The document provides instructions for downloading and sharing a mobile business card (mCard) on iPhone and Android devices. It describes how to download the mCard to the home screen, share it via email or QR code, and add it to the device's contacts. The steps are similar on both iOS and Android - users visit the mCard link, select "Add to home screen," title it, and then the mCard icon will be accessible on the device to access it anywhere.
This document describes a student project to develop a prototype file transfer application called Chuck that uses QR codes. The project aims to address the need for easy file transfers between multiple devices. The document outlines the design and development process, including interaction design, technical design of the transmission schema and application, prototype assessment through user testing, iteration of the prototype based on feedback, and evaluation of the effectiveness and future work. Key aspects of the project include creating mockups, building an Android prototype, evaluating it with participants, and improving the prototype based on results.
This document outlines the business requirements for enhancements to an unnamed system driven by an unnamed initiative. It includes sections on the purpose, contacts, requirements gathering process, business background, objectives, current and desired future processes, functional and non-functional requirements, assumptions and dependencies. The requirements focus on improving existing processes and include priorities, success criteria and technical details.
The document describes an Academic Management System (AMS) project presented by students. The AMS allows a college to maintain student, staff, fees, and exam information electronically. It aims to simplify information management and allow quick access to records. The project involved designing the system using tools like Rational Rose, writing code in Java/JSP, and testing the software. Key modules include administration, student, faculty, and department functions. The system uses a database, login authentication, and allows generating reports. The document outlines objectives, outcomes, schedule, architecture, and design diagrams for the AMS.
The document provides details about the author's internship project to create an Android application. The author completed their internship at the Sendai National College of Technology in Japan, under the supervision of Mr. Takatoshi Suenaga. The project involved learning to develop applications for the Android operating system. The author's first project was a "task killer" application, and their second project was an application to help foreign students learn Japanese phrases and translations. The author gained experience with Java programming, Android development tools, and aspects of Japanese culture during their internship.
The document describes a student portal created using ASP.NET and C# for a college. The portal aims to provide students a single interface to access various services like viewing results, sending messages, managing schedules and tasks, downloading documents, and searching for faculty. It also allows administrators to add, update, and manage student information and results online. The portal was developed using tools like Visual Studio .NET, SQL Server and utilizes IIS for the web server. Future enhancements may include online fee payments, event listings, discussion forums and email integration.
Final year-project "Smart Sessional System with QR Code"Usama Fayyaz
The proposed system allows students to record and view their attendance using a QR code scanned by their smartphones. This aims to help students avoid penalties from poor attendance. The system includes web portals for administrators, instructors, and students as well as an Android app for students. Instructors can generate QR codes, upload assignments, and view attendance records while students can scan QR codes to mark attendance and view their records. The system uses QR codes, location data, and a MySQL database to efficiently manage attendance.
The document provides a template for a Software Design Document (SDD) that describes the architecture and design of a software system. The SDD template includes sections for an introduction, system overview, system architecture, data design, component design, human interface design, requirements matrix, and appendices. The system architecture section further breaks down the system into subsystems and modules and explains how they interact. The data and component design sections describe how data structures and algorithms implement the required functionality.
This project report describes a Software Project Management Tool. The tool aims to help organizations efficiently manage multiple projects by tracking activities, schedules, resources and time spent. It allows clients to check project status. The Business Development Officer can add new projects and view/update details. Developers can fill timesheets tracking time spent. The HR manager provides resources to projects. The Project Manager plans tasks and assigns them to developers, and checks timesheets. The tool is intended to provide transparency into resource allocation and progress across all levels of a project.
This document describes an online job portal system project submitted to MicroRoot POC Technology Pvt. Ltd. The project includes an introduction, requirement analysis, system design, and conclusion. The system design section includes use case diagrams, sequence diagrams, data flow diagrams, and screenshots of the proposed user interfaces. The system is intended to allow job seekers to search and apply for jobs, and employers to post jobs. It will be developed using technologies like PHP, MySQL, Joomla, AJAX, and jQuery.
Seminar recording here: https://www.youtube.com/watch?v=o4_esFnZ7LA&t=288s
Remote proctored exams are a type of digital assessment where students are monitored, usually by their webcam and microphone, as they complete a test. Remote proctoring has proliferated during the pandemic as it lets students sit high-stakes examinations in their own homes. Compared to unproctored online exams, students sitting remote proctored exams tend to get poorer grades, which proponents of proctoring often regard as evidence that proctoring reduces cheating. However, critics argue that proctoring is a form of surveillance, and it creates an adversarial, untrusting assessment environment.
Using concepts from assessment security, academic integrity and surveillance studies, this presentation puts remote proctoring under scrutiny and examines the evidence for and against. It offers suggestions for those who are using proctoring on how to minimize its potential harms and maximise its potential benefits. Finally, it sets out challenges for both advocates and critics of remote proctored exams on the sorts of evidence we need to make an informed decision about the use of proctoring.
The document provides a user manual for a learning management system (LMS) created using Moodle for a Data Structures course. The LMS allows students to access interactive lessons, videos, assignments, quizzes and more. It also includes reporting features and a standalone version that can be downloaded. The manual outlines the system overview, user access levels, navigation and key features to help users get started with the LMS.
It’s a project based on generic view of Scholarship Database Management System but we have considered a case of WAPDA and then create a database on a basic level.
Besides this me and my group fellows cover the following topics WAPDA, INCORPORATION:, RESPONSIBILITIES, SEGMENTS, POWER Wing, WATER Wing, ORGANOGRAM, EXPERIENCE, CASE SCENARIO:, ENTITIES:, ASSOCIATIONS:, QUESTIONNAIRE, ERD BEFORE NORMALIZATION, NORMALIZATION:, ERD AFTER NORMALIZATION, SCRIPT, DESCRIBE STATEMENTS;, CONTACT, ADDRESS, BIRTH, COURSE, CHILDREN, DEPARTMENTS, ORGANIZATION, STUDENT, INCOME, EMPLOYEES, APPLICANTS, SPONSORS, EVENTS, DONORS, SCHOLARSHIP, ISTALLMENTS, PAYMENT, FUNDS, SELECT STATEMENTS, Views, SIMPLE VIEWS, COMPLEX VIEWS, SQL Queries, USER_OBJECTS, USER_CONSTRAINTS.
If you want to access complete package of word file, Visio file, Script and etc. related to this project then contact me.
SCHOOL BUS ROUTING MANAGEMENT SYSTEM [FINAL]ayushi goyal
This document presents a software engineering project report on a School Bus Routing Management System. It was created by three students at Shyama Prasad Mukherji College for Women, University of Delhi, under the guidance of Dr. Baljeet Kaur. The project aims to develop a software using GIS techniques to track school buses and manage student and staff databases. Key features include student registration, login functionality for parents/guardians, and a "track" feature to monitor bus routes and locations in real-time. The waterfall model was used for the software development process.
This document provides an overview and sample sections from a user manual for an online classroom application. The manual was written to be intuitive for both instructors and students with varying technical skills. It includes a table of contents listing the sections and features covered. Sample sections describe the online classroom interface, instructor control panel options like uploading slides and content, and creating and managing slide lists.
This document provides a summary of an online student registration system project report. It was submitted by five students to partially fulfill the requirements for a Bachelor of Computer Application degree. The project involved developing a system to allow online registration of students, adding subjects, and maintaining fee structures. The system was designed to make the registration process easier for both administrators and students while saving time and money compared to a manual process.
This document outlines the statement of work and project scope for analyzing GMC Investments' IT infrastructure. The current systems for TABC reporting, scheduling, and inventory management are manual, time-consuming, and error-prone. The project objectives are to streamline these systems by automating reporting, integrating pricing data, and directly capturing sales data to reduce errors and speed up reporting. The project will analyze GMC's existing processes and design automated interfaces for staff to record inventory, sales, and scheduling data into a centralized database for reporting.
Dormitory management system project reportShomnath Somu
This document summarizes a project report submitted for a BSc degree in Computer Science and Engineering. The report describes the development of a Dormitory Management System to automate management tasks like student information storage, room allocation, and payments. Key features include a web portal for students and administrators, a secure database to store student details, and modules for common dorm activities. The system was created using ASP.NET and aims to reduce workload for both students and administrators compared to a paper-based system.
The document provides instructions for downloading and sharing a mobile business card (mCard) on iPhone and Android devices. It describes how to download the mCard to the home screen, share it via email or QR code, and add it to the device's contacts. The steps are similar on both iOS and Android - users visit the mCard link, select "Add to home screen," title it, and then the mCard icon will be accessible on the device to access it anywhere.
This document describes a student project to develop a prototype file transfer application called Chuck that uses QR codes. The project aims to address the need for easy file transfers between multiple devices. The document outlines the design and development process, including interaction design, technical design of the transmission schema and application, prototype assessment through user testing, iteration of the prototype based on feedback, and evaluation of the effectiveness and future work. Key aspects of the project include creating mockups, building an Android prototype, evaluating it with participants, and improving the prototype based on results.
This is my interactive presentation on QR Code technology at Barcamp Antwerp #5 featuring do's, don'ts, examples, random internet memes, some stats and MacGuyver.
In the session I’ll explain what a QR code is and how we can use them to improve our linguistic competence and share ideas using them. Full Session Description: In this session we’ll explain different ways to improve our linguistic competence using QR codes, how to create and read them. We want to share QR Week Project with everybody and talk about different activities to do with QR codes, like we did with this project. On the other hand, mobile technology has changed the communication between people. The technology and the learning have to develop together, and that co-evolution of learning and technology is really important for us to understand and to develop. We want to enhance learning, improve the student’s experience, and address wider cultural and contextual issues with QR Week Project.
This document provides information about group members and an Android applications and games development project. The group includes Waqas Ahmad, Haroon Muhammad, and Hayat Ullah, supervised by Shakil Muhammad. It discusses what Android is, reasons for developing Android apps, different Android versions, and how to develop Android apps both offline and online. It outlines the development process including using developer software, building a first app, compiling and getting an executable file, and uploading the app to markets.
Dale Pithers Capstone project _ 2012_dr_pogue_finalDale Pithers, MBA
This document provides an overview of TRIZ, a problem-solving method developed by Genrich Altshuller in the former USSR. It discusses the history and development of TRIZ, explaining key concepts like the Ideal Final Result and system contradictions. The document then presents two example problems and how TRIZ was used to find solutions to them. It concludes that TRIZ is a useful problem-solving tool that could benefit from a more user-friendly interface adapted specifically for business applications.
QR codes can store more data than traditional barcodes and allow users to access webpages and other online resources by scanning the code with their smartphone camera. They have various applications in libraries, including linking print materials to digital content, creating scavenger hunts, and pointing library loan cards to mobile websites. While early adoption faced barriers like equipment and awareness issues, the growth of the smartphone market has helped drive increased usage of QR codes on mobile devices.
This document outlines a capstone paper project that will introduce the context and importance of the project area. It will describe the project's design through requirements gathering, feature analysis, and system architecture. The paper will then detail the technical investigations through prototype development, testing, and results. It will conclude by explaining the project's findings and how they can benefit related research areas in the future.
QR codes link objects in real life with information and action via mobile phones. QR codes make static posters interactive. QR codes enable action here and now.
This a is short version of our 220 page report.
Secured QR Code Authentication System
Two Way Encryption used to Enhance the security for QR Code. With Banking Application and Shopping Cart
Project by Pankaj Jeswani | Vishal Chhabria | Sagar Chawla
Under the guidance of Naveen Vaswani Sir
This is the fifth deck in our summer series 20 Interesting Things. It takes a quick look at what is happening in the Crowdsourcing space from both a marketing and general use perspective. Look for our other decks on Foursquare, Augmented Reality, Crowdsourcing and Goodness.
Project report on ONLINE REAL ESTATE BUSINESSDivyesh Shah
A project report on 'online real estate' will help you to understand the modeling diagrams for this project and all type of information related to this project
Presentation on Android operating systemSalma Begum
The document summarizes information about the Android operating system. It discusses the origin of Android, its features, architecture, versions, application development process, limitations and future. Android was developed by Android Inc which was later acquired by Google. It has an open source model and uses Linux kernel. The architecture includes libraries, Dalvik VM, application framework and core applications. There are many versions of Android with incremental updates and improvements.
Art is a creative expression that stimulates the senses or imagination according to Felicity Hampel. Picasso believed that every child is an artist but growing up can stop that creativity. Aristotle defined art as anything requiring a maker and not being able to create itself.
SPi Global partners with companies to maximize the value of their content online and offline. With escalating costs of
production and printing, changing customer preferences, and the need to adapt, SPi Global enables organizations to exploit
and invest in new media technology. With a complete suite of digital, publishing, content enrichment, marketing and
customer support services, we help companies gain a competitive advantage through our unique and innovative solutions.
A Mobile and Web application for time measurement intended to get an accurate picture of the productive time in a production environment in order to reveal the root causes behind ineffective/idle time and to eliminate non-added activities/tasks .
Technical Key-words : Ionic 2, Angular 2, PouchDB, CouchDB ,
DB Replication Protocol, Django, Python NvD3 charts .
This document is a guide to Yii 2.0, an open source PHP framework. Chapter 1 introduces Yii, describing what it is best suited for, how it compares to other frameworks, its versions, and requirements. Yii is a high performance, component-based framework for rapidly developing modern web applications. It is especially suitable for large-scale projects like portals, forums, and content management systems.
Report on e-Notice App (An Android Application)Priyanka Kapoor
The document is a report submitted for a degree at DigiMantra Labs, Ludhiana from January 5, 2014 to May 30, 2014. It describes the development of an e-Notice Application for Android phones. The app allows users to access online notices on their phone and acts as an online notice board where people can communicate and post notices with text, images or videos. It aims to digitize the traditional notice board and allow staff/students to read and respond to notices from anywhere. The app also serves as a mailing list to notify all employees of new notices without needing to maintain a separate mailing list.
www.ucontrol.com.au - Electrical and electronic equipment and its implementation in accordance with national law, electric tools that have reached the end of their life must be collected separately and returned to an environmentally compatible recycling facility.
This document provides a software requirements specification for a Smart Attendance System application. The application will use facial recognition technology to mark attendance for students present in class lectures. It will capture faces from existing cameras in the classroom and identify students in real-time video feeds. The system will allow administrators to retrieve and modify attendance records. The document outlines requirements, interfaces, functionalities, constraints, and design diagrams for the application.
This document is a project report for a blood donation application called Quick Blood Donate (QBD). It was created by four computer engineering students at S.V.I.T. Nashik as part of their Bachelor's degree. The report includes an abstract, introduction, problem definition, project plan, software requirements specification, design documents, implementation details, testing approach, screenshots of the application, and plans for deployment and maintenance. It aims to address the issue of connecting blood donors and hospitals in real-time to ensure blood is available when needed.
2014-07-30 defense in depth scap workbookShawn Wells
The document provides information about a workshop on SCAP and STIGs. It discusses the SCAP Security Guide project which produces security guidance and baselines using SCAP. It describes how to install the SCAP content for Red Hat Enterprise Linux 6. It then explains the key components of SCAP - XCCDF for security checklists, OVAL for vulnerabilities, and OpenSCAP for interpreting SCAP data. It outlines how to operate SCAP tools to validate rules, generate HTML guides, perform scans, and interpret results. It also covers customizing SCAP content by authoring new rules and profiles.
This document provides an overview of the SmartPlant Instrumentation tutorial. The tutorial is divided into sections for system administration, domain administration, and instrument engineering. It guides the user through tasks to create instruments, loops, and associated documentation such as specifications, loop drawings, and wiring diagrams. These tasks include defining supporting data, creating and duplicating loops and tags, performing calculations, generating reports, linking documentation, and customizing views of the data. The tutorial also includes examples of tasks for the system administrator, such as initializing domains and defining users, and for the domain administrator, such as setting up the plant hierarchy and access rights.
TDD EGH Item and Inventory Conversion-SampleRyan Liebert
This document outlines the technical specifications for converting items and inventory from an existing system to PeopleSoft ERP at Beacon Health Systems. It includes details on the objects and fields that will be added or modified during the conversion. Sections cover the project definition, fields that will be mapped from the existing system to PeopleSoft, and a list of supporting documents.
The document provides information about Regional Development Group Bangladesh (RDGB), an organization that provides development services. It was established in 2014 and officially launched in 2015 in Bangladesh. RDGB's mission is to connect clients to their world through quality development services. Its vision is to become a leading provider of development solutions globally. The organization offers various IT services, products, consulting, and training and has served both private and public sector clients since 2008.
This document is a project report that proposes developing a web application to securely store files on a cloud server using hybrid cryptography. It aims to address data security and privacy issues for cloud storage. The application would use a hybrid cryptography technique combining symmetric and asymmetric encryption to encrypt files before uploading them to the cloud. Only authorized users with decryption keys would be able to access and download encrypted files from the cloud server. The report outlines the problem statement, objectives, methodology, design, and implementation of the proposed application to provide secure file storage on the cloud.
Enterprise applications are designed to solve problems for large organizations and are multi-tiered, with functionality separated into isolated tiers like a client tier, middle tier, and data tier. The Java EE platform reduces the complexity of developing these large-scale, multi-tiered applications by providing APIs and services for tasks like security, reliability, and scalability so developers can focus on functionality. Tiered applications improve performance, scalability, and maintainability compared to traditional monolithic applications.
This document provides installation and configuration instructions for Oracle Business Intelligence Applications specifically for organizations using Informatica PowerCenter. It covers prerequisites for supported databases, best practices for optimizing performance on different databases, and partitioning guidelines for large fact tables. The document contains information about new features in the current release and how to navigate the Oracle BI repository documentation.
This document describes a parking monitoring control system project created by a group of electrical engineering students. The system uses RFID sensors and an IR sensor to detect vehicles and available parking spaces. An Arduino microcontroller processes the sensor signals. A 16x24 LED matrix displays the status of parking spaces. A servo motor and cellular shield allow remote monitoring via SMS. The system aims to help drivers locate available spaces and provide data on parking usage.
This document provides guidance on designing an Encrypted Traffic Analytics (ETA) solution using Cisco products for crypto audit and malware detection. It discusses Flexible NetFlow and ETA, relevant Cisco components, customer use cases, general design considerations for wired and wireless networks, and specific design recommendations for traditional Cisco networks and Cisco SD-Access fabrics. The key components are Cisco Stealthwatch Enterprise for traffic analysis, Cisco switches and routers to enable Flexible NetFlow collection of encrypted traffic metadata, and Cisco DNA Center to manage the SD-Access fabric.
This document describes different approaches for content and concept filtering in the LinkedTV project. It presents three main filtering approaches: LSF, which ranks and filters links based on a user's implicit and explicit interests using semantic reasoning; f-PocketKRHyper, which performs additional semantic filtering of content; and In-Beat, which matches a user's preference rules to content. It also discusses experiments on content filtering proofs-of-concept and quality assessment of topic segmentation and recognition. The goal of the filtering is to personalize large amounts of enriched content and links from the annotation and enrichment processes based on individual user profiles and contexts.
Similar to FPT University - Capstone project - Using QR Code to prevent fake products (20)
Piwik analytics introduction at Fossasia2014Le Kien Truc
This presentation introduces Piwik, an open-source analytics platform that aims to be an alternative to Google Analytics. It discusses Piwik's features for tracking website usage including what pages users view, where they are located, when they visit, and how they access the site. The presenter then demonstrates Piwik's capabilities for answering business intelligence questions and providing insights into customers to help increase sales.
High availability system cache and queue - Write behindLe Kien Truc
The document discusses using caching and queues to optimize web applications for performance and scalability. It presents techniques for implementing caching using Redis to improve response times and handle more concurrent users. It also discusses using queues like Amazon SQS to offload and distribute database writes for better availability and ability to scale. The document provides examples of benchmarking caching performance and a demo of using queues.
Wordpress site scaling architecture on cloud infrastructure with AWSLe Kien Truc
Wordpress site scaling architecture on cloud infrastructure with AWS. The architecture including Database, CDN, and deployment model. It's just a high level and concept design
Large scale web socket system with AWS and Web socketLe Kien Truc
This document describes the architecture for a large-scale web socket system designed for scalability on public cloud infrastructure. The system uses Amazon EC2 servers, DNS load balancing, proxy workers, and app workers to support low-latency command and control of multiple IP cameras over web socket connections while ensuring security. Stateless app workers connect to a central database for session information.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
HCL Notes and Domino License Cost Reduction in the World of DLAU
FPT University - Capstone project - Using QR Code to prevent fake products
1. USING QR CODE TO PREVENT
FAKE PRODUCT
Phan Hồng An
Lê Kiến Trúc
Phan Gia Nhật
Trần Quang Bình
Supervised by Lâm Hữu Khánh Phương
No. SE04.B – 004
1
2. MINISTRY OF EDUCATION AND TRAINING
FPT UNIVERSITY
Capstone Project Document
Using QR Code To Prevent Fake Product
SE04.B – 004
Phan Hồng An – 60048
Group Members
Lê Kiến Trúc – 60145
Phan Gia Nhật – 00683
Trần Quang Bình – 60137
Supervisor Lâm Hữu Khánh Phương
Ext Supervisor
Capstone Project
QR-AntiFake
code
- Ho Chi Minh City, 8/2012 -
2
3. Table of Contents
1
Introduction .................................................................................................................................... 7
1.1
1.2
Purpose ................................................................................................................................... 7
1.3
People ..................................................................................................................................... 7
1.4
Problem ................................................................................................................................... 7
1.5
Why QR Code .......................................................................................................................... 7
1.6
Our Solution ............................................................................................................................ 8
1.7
2
Project Information ................................................................................................................. 7
Existing Systems & Market...................................................................................................... 8
Software Project Planning............................................................................................................... 9
2.1
Problem Definition .................................................................................................................. 9
2.1.1
Name of this CapStone Project ....................................................................................... 9
2.1.2
Problem Abstract ............................................................................................................ 9
2.1.3
Project Overview ............................................................................................................. 9
2.1.4
The Current System......................................................................................................... 9
2.1.5
The Proposed System...................................................................................................... 9
2.1.6
Boundaries of the System ............................................................................................. 10
2.1.7
Development Environment ........................................................................................... 10
2.2
Project organization .............................................................................................................. 10
2.2.1
Software Process Model ............................................................................................... 10
2.2.2
Roles and Responsibilities ............................................................................................. 11
2.2.3
Tools and Techniques.................................................................................................... 11
2.2.4
Tools .............................................................................................................................. 11
2.2.5
Techniques .................................................................................................................... 12
2.3
Project management plan..................................................................................................... 12
2.3.1
Tasks .............................................................................................................................. 12
2.3.2
Ideation ......................................................................................................................... 12
2.3.3
Project Planning ............................................................................................................ 12
2.3.4
Software Requirement Specification ............................................................................ 12
2.3.5
Software Design Description ......................................................................................... 12
2.3.6
Implementation ............................................................................................................ 13
2.3.7
Quality control .............................................................................................................. 13
3
5. 4.5.6
Request management ................................................................................................. 109
4.5.7
Items Management ..................................................................................................... 111
4.5.8
Statistic ........................................................................................................................ 112
4.6
User Interface Design .......................................................................................................... 114
4.6.1
4.8
Description of the User Interface................................................................................ 114
Database Design.................................................................................................................. 128
4.8.1
4.8.2
AccountProfiles ........................................................................................................... 129
4.8.3
Products ...................................................................................................................... 129
4.8.4
Items ........................................................................................................................... 129
4.8.5
CheckingLogs ............................................................................................................... 129
4.8.6
Rating .......................................................................................................................... 129
4.8.7
Requests ...................................................................................................................... 130
4.8.8
Categories ................................................................................................................... 130
4.8.9
5
Producers .................................................................................................................... 128
InfoTemplates ............................................................................................................. 130
Software Test Document ............................................................................................................ 131
5.1
Introduction ........................................................................................................................ 131
5.1.1
System Overview......................................................................................................... 131
5.1.2
Test Approach ............................................................................................................. 131
5.2
Test Plan .............................................................................................................................. 131
5.2.1
GUI .............................................................................................................................. 131
5.2.2
Functions ..................................................................................................................... 131
5.2.3
Features not to be tested ........................................................................................... 132
5.3
Test cases: ........................................................................................................................... 132
5.3.1
GUI .............................................................................................................................. 132
5.3.2
Functions ..................................................................................................................... 151
5.4
4. Checklists......................................................................................................................... 171
5.4.1
5.4.2
6
4.1 Checklist of Validation........................................................................................... 171
4.2 Submission Checklist ............................................................................................. 171
User Manual ................................................................................................................................ 172
6.1
Minimum System Requirements ........................................................................................ 172
6.2
Deployment Manual ........................................................................................................... 172
6.3
Các chức năng và cách sử dụng - Features and how to use ............................................... 173
6.3.1
Dành cho nhà sản xuất – For Producer ....................................................................... 173
5
6. 6.3.2
7
Dành cho người tiêu dùng – For Consumer ................................................................ 188
Appendix ..................................................................................................................................... 192
6
7. 1 Introduction
1.1 Project Information
Project name: Using QR Code to prevent fake products
Project name abbreviation: QR Anti-Counterfeit
Project code: QR4AC
Timeline: from May 2012 to Aug 2012
1.2 Purpose
We have chosen this project as our capstone project. The first purpose is
to complete the FPT University’s syllabus. The second one is not only to create a software
engineering project but also to implement a business idea useful and interesting for our live.
1.3 People
Full Name
Phan Hồng An
Lê Kiến Trúc
Phan Gia Nhật
Trần Quang Bình
Lâm Hữu Khánh Phương
Roles in Group
Developer, Team Leader
Developer, Business Analyst
Developer, Technical Specialist
Developer, QA & Tester
Supervisor, Sponsor
Contact
anph60048@fpt.edu.vn
truclk60145@fpt.edu.vn
nhatpg00683@fpt.edu.vn
binhtq60137@fpt.edu.vn
phuonglhk@fpt.edu.vn
1.4 Problem
Forgery of goods and using known brand names for fake
products is a growing phenomenon, and anti-counterfeit
has never been an old problem today. Actually, the topic
of brand piracy is practically present in almost every
area of daily life. It includes consumer goods like fashion,
food, beverages, industrial parts for cars, aircraft and
other machines and even medications.
In 2008, the International Chamber of Commerce argued
that counterfeiting accounts for around 5% to 7% of
world trade. In the same year, the World Customs
Organization estimated trade in ‘fakes’ as US$512 billion.
The total loss from the counterfeit goods industry, faced
by countries around the world is $600 Billion, with the
United States facing the economic impact.
It is true that in some cases people want to buy fake products for their lower price, but it is still
important that consumers will be able to validate the authenticity of the product they pay for
whether fake or not. While many companies lose a lot of money from this phenomenon it may
be that with today technology there are means to fight it. We would like to consider in this
project the relevance of QR codes for fighting brand piracy.
1.5 Why QR Code
Unlike
the
standard
barcode system in use
today, QR (abbreviated
from Quick Response)
7
8. codes are far more powerful and can contain much more information. While out current
barcoding system holds information only one-way, QR code holds information both vertically
and horizontally.
QR code is the modern technology helping read and collect digital information accurately, fast
and fully. It is also the cheapest method when comparing to some other technologies such as
NFC. If you want to know some necessary information for different purposes, all you need is a
smartphone armed with a camera for reading the QR code and is able to access to the Internet.
One of the main things we mention here is supporting anti-counterfeit. Technically, QR code will
include some basic information of an item, a unique number and uncounterfeited confirmation
code created based on cryptography algorithms. The only way you can counterfeit is to copy the
QR code.
QR codes have only really become popular in 2011 because of the rise in the number of
smartphone users and the increasing popularity and usability of the mobile web. Plenty of
applications are available to read QR codes and in some handsets, this functionality is preinstalled.
1.6 Our Solution
The core services we provide are for producers. Our producers who use our services can
generate and print unique QR code for their products before those products appear on the
stores.
A consumer comes to the store. With a smartphone on hand, he or she can validate the
authenticity of the product by scanning the QR code stuck on the product and then see the
results via our confirmation website. The results we provide for consumers should include some
useful information such as “This is a genuine security label”; “You are not in an address of an
authorized reseller of us. Please be careful”; “This code is not available on our system”; etc.
1.7 Existing Systems & Market
HP has been running Anti-Counterfeit Program using QR Code since 2012. Not every company in the
world has enough resources to create a system like HP. Therefore, we believe that if we run fast, we
would be able to enter a Blue Ocean where there are no competitors.
8
9. 2 Software Project Planning
2.1 Problem Definition
2.1.1 Name of this CapStone Project
The official and formal project name is “Using QR Code to prevent fake product”. The product name
is QR Anti-Counterfeit, and the product code is QR4AC.
2.1.2 Problem Abstract
Be fascinated by the idea that QR code can contain more information than traditional barcode and
so using QR codes can create more secure solutions for anti-counterfeit problems today, the authors
of this project want to find a solution for fighting counterfeit using QR Code. After discussing with
many ideas, we choose the best one to implement. The idea we choose in this project is to provide
services for companies, which will help them manage their product identification on the websites.
Their customers, who want to buy genuine products instead of fake products, can validate the
products using smartphone by just scanning QR code stuck on the products and receive the results
from our website or the company’s website.
2.1.3
Project Overview
2.1.4 The Current System
HP has been running HP Anti-Counterfeit Program, Printing and Personal Systems for their inkjet
cartridges in select geographies. HP places a security seal on the packaging of many of its cartridges
so that it is easy to distinguish between genuine HP versus fake. Most counterfeit HP cartridges also
contain a fake security seal on the packaging. Checking for a security seal is not enough. HP uses an
online solution to make sure the security seal performs exactly as described to ensure that you are
purchasing a genuine HP cartridge. To check the authentication of a product, you can download a QR
code scanner app to your camera-enabled smartphone, and then scan the QR code on the security
seal. You will receive instant verification from HP. If your phone does not have a camera lens, you
can validate HP security seals online by going to HP.com/go/ok and entering the serial number from
the seal.
That is HP’s. We should recognize that not every company have enough resources to build a system
like HP, even some companies do not have websites. Why do not we create a system that is able to
provide services for any companies who want to protect their customers’ interest?
2.1.5 The Proposed System
The purpose of this project is to create a product providing services for all companies who want to
use QR code for their product identification and better quality of services for their customers.
The system will provide the following main features for companies who register our service:
Each company will have one or more authenticated account to login to the system.
Authenticated users can register their products and generate QR codes for their product
items. Each product item matches with only one QR code.
Authenticated users can manage all their products, product items, and QR codes.
Authenticated users can download QR code packages for their product items.
9
10.
Authenticated users can view reports showing that which product checked at which time
and how many times checking.
The system will provide the following features for consumers, who are customers who want to buy
products of the companies using our service:
Consumers can validate the authentication of a product by scanning the QR code stuck on
the product and receive the results displayed on mobile phone.
Consumers can rate a product after checking an item of that product.
Consumers can find related products after checking an item of that product.
Consumers can review products registered on websites.
2.1.6 Boundaries of the System
The system under development of this Capstone Project will include:
2.1.7
The website complete
All the process documents involved
Development Environment
2.1.7.1 Hardware
Laptop or desktop with appropriate environment for developing and testing
Smartphones aimed with cameras for testing
2.1.7.2
Software
Microsoft Windows 7: OS for developing product
Microsoft Visual Studio 2010: used for developing product
Microsoft SQL Server 2008: used for database management for product
Microsoft Windows Server 2008: used for deploying and testing product
2.2 Project organization
2.2.1 Software Process Model
Due to specific characteristics of a Capstone project, the model we use for developing this project is
Waterfall model.
10
11. 2.2.2
Roles and Responsibilities
Name
Roles
Lâm Hữu Khánh Phương Supervisor, Sponsor
Phan Hồng An
Developer, Team leader
Lê Kiến Trúc
Developer, Business Analyst,
Imagineer
Phan Gia Nhật
Developer, Technical
Specialist
Trần Quang Bình
2.2.3
Developer, Tester, QC
-
Responsibilities
Advise idea & solutions
Suggest & support technologies
Manage, control the project
Create coding framework
Code
Test
Take the responsibility for any
success or failure of the project
Imagine, brainstorm
Analyze business & system
Code
Test
Research new techniques and
technologies
Fix technical issues
Code
Test
Control the quality of project
Code
Test
Tools and Techniques
2.2.4 Tools
Assembla (www.assembla.com): subversion (SVN) repository
11
12. TortoiseSVN: used for committing source code into SVN
VisualSVN: extension for using SVN inside Visual Studio
Microsoft Project: for team leader to manage project
Gantter (gantter.com): like a web-based Microsoft Project for all team members to access easily
Asana (www.asana.com): for task management
Google Drive: for storing all documents include official documents for report and draft documents
Google Cloud Connect: connect and synchronize the documents
Google+ Hangout: for team meetings
2.2.5 Techniques
ASP.NET MVC 3.0, C# .NET, HTML & CSS, JavaScript & jQuery, AJAX, LINQ
2.3 Project management plan
2.3.1
Tasks
2.3.2 Ideation
Description
Deliverables
Resource needed
Dependencies and
Constraints
Risks
2.3.3 Project Planning
Description
Deliverables
Resource needed
Dependencies and
Constraints
Risks
Study QR code, research market, brainstorm solutions for anticounterfeit using QR code, define project scope
Introduction document, 32 man-days
Using QR Code to prevent fake products
Bad business idea can make the produce useless in the market
Plan the project, assign tasks to members
Software Project Management Plan document, Coding conventions
FPT’s templates, 20 man-days
Bad leadership or management skills
Overestimate or underestimate can make a unqualified project
2.3.4 Software Requirement Specification
Description
Specify software requirements
Deliverables
Software Requirement Specification document
Resource needed
FPT’s templates, 24 man-days
Dependencies and
Constraints
Risks
Bad analysis might make the product difficult to maintain in future
2.3.5 Software Design Description
Description
Describe software design
Deliverables
Software Design Description document, Prototype
12
13. Resource needed
Dependencies and
Constraints
Risks
2.3.6 Implementation
Description
Deliverables
Resource needed
Dependencies and
Constraints
Risks
2.3.7 Quality control
Description
Deliverables
Resource needed
Dependencies and
Constraints
Risks
FPT’s templates, 40 man-days
Bad analysis might make the product difficult to maintain in future
GUI is not friendly
Develop the product
Complete product
Visual Studio 2010, SQL Server 2008, .NET Framework 4, 80 mandays
MVC3, Coding convention
Not all the functions can be done be deadline
Decrease of members during implementation
Control the quality of the product & testing
Software Test Documentation
FPT’s templates, 40 man-days
The product does not work properly as expect
2.3.8 Software User’s Manual
Description
Write user’s manual
Deliverables
Software User’s Manual
Resource needed
FPT’s templates, 20 man-days
Dependencies and
English
Constraints
Risks
Dry words make user confuse
2.3.9 Release and Deployment
Description
Release the complete product and deploy it to the server
Deliverables
Complete product installation on server
Resource needed
Server, 40 man-days
Dependencies and
Constraints
Risks
The application does not run properly when going live
2.3.10 Task Sheet: Assignment and Timetable
Task
Duration
Start - Finish
Ideation
8 days
8/5 17/5
- Imagine, brainstorm, analyze business & research market
- Study QR code and some other technologies involved
- Write document
- Finalize business idea & define project scope
Project Planning
5 days
18/5 24/5
- Analyze the current systems on market & propose a new
system with specific characteristics
- Write software project management plan & assign tasks to
Resources
TrucLK
NhatPG
BinhTQ
AnPH
TrucLK
AnPH
13
14. team members
- Review document & correct if necessary
Software Requirement Specification
6 days
- Create use cases for functional requirements
- Write non-functional requirements
- Finalize document
Software Design Description
2 weeks
- Write document
- Draw diagrams
- Design database
- Create prototype
- Integrate, finalize document
Implementation
4 weeks
- Create coding framework
- Code server-side
- Code client-side
Quality Control
6 weeks
- Create test plan
- Create test cases
- Unit Test
- System Test
- Complete Software Test Document (STD)
Software User’s Manual
1 week
- Write installation guide
- Write user guide
Release and Deployment
3 weeks
- Input initial data
- Go live
- Prepare for final presentation
BinhTQ, NhatPG
25/5 1/6
AnPH, TrucLK, BinhTQ, NhatPG
TrucLK
AnPH
4/6 15/6
BinhTQ, TrucLK
TrucLK, BinhTQ, NhatPG
AnPH
AnPH, NhatPG
AnPH
18/6 13/7
AnPH
NhatPG, AnPH, BinhTQ
AnPH, TrucLK, NhatPG
18/6 27/7
18/6 22/6
25/6 29/6
16/7 20/7
23/7 27/7
23/7 27/7
30/7 3/8
BinhTQ
BinhTQ, NhatPG, TrucLK
BinhTQ, NhatPG, AnPH
AnPH, TrucLK
BinhTQ, NhatPG
NhatPG, AnPH
TrucLK, BinhTQ
30/7 17/8
BinhTQ, NhatPG
AnPH, TrucLK
AnPH, TrucLK, BinhTQ, NhatPG
2.4 Coding Convention
2.4.1
Naming conventions
Private Fields: underscore followed by lowerCamelCase
Non-private Fields and properties: UpperCamelCase
Local variables: lowerCamelCase
Do not use consecutive underscores in name
Do not use Hungarian style
2.4.2
Lengths
Public name should not be longer than 32 characters or 7 words
Methods should contain no more than 70 lines of code (if it is, it must be divided into
methods)
Methods should contain no more than 5 levels of indentation (if it is, it must be divided into
methods)
A line of code should contain no more than 80 characters
2.4.3
Other convention
Use var keyword whenever possible
14
16. 3 Software Requirement Specifiation
3.1 User Requirement Specification
3.1.1 Overview
As we all know, the counterfeit of goods, especially famous brand names, has grown significantly
year after year and there is no sign that it will decrease in the near future. So how can we fight it?
How can we overcome it? Actually now there is no way to absolutely stop it. However, we can
reduce its development. We can make life more difficult for the ones who just earn money from
people’s hardworking, diligent results. Therefore, we in this project introduce you one way for
decrease your risk at taking fake product. Using QR code, our system will support you in determining
whether a product is a fake or not.
For producers, who are the ones losing the most money due to counterfeit, they can use our system
to somewhat reduce their loss. The process is very simple. First, we can start negotiating. After that,
we sign contract. Then we provide an account for you to generate QR code. From that, you can stick
it to your product.
For consumers, they can use our system to gain guarantee degree for a product on which they will
spend a lot of money.
16
17. 3.1.2
Administrator requirements
Administrators could login to the system using their accounts.
Administrators could add producers into the system.
Administrators could view and search producers on the system.
Administrators could deactivate or reactivate producers.
Administrators could create accounts for producers.
Administrators could view all the accounts of a specific producer.
Administrators could remove producer accounts.
3.1.3
Producer requirements
Producers could login to the system using their accounts.
Producers could view and search all their products on the system.
Producers could deactivate or reactivate their products on the system.
Producers could create information templates for their product information.
Producers could create categories for their product information.
Producers could add product items into the system and generate unique QR codes for those
items.
Producers could view the all the items containing unique QR code of a specific product
registered.
Producers could deactivate or reactivate their items on the system.
Producers could view statistic of all their product items, includes number of checks, which
consumer check at which time, etc.
3.1.4
3.1.5
Consumer requirements
Consumers could validate the authentication of a product item using their smartphone
aimed with a camera, a barcode reader, a mobile browser, and an Internet connection.
Consumers could rate a product after validating its item.
Item checking requirements
3.1.5.1 How QR code could fight against counterfeiting
QR code could store big data with error recovery. Therefore, we can put it easily on item. However,
QR code still can be faked and copy. We will provide some mechanisms to protect the QR code.
3.1.5.2 Prevent fake QR code:
After decode QR code, we will have an URL to our system. This URL is unique for each item. The URL
will contain item ID and a secure password.
We will combine these parameters with secret key and finally hashed to make a secure string. The
security hash string cannot be guest or generate because of secret key. On later version, we could
also use public-key cryptography algorithm. What shall we do if some people completely build
another website with same functionalities for phishing? We need to have a strong brand that easy to
remember and check by consumer.
3.1.5.3 Prevent QR code from stolen for fake product
The QR code can still be vulnerable from identically copying. Therefore, the problem is how to detect
the stolen code.
17
18. The strategy of counterfeit is mass produce as much as possible and reduce cost to make benefit
from risk. They cannot steal all QR code and make the same. They can just copy a little of QR code
from the market but it will take time and risk. System could use data mining techniques with
patterns and cases to determine stolen QR code from real one. These patterns include time, location,
number, frequently be calculated with a formula then giving a reliability suggestion of product. This
formula would be improved during operation.
3.1.6 Out of Scope
Nowadays, there is a lot of software used for reading QR code on mobile. Therefore, our team will
not go too far in this section. In the other hand, our solution focuses on business processes more
than technologies. The favorite software we would like to use most is Barcode Scanner, which you
can easily find on Google Play or iTunes App Store.
3.2 System Requirement Specification
3.2.1
External Interface Requirements
3.2.1.1 User Interfaces
The look and feel of this website should rely on user requirements, no matter if users access via
mobile or computer. Page layout and navigation should be as intuitive and easy as possible.
Moreover, the design should be responsive. It means that the web components should be scaled
according to a range of resolutions and devices to provide a consistent experience, no matter what.
3.2.1.2 Hardware Interfaces
All things producer needs to access to use our system are a computer and an Internet connection.
Consumer needs to have a smartphone aimed with a camera, a QR code reader, and an Internet
connection in order to scan QR code on the product item and access our system to see the results.
3.2.1.3 Software Interfaces
Our product runs on web platform. It requires being able to run on browsers of both PCs and
mobiles.
Software
.NET Framework
SQL Server
Visual Studio
MVC
Browsers
Version
4.0
2008
2010
3.0
Latest version of any browser
(recommended)
Source
Microsoft
Microsoft
Microsoft
Microsoft
Mozilla, Google, Apple, etc.
3.2.1.4 Communications Protocol
The protocol we would use is HTTP. We run our system on the browser using standard protocols for
communication between client and server.
18
19. 3.2.2
System Features
QR4AC System
Update profile
Validate Item
Rate product
<<extend>>
<<include>>
Manage products
View Product
Details
<<include>>
Consumer
Manage items
Manage producers
Login
<<include>>
Manage Information
Templates
Manage accounts
<<include>>
Manage Requests
Producer
Manage Categories
Administrator
View Consumer
Check Statistic
Figure 1 - Overal Use Case Diagram
3.2.2.1 User Authentication
3.2.2.1.1 User Case-User Login Diagram
QR4AC
Logout
<<include>>
Login
Administrator
Producer
Figure 2 - User Case-User Login Diagram
19
20. 3.2.2.1.2 Use Case-Login Specification
USE CASE- Login SPECIFICATION
Use-case No.
UC101
Use-case Name
Login
Author
BinhTQ
Date
Use-case Version
31/05/2012
Priority
1.0
High
Actor:
Administrator, Producer
Summary:
This use case allows administrator or producer to log on into the system
Goal:
Log on into the system
Triggers
Click to open login form on Navigation Bar
Preconditions:
User has an account and has not logged in yet
Post Conditions:
User has logged in
Redirects to List Page
Main Success Scenario:
Step
Actor Action
1
Enter the website
2
Fills user name and password
3
Click to “Login” button.
System Response
Display a form for login
Redirects to Home Page
20
21. Alternative Scenario:
Step
Actor Action
1
Enter the website
2
Fills only user name or password
3
Click to “Login” button.
System Response
Display a form for login
Display an error message
Exceptions:
Step
Actor Action
1
Enter the website
2
System Response
Fills user name and password
3
Display a form for login
Click to “Login” button
Cannot logged in and display an error
message
Relationships:
N/A
Business Rules:
None
3.2.2.1.3 Use Case-Logout Specification
USE CASE-Logout SPECIFICATION
Use-case No.
UC102
Use-case Name
Logout
Author
BinhTQ
Date
31/05/2012
Use-case Version
Priority
1.0
High
Actor:
Administrator, Producer
21
22. Summary:
This use case allows administrator or producer to logout the system
Goal:
Logout the system
Triggers
Click “Logout” link
Preconditions:
User logged into the system successfully
Post Conditions:
User has logged out
Redirects to Login page
Main Success Scenario:
Step
1
Actor Action
Click “Logout” link
System Response
Redirects to Login page
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
N/A
Business Rules:
None
22
23. 3.2.2.2 Producer Management
3.2.2.2.1 Use Case-Producer Management Diagram
QR4AC
List all producers
Register new
producer
Producer Management
Update information
of producer
Administrator
Switch producer
activation
Figure 3 - Use Case-Producer Management Diagram
3.2.2.2.2 Use Case-Add New Producer with Account Specification
USE CASE-Add New Producer SPECIFICATION
Use-case No.
UC201
Use-case Name
Add New Producer
Author
AnPH
Date
31/05/2012
Use-case Version
Priority
1.0
High
Actor:
Administrator
Summary:
This use case allows administrator to add a new producer into the system
23
24. Goal:
Add a new producer into the system
Triggers
Click “Add New Producer” on Sidebar
Preconditions:
User logged into the system successfully
Post Conditions:
System refresh the list of producers on Producer List Page
Main Success Scenario:
Step
Actor Action
1
Click on “Add New producer” on Producer
List Page or on Sidebar
2
Fills all mandatory data fields
3
Click to “Submit” button.
System Response
Display a form for adding producer
Close the form and refresh the list of
producers
Alternative Scenario:
Step
Actor Action
1
Click on “Add New producer” on Producer
List Page or on Sidebar
2
Fills all mandatory data fields
3
Click to “Back to List” button.
System Response
Display a form for adding producer
Close the form
Exceptions:
Step
Actor Action
1
Click on “Add New producer” on Producer
List Page or on Sidebar
2
Fills all mandatory data fields
3
Click to “Submit” button.
System Response
Display a form for adding producer
Shows all required messages for all missing
mandatory data fields
24
25. Relationships:
Log in use case
Business Rules:
None
3.2.2.2.3 Use Case-List all Producers Specification
USE CASE-List all Producers SPECIFICATION
Use-case No.
UC202
Use-case Name
List all Producers
Author
BinhTQ
Date
31/05/2012
Use-case Version
Priority
1.0
High
Actor:
Administrator
Summary:
This use case allows administrator to view the list of all producers
Goal:
View the list of all producers
Triggers
Click on “List all Producers” on Sidebar
Preconditions:
User logged into the system successfully
Post Conditions:
System redirects user to Producer List Page
Main Success Scenario:
25
26. Step
1
Actor Action
Click on “List all Producers” on Sidebar
System Response
Display the Producer List Page including the
list of all producers
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
Log in use case
Business Rules:
None
3.2.2.2.4 Use Case-Update Producer Information Specification
USE CASE-Update Producer Information SPECIFICATION
Use-case No.
UC203
Use-case Version
Use-case Name
Update Producer Information
Author
BinhTQ
Date
31/05/2012
Priority
1.0
High
Actor:
Administrator
Summary:
This use case allows administrator to update information of a producer
Goal:
Update producer information
26
27. Triggers
Click on “Update” on a row of the Producer List page
Preconditions:
User logged into the system successfully
Post Conditions:
System refreshes the list of producers on Producer List Page
Main Success Scenario:
Step
Actor Action
1
Click on “Update” on a row of the
producer list on Producer List Page
2
Update some data fields
3
Click to “Save changes” button
System Response
Display a form for update producer
information
Redirect to Producer List page
Alternative Scenario:
Step
Actor Action
1
Click on “Update” on a row of the
producer list on Producer List Page
2
Update some data fields
3
Click to “Back to List” button
System Response
Display a form for update producer
information
Redirect to Producer List page
Exceptions:
Step
Actor Action
1
Click on “Update” on a row of the
producer list on Producer List Page
2
System Response
Update some data fields
3
Click to “Save changes” button
Display a form for update producer
information
Shows all required messages for all missing
mandatory data fields
Relationships:
Log in use case
Business Rules:
27
28. None
3.2.2.2.5 Use Case-Switch Producer Activation Specification
USE CASE-Switch Producer Activation SPECIFICATION
Use-case No.
UC204
Use-case Version
Use-case Name
Switch Producer Activation
Author
AnPH
Date
31/05/2012
Priority
1.0
High
Actor:
Administrator
Summary:
This use case allows administrator to deactivate/activate a producer in the system
Goal:
Deactivate/Activate a producer in the system
Triggers
Click on “Deactivate”/”Activate” on the list of all producers on Producer List Page
Preconditions:
User logged into the system successfully
Post Conditions:
Producer status togged and Producer List refreshed
Main Success Scenario:
Step
1
Actor Action
Click on “Deactivate”/”Activate” on a row
of a producer on the list of producers on
the Producer List Page
System Response
A confirmation dialog appears
28
29. 2
Close the message box and refresh the
producer list with the status toggled
Click “Yes”
Alternative Scenario:
Step
Actor Action
System Response
A confirmation dialog appears
1
Click on “Deactivate”/”Activate” on a row
of a producer on the list of producers on
the Producer List Page
2
Click “No”
Close the message box
Exceptions:
N/A
Relationships:
List all Producers use case
Business Rules:
None
3.2.2.3 Account Management
3.2.2.3.1 Use Case-Account Management Diagram
QR4AC
List All Accounts
Create Account
Account Management
Administrator
Remove account
Change password
Figure 4 - Use Case-Account Management Diagram
29
30. 3.2.2.3.2 Use Case-Create New Account Specification
USE CASE-Create New Account SPECIFICATION
Use-case No.
UC301
Use-case Name
Create New Account
Author
BinhTQ
Date
31/05/2012
Use-case Version
Priority
1.0
Normal
Actor:
Administrator
Summary:
This use case allows administrator to create an account for a producer
Goal:
Create an account for a producer
Triggers
View Product Update page
Preconditions:
User logged into the system successfully
Post Conditions:
System refresh the list of accounts displayed on Producer Detail page
Main Success Scenario:
Step
Actor Action
1
Fills all mandatory data fields on “Create
Account” form on Producer Update page
2
Click to “Submit” button
System Response
Refresh the list of accounts
Alternative Scenario:
30
31. Step
Actor Action
1
Fills all mandatory data fields on “Create
Account” form on Producer Update page
3
Click to “Reset” button.
System Response
Reset the form
Exceptions:
Step
Actor Action
Display a form for creating account
1
Fills all mandatory data fields on “Create
Account” form on Producer Update page.
Some are skipped.
Click to “Submit” button.
Shows all required messages for all missing
mandatory data fields
3
System Response
Relationships:
Update Producer Information use case
Business Rules:
None
3.2.2.3.3 Use Case-List all Producer Accounts of a Specific Producer Specification
USE CASE-List all Accounts SPECIFICATION
Use-case No.
UC302
Use-case Version
Use-case Name
List all Accounts of a Specific Producer
Author
BinhTQ
Date
31/05/2012
Priority
1.0
Normal
Actor:
Administrator
Summary:
This use case allows administrator to view all accounts of a producer
31
32. Goal:
View all accounts of a producer
Triggers
View Producer Update page
Preconditions:
User logged into the system successfully
Post Conditions:
System display the list of accounts of that producer
Main Success Scenario:
Step
1
Actor Action
Click on “Accounts” in Producer Update
page or on Sidebar
System Response
Display the list of accounts
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
Update Producer Information use case
Business Rules:
None
3.2.2.3.4 Use Case-Remove an Account Specification
USE CASE-Remove an Account SPECIFICATION
Use-case No.
UC303
Use-case Name
Use-case Version
1.0
Remove an Account
32
33. Author
BinhTQ
Date
31/05/2012
Priority
Normal
Actor:
Administrator
Summary:
This use case allows administrator to remove an account of a producer
Goal:
Remove an account of a producer
Triggers
Click “Delete” on a row of an account on the list of accounts
Preconditions:
User logged into the system successfully
Post Conditions:
System display the list of accounts of that producer
Main Success Scenario:
Step
Actor Action
Display a confirmation message
1
Click on “Delete” on a row of an account on
the list of accounts on the Producer Detail
page
Click “Yes”
Close the message and refresh the list of
accounts
2
System Response
Alternative Scenario:
Step
Actor Action
System Response
Display a confirmation message
1
Click on “Remove” on a row of an account
on the list of accounts on the Producer
Detail page
2
Click “No”
Close the message
Exceptions:
33
34. N/A
Relationships:
Update Producer Information use case
Business Rules:
None
3.2.2.3.5 Use Case-Change Password Specification
USE CASE-Change Password SPECIFICATION
Use-case No.
UC304
Use-case Name
Change Password
Author
BinhTQ
Date
31/05/2012
Use-case Version
Priority
1.0
Normal
Actor:
Administrator
Summary:
This use case allows administrator or producer to change their own password
Goal:
Change own password
Triggers
Click “Change password” on Authentication popup on Navigation Bar
Preconditions:
User logged into the system successfully
Post Conditions:
System display form for changing password
34
35. Main Success Scenario:
Step
1
Actor Action
System Response
Click on “Change password” on
Authentication popup on Navigation Bar
Redirect to Change Password page
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
Log in use case
Business Rules:
None
3.2.2.4 Information Template Management
3.2.2.4.1 Use Case-Information Template Management Diagram
QR4AC
List all Templates
InfoTemplates
Management
Add new Template
Update Template
Producer
Delete Template
Figure 5 - Use Case-Information Template Management Diagram
35
36. 3.2.2.4.2 Use Case-Create New Information Template Specification
USE CASE-Create New Information Template SPECIFICATION
Use-case No.
UC401
Use-case Version
Use-case Name
Create new information template
Author
AnPH
Date
31/05/2012
Priority
1.0
High
Actor:
Producer
Summary:
This use case allows producer to create new information template for their products
Goal:
Add new information template and generate unique QR codes for them
Triggers
Click “Create New Template” on Sidebar
Preconditions:
User logged into the system successfully
Post Conditions:
Information template added
Main Success Scenario:
Step
Actor Action
1
Click on “Create New Template” on
Sidebar
2
Fills all mandatory data fields
3
Click to “Submit” button
System Response
Redirect to Create New Information
Template page
Redirect to Template List Page
36
37. Alternative Scenario:
Step
Actor Action
1
Click on “Create New Template” on
Sidebar
2
Fills all mandatory data fields
3
Click to “Back to List” button
System Response
Redirect to Create New Information
Template page
Redirect to Template List Page
Exceptions:
Step
Actor Action
1
Click on “Create New Template” on
Sidebar
2
System Response
Fills all mandatory data fields
3
Click to “Submit” button
Redirect to Create New Information
Template page
Shows all required messages for all missing
mandatory data fields
Relationships:
Log in use case
Business Rules:
None
3.2.2.4.3 Use Case-List all Information Templates Specification
USE CASE-List all Information Templates SPECIFICATION
Use-case No.
UC402
Use-case Version
Use-case Name
List all Information Templates
Author
AnPH
Date
30/05/2012
Priority
1.0
Normal
37
38. Actor:
Producer
Summary:
This use case allows producer to view their all information templates created on the system
Goal:
View list of all information templates
Triggers
Click “List all Templates” on Sidebar
Preconditions:
User logged into the system successfully
Post Conditions:
List of product is shown on the screen
Main Success Scenario:
Step
1
Actor Action
Click on “List all Templates” on Sidebar
System Response
Show the information template list based on
the producer logged in
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
Log in use case
Business Rules:
None
38
39. 3.2.2.4.4 Use Case-Update Information Template Specification
USE CASE-Update Template Information SPECIFICATION
Use-case No.
UC403
Use-case Version
Use-case Name
Update Template Information
Author
AnPH
Date
31/05/2012
Priority
1.0
High
Actor:
Producer
Summary:
This user case allows producer to update template information
Goal:
Update template information
Triggers
Click “Update” on a row of template list on Template List Page
Preconditions:
User logged into the system successfully
Post Conditions:
System redirects user to the template List Page
Main Success Scenario:
Step
Actor Action
1
Click on “Update” on a row of information
template list on Information Template List
Page
2
System Response
Update information
Display a form for update
39
40. 3
Click “Save changes” button
Redirect to Information Template List Page
Alternative Scenario:
Step
Actor Action
1
Click on “Update” on a row of information
template list on Information Template List
Page
2
Update information
3
Click “Back to List” button
System Response
Display a form for update
Redirect to Information Template List Page
Exceptions:
Step
Actor Action
1
Click on “Update” on a row of information
template list on Information Template List
Page
2
Update information
3
Click “Save changes” button
System Response
Display a form for update
Shows all required messages for all missing
mandatory data fields
Relationships:
Log in use case
Business Rules:
None
3.2.2.4.5 Use Case-Delete Information Template Specification
USE CASE-Delete an Information Template SPECIFICATION
Use-case No.
UC404
Use-case Version
Use-case Name
Delete an Information Template
Author
1.0
NhatPG
40
41. Date
31/05/2012
Priority
Normal
Actor:
Producer
Summary:
This use case allow producer to remove an information template when it should not be
available any more
Goal:
Remove an information template
Triggers
Click “Delete” on Information Template List
Preconditions:
User logged into the system successfully
Post Conditions:
System redirects user to the information template List Page
Main Success Scenario:
Step
Actor Action
System Response
1
Click on “Delete” on a row of template list
on Information Template List page
A confirmation dialog appears
2
Click “Yes”
The template is removed
Alternative Scenario:
Step
Actor Action
System Response
1
Click on “Delete” on a row of template list
on Information Template List Page
A confirmation dialog appears
2
Click “Yes”
Nothing changes
Exceptions:
N/A
Relationships:
41
42. List all Information Templates use case
Business Rules:
None
3.2.2.5 Product Management
3.2.2.5.1 Use Case-Product Management Diagram
QR4AC
List all products
Add new product
Product Management
Update product
information
Producer
View product
details
Switch product
activation
Figure 6 - Use Case-Product Management Diagram
3.2.2.5.2 Use Case-Add New Product Specification
USE CASE-Add New Product SPECIFICATION
Use-case No.
UC501
Use-case Name
Add New Product
Author
AnPH
Date
30/05/2012
Use-case Version
Priority
1.0
High
Actor:
42
43. Producer
Summary:
This use case allows producer to register a new product for its availability in the system
Goal:
Add New Product
Triggers
Click “Add New Product” on Sidebar
Preconditions:
User logged into the system successfully
Post Conditions:
System redirects user to the Product List Page
Main Success Scenario:
Step
Actor Action
1
Click on “Add New Product” in Product List
Page or on Sidebar
2
Fills all mandatory data fields
3
Click to “Submit” button
System Response
Redirect to Add New Product page
Redirect to Product List Page
Alternative Scenario:
Step
Actor Action
1
Click on “Add New Product” in Product List
Page or on Sidebar
2
Fills all mandatory data fields
3
Click to “Back to List” button
System Response
Redirect to Add New Product page
Redirect to Product List Page
Exceptions:
Step
Actor Action
1
Click on “Add New Product” in Product List
Page or on Sidebar
System Response
Redirect to Add New Product page
43
44. Fills some mandatory data fields. Some
are skipped
2
Click to “Submit” button
3
Shows all required messages for all missing
mandatory data fields
Relationships:
Log in use case
Business Rules:
None
3.2.2.5.3 Use Case-List all Products Specification
USE CASE-List all Products SPECIFICATION
Use-case No.
UC502
Use-case Name
List all Products
Author
NhatPG
Date
30/05/2012
Use-case Version
Priority
1.0
Normal
Actor:
Producer
Summary:
This use case allows producer to view their all products registered on the system
Goal:
View list of all products
Triggers
Click “List all Products” on Sidebar
Preconditions:
User logged into the system successfully
44
45. Post Conditions:
List of product is shown on the screen
Main Success Scenario:
Step
1
Actor Action
Click on “List all Products” on Sidebar
System Response
Show the product list based on the producer
logged in
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
Log in use case
Business Rules:
None
3.2.2.5.4 Use Case-Update Product Information Specification
USE CASE-Update Product Information SPECIFICATION
Use-case No.
UC503
Use-case Version
Use-case Name
Update Product Information
Author
AnPH
Date
31/05/2012
Priority
1.0
High
Actor:
Producer
Summary:
45
46. This user case allows producer to update some information of a product
Goal:
Show the most accurate traits of product
Triggers
Click “Update” on a row of product list on Product List Page
Preconditions:
User logged into the system successfully
Post Conditions:
Data updated
System redirects user to the product List Page
Main Success Scenario:
Step
Actor Action
1
Click “Update” on a row of Product List
2
Update information
3
Click “Save changes” button
System Response
Redirect to Update Product page
Redirect to Product List Page
Alternative Scenario:
Step
Actor Action
1
Click “Update” on a row of Product List
2
Update information
3
Click “Back to List” button
System Response
Redirect to Update Product page
Redirect to Product List Page
Exceptions:
Step
Actor Action
1
Click “Update” on a row of Product List
2
System Response
Update information (some mandatory
fields are skipped)
3
Click “Save changes” button
Redirect to Update Product page
Shows all required messages for all missing
mandatory data fields
46
47. Relationships:
Log in use case
Business Rules:
None
3.2.2.5.5 Use Case-Switch Product Activation Specification
USE CASE-Switch Product Activation SPECIFICATION
Use-case No.
UC504
Use-case Name
Switch Product Activation
Author
NhatPG
Date
31/05/2012
Use-case Version
Priority
1.0
Normal
Actor:
Producer
Summary:
This use case allow producer to deactivate/activate a product when should not be available
any more
Goal:
Switch activation of a product
Triggers
Click “Deactivate”/”Activate” on Sidebar
Preconditions:
User logged into the system successfully
Post Conditions:
Product status toggled and Product List refreshed
Main Success Scenario:
47
48. Step
1
2
Actor Action
System Response
Click on “Deactivate”/”Activate” on
Product List
A confirmation dialog appears
Click “Yes”
Close the message box and refresh the
product list with the status toggled
Alternative Scenario:
Step
Actor Action
System Response
1
Click on “Deactivate”/”Activate” on
Product List
A confirmation dialog appears
2
Click “No”
Nothing changes
Exceptions:
N/A
Relationships:
List all Products use case
Business Rules:
When a product is out-of-date or the producer does not manufacture it any more, a product
might be deactivated to announce, “it is no more supported.”
48
49. 3.2.2.5.6 Use Case-View Product Details
QR4AC
Rating and Comment
<<include>>
View Product
Details
Consumer
Figure 7 - Use Case-View Product Details
USE CASE-Update Information of a Product SPECIFICATION
Use-case No.
UC505
Use-case Name
View Product Details
Author
TrucLK
Date
31/05/2012
Use-case Version
Priority
1.0
Normal
Actor:
Producer
Summary:
This user case allows Consumer to view product details
Goal:
Show the product details
Triggers
49
50. Select product on “Product List”
Preconditions:
User access to the website
Post Conditions:
Product details displayed
Main Success Scenario:
Step
1
Actor Action
System Response
Select a product on Product List grid view
Display product details
Relationships:
None
Business Rules:
None
3.2.2.6 Category Management
3.2.2.6.1 Use Case- Category Management Diagram
QR4AC
List all Categories
Categories
Management
Create new category
Administrator
Remove category
Figure 8 - Use Case- Category Management Diagram
50
51. 3.2.2.6.2 Use Case-Create New Category Specification
USE CASE-Create New Category SPECIFICATION
Use-case No.
UC601
Use-case Name
Create new category
Author
AnPH
Date
31/05/2012
Use-case Version
Priority
1.0
High
Actor:
Producer
Summary:
This use case allows producer to create new category for their products when this category
does not exists
Goal:
Create new category
Triggers
Product updated with new category name which does not existed
Preconditions:
User logged into the system successfully
Post Conditions:
Category added
Main Success Scenario:
Step
1
Actor Action
System Response
Product updated with a new category
name
2
New category added into the system
Alternative Scenario:
51
52. N/A
Exceptions:
N/A
Relationships:
Update Product Information use case
Business Rules:
None
3.2.2.6.3 Use Case-Remove Category
USE CASE-Remove Category SPECIFICATION
Use-case No.
UC602
Use-case Name
Remove category
Author
AnPH
Date
31/05/2012
Use-case Version
Priority
1.0
High
Actor:
Producer
Summary:
This use case allows to remove a category when it does not contain any products any more
Goal:
Remove old category
Triggers
Product updated and a category does not contain any products any more
Preconditions:
User logged into the system successfully
52
53. Post Conditions:
Category added
Main Success Scenario:
Step
Actor Action
1
Product updated and a category does not
containing any product any more
2
System Response
Old category removed
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
Update Product Information use case
Business Rules:
None
53
54. 3.2.2.7 Request Management
3.2.2.7.1 Use Case-Request Management Diagram
QR4AC
List all Request
Create new request
Request Management
Producer
Download QRPackage
Figure 9 - Use Case-Item Package/Request Management Diagram
3.2.2.7.2 Use Case-Create New Request Specification
USE CASE-Create New Request Specification
Use-case No.
UC701
Use-case Name
Create New Request
Author
NhatPG
Date
31/05/2012
Use-case Version
Priority
1.0
High
Actor:
Producer
Summary:
This use case allows producer to create new request to the system for creating items
Goal:
54
55. Create new request for creating items
Triggers
Click “Create items” on Product Update page or Product List page
Preconditions:
User logged into the system successfully
Post Conditions:
Request created and waits for creating items
Main Success Scenario:
Step
Actor Action
1
Click on “Create items” on Product detail
page
2
System Response
Fills all mandatory data fields
3
Click to “Create items” button
Redirect to Create Items page
Create request and redirect to Request List
page; waiting for creating items processing
Alternative Scenario:
Step
Actor Action
1
Click on “Create items” on Product detail
page
2
Fills all mandatory data fields
3
Click to “Back to Product List” button
System Response
Redirect to Create Items page
Redirect to Product List page
Exceptions:
Step
Actor Action
1
Click on “Create items” on Product detail
page
2
System Response
Fills some mandatory data fields but skips
some
3
Click to “Submit” button
Redirect to Create Items page
Shows all required messages for all missing
mandatory data fields
Relationships:
55
56. Log in use case
Business Rules:
None
3.2.2.7.3 Use Case-List all Requests Specification
USE CASE-List all Requests SPECIFICATION
Use-case No.
UC702
Use-case Version
Use-case Name
List all Requests Specification
Author
NhatPG
Date
31/05/2012
Priority
1.0
Normal
Actor:
Producer
Summary:
This use case allows producer to view all requests created on the system
Goal:
View the list of requests created
Triggers
Click “List all Requests” on Sidebar
Preconditions:
User is logged into system successfully
Post Conditions:
List of items is shown screen
Main Success Scenario:
Step
Actor Action
System Response
56
57. 1
Click on “List of Requests” on Sidebar
Display the list of requests
Alternative Scenario:
None
Exceptions:
None
Relationships:
Login use case
Business Rules:
None
3.2.2.7.4 Use Case-Download QR Code Packages Specification
USE CASE-Download QR Code Packages SPECIFICATION
Use-case No.
UC703
Use-case Version
Use-case Name
Download QR Code Packages Specification
Author
NhatPG
Date
31/05/2012
Priority
1.0
Normal
Actor:
Producer
Summary:
This use case allows producer to download QR code packages
Goal:
Download QR code packages
Triggers
Click “Download” on a row of Request List
57
58. Preconditions:
User is logged into system successfully
Post Conditions:
List of items is shown screen
Main Success Scenario:
Step
1
Actor Action
Click on “Download” on a row of Request
List
System Response
File downloaded into computer
Alternative Scenario:
None
Exceptions:
None
Relationships:
Login use case
Business Rules:
None
58
59. 3.2.2.8 Item Management
3.2.2.8.1 Use Case-Item Management Diagram
QR4AC
List All Items
Add New Items
Item Management
Producer
Switch item
activation
Upload for Search
Figure 10 - Use Case-Item Management Diagram
3.2.2.8.2 Use Case-Create New Items Specification
USE CASE-Create New Items Specification
Use-case No.
UC801
Use-case Name
Create New Items
Author
NhatPG
Date
31/05/2012
Use-case Version
Priority
1.0
High
Actor:
System
Summary:
This use case allows to create items
Goal:
59
60. Add new product items and generate unique QR codes for them
Triggers
Request created by producer
Preconditions:
Service is running
Post Conditions:
Product items added and QR code generated
Main Success Scenario:
Step
1
Actor Action
System Response
Request is created
2
Add product items with unique QR codes.
Alternative Scenario:
N/A
Exceptions:
Step
1
Actor Action
System Response
Request is created
2
Creating failed
Relationships:
Create New Request use case
Business Rules:
None
3.2.2.8.3 Use Case-List all Items Specification
USE CASE-List all Items SPECIFICATION
Use-case No.
UC802
Use-case Version
1.0
60
61. Use-case Name
List all Items Specification
Author
NhatPG
Date
31/05/2012
Priority
Normal
Actor:
Producer
Summary:
This use case allows producer to view all items belong to a product on the system
Goal:
View the list of items of a product
Triggers
Click “View items” on Product List page
Preconditions:
User is logged into system successfully
Post Conditions:
List of items is shown screen
Main Success Scenario:
Step
1
Actor Action
Click on “List of Items” in Product Detail
page
System Response
Display the list of items
Alternative Scenario:
None
Exceptions:
None
Relationships:
List products use case
Business Rules:
61
62. None
3.2.2.8.4 Use Case-Upload QR Codes for Search
USE CASE-Upload QR Codes for Search SPECIFICATION
Use-case No.
UC803
Use-case Version
Use-case Name
Upload QR Codes for Search
Author
AnPH
Date
31/05/2012
Priority
1.0
Normal
Actor:
Producer
Summary:
This use case allow producer to upload QR codes for search product items
Goal:
Search items based on QR code images
Triggers
Click “Upload for Search” on Item List page
Preconditions:
User is logged into system successfully
Post Conditions:
Found items displayed
Main Success Scenario:
Step
Actor Action
1
Click “Upload for Search” on Item List page
2
Click “Upload” and select files or drag-and-
System Response
Upload file, display found items
62
63. drop files from Explorer for upload
Alternative Scenario:
Step
Actor Action
1
Click “Upload for Search” on Item List page
2
Click “Upload” and select files or drag-anddrop files from Explorer for upload
System Response
Upload failed, or QR codes not found
Exceptions:
None
Relationships:
List items use case
Business Rules:
None
3.2.2.8.5 Use Case-Switch Activation of Items Specification
USE CASE-Remove Items SPECIFICATION
Use-case No.
UC804
Use-case Name
Remove Items
Author
NhatPG
Date
31/05/2012
Use-case Version
Priority
1.0
Normal
Actor:
Producer
Summary:
This use case allow producer to activate/deactivate items on the system
Goal:
63
64. Activate/Deactivate items from the system
Triggers
Select items on the list of Items and click Activate/Deactivate
Preconditions:
User is logged into system successfully
Post Conditions:
Item status toggled and Item List refreshed
Main Success Scenario:
Step
1
2
Actor Action
System Response
Click on “Activate”/”Deactivate” in Items
List page
A confirmation dialog appears
Click “Yes”
Close the message box and refresh the item
list with the status toggled
Alternative Scenario:
Step
Actor Action
System Response
1
Click on “Activate”/”Deactivate” in Items
list page
A confirmation dialog appears
2
Click “No”
Nothing changes
Exceptions:
None
Relationships:
List all Items use case
Business Rules:
None
64
65. 3.2.2.9 Item Checking
3.2.2.9.1 Use Case-Item Checking Diagram
QR4AC
Check Item
Consumer
Figure 11 - Use Case-Item Checking Diagram
3.2.2.9.2 Use Case- Check Item Specification
USE CASE – Check Item SPECIFICATION
Use-case No.
UC901
Use-case Name
Check Item
Author
TrucLK
Date
02/06/2012
Use-case Version
Priority
1.0
High
Actor:
Consumer
Summary:
This use case allows a consumer to check the item he or she interests via QR code when using
a smartphone with an application helping read QR code
Goal:
Check the item whether it is reliable or not
Triggers
Consumer visit website by unique URL of item
65
66. Preconditions:
Consumer has a smartphone with an application helping read QR code. Consumer uses
software to read the QR code and using browser to open URL
Post Conditions:
System redirects consumer to the page that shows detail about the item
Main Success Scenario:
Step
Actor Action
System Response
1
Consumer visits webpage from correct
URL
System display number of checking and
reliability, system ask customer for rating
2
Consumer rates and comment of product
System displays thank message
Alternative Scenario:
Step
1
2
Actor Action
System Response
Consumer visits webpage from incorrect
URL or deprecated item.
System alerts consumer about fake product
and asks for store information
Consumer provides information about this
store.
System displays thank message
Exception:
N/A
Relationships:
N/A
Business Rules:
When facing that kind of problem, consumer needs to contact with the seller to get the
support. The distributor also needs to contact us for the cause and the solution.
66
67. 3.2.2.10 Product Rating
3.2.2.10.1 Use Case-Product Rating Diagram
QR4AC
Rate Product
Consumer
Figure 12 - Use Case-Product Rating Diagram
3.2.2.10.2 Use Case-Rate a Product Specification
USE CASE – Rating product SPECIFICATION
Use-case No.
UC1001
Use-case Name
Rate a Product
Author
TrucLK
Date
02/06/2012
Use-case Version
Priority
1.0
Low
Actor:
Consumer
Summary:
This use case allows the consumer to express his/her opinion about the product he/she has
interest in
Goal:
Rate a product
Triggers
Consumer has checked item via QR code
67
68. Preconditions:
N/A
Post Conditions:
System redirects consumer to the page that shows the result
Main Success Scenario:
Step
1
Actor Action
Click “Rating this product” button
2
Click “Submit” button
Redirect to the page containing information
for assessing
Choose how many star and Add comment
(under 1000 characters)
3
System Response
Redirect to the result page
Alternative Scenario:
Step
1
Actor Action
Click “Rating this product” button
2
Click “Back to List” button
Redirect to the page containing information
for assessing
Choose how many star and Add comment
(under 1000 characters)
3
System Response
Redirect to the previous page
Exceptions:
Step
1
Actor Action
Click “Rating this product” button
2
Click “Submit” button
Redirect to the page containing information
for assessing
Choose how many star and Add comment
(above 1000 characters)
3
System Response
Error message appears
Relationships:
Check Item use case
68
69. Business Rules:
None
3.2.2.11 Consumer Check Statistic
3.2.2.11.1 Use Case- Consumer Check Statistic Diagram
QR4AC
View charts
Administrator
Producer
View logs
Figure 13 - Use Case- Consumer Check Statistic Diagram
3.2.2.11.2 Use Case-View Chart Specification
USE CASE-View Chart SPECIFICATION
Use-case No.
UC1101
Use-case Name
View Chart
Author
TrucLK
Date
01/06/2012
Use-case Version
Priority
1.0
High
Actor:
Administrator
Producer
Summary:
This use case allow administrator or producer to view statistic of product item checking in
charts
Goal:
69
70. View statistic of product checking by consumer
Triggers
Click “View Chart” on Sidebar
Preconditions:
User is logged into the system successfully
Post Conditions:
Chart displayed
Main Success Scenario:
Step
1
Actor Action
Click on “View Chart” on Sidebar
System Response
Redirect to View Chart page
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
Log in use case
Business Rules:
None
3.2.2.11.3 Use Case-View Logs Specification
USE CASE-View Logs SPECIFICATION
Use-case No.
UC1102
Use-case Name
View Logs
Author
Use-case Version
1.0
TrucLK
70
71. Date
01/06/2012
Priority
High
Actor:
Administrator
Producer
Summary:
This use case allow administrator or producer to view all item checking log of consumers
Goal:
View checking logs of consumers
Triggers
Click “View logs” on the Item List
Preconditions:
User is logged into the system successfully
Post Conditions:
List of Checking Logs displayed
Main Success Scenario:
Step
1
Actor Action
Click on “View logs” on the Item List
System Response
Redirect to View Logs page
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
Log in use case
Business Rules:
None
71
72. 3.2.2.11.4 Use Case-Export to Excel Specification
USE CASE-Export to Excel SPECIFICATION
Use-case No.
UC1103
Use-case Name
Export to Excel
Author
NhatPG
Date
01/06/2012
Use-case Version
Priority
1.0
Low
Actor:
Producer
Summary:
This use case allow producer to export checking logs to Excel file
Goal:
Export checking logs to Excel
Triggers
Click “Excel” icon on View Logs page
Preconditions:
User is logged into the system successfully
Post Conditions:
Excel file downloaded
Main Success Scenario:
Step
Actor Action
1
Click on “Excel” icon on View Logs page
System Response
Download Excel file to computer
Alternative Scenario:
N/A
Exceptions:
72
73. N/A
Relationships:
Log in use case
Business Rules:
None
3.2.2.12 Logging
3.2.2.12.1 Use Case-Logging Check Statistic Diagram
QR4AC
Logging
Administrator
Producer
Figure 14 - Use Case-Logging Check Statistic Diagram
3.2.2.12.2 Use Case-Logging Check Statistic Specification
USE CASE-Logging SPECIFICATION
Use-case No.
UC1201
Use-case Name
Logging
Author
TrucLK
Date
03/06/2012
Use-case Version
Priority
1.0
Normal
Actor:
System
Summary:
73
74. This use case is used for logging all logged-in user (administrator, producer) actions on
system for audit purpose
Goal:
Log user actions for audit purpose
Triggers
User do any action on the system
Preconditions:
User is logged into the system successfully
Post Conditions:
Action logged
Main Success Scenario:
Step
1
Actor Action
User do any action on the system
System Response
Action logged
Alternative Scenario:
N/A
Exceptions:
N/A
Relationships:
N/A
Business Rules:
None
3.2.2.13 Software System Attributes
3.2.2.13.1 Reliability
The system should not crash because of any actions on the website, includes generating QR codes
for product items.
The database should be backed up regularly and can be recovered if necessary.
Mean Time Between Failures (MTBF): The acceptable failure is once a year. The failure should not be
because of database or data loss.
74
75. Mean Time To Repair (MTTR): It should take immediately when admin finds out problem or
someone attacks website. The acceptable mean time for a particular failure must be least than 24
hours.
Maximum Bugs or Defect Rate: 5 bugs / KLOC.
3.2.2.13.2 Availability
The system should be available at all times, meaning the user can access it using a web browser, only
restricted by the down time of the server on which the system runs. The acceptable time for
maintenance or backup should not more than 2 hours per week. When the system goes in undermaintenance, the website should display a message to inform that. In case of a hardware failure or
database corruption, a backup version of the database should be retrieved from the server and
saved by administrator, after that the service would be restarted.
3.2.2.13.3 Security
Passwords of producer account would be stored encrypted in the database in order to ensure the
user's privacy.
All producer actions would be logged for audit.
Sensitive data would be encrypted before being sent over insecure connections like the internet.
Data integrity would be checked for critical variables.
3.2.2.13.4 Maintainability
We could build a backup database for database maintenance and an application server for taking
care of the site. In case of a failure, we could a re-initialize the system. In addition, the software
designs using MVC modularity in mind so that it would be efficient for maintenance.
3.2.2.13.5 Portability
The application is Microsoft .NET based and should be compatible with all other systems that
have .NET framework.
The end-user part is fully portable and any system using any web browser should be able to use the
features of the application, including any hardware platform that is available or will be available in
the future . So producer could use with any desktop web browser. Consumer could be used with any
device that support reading QR code and can access internet with URL from QR code
3.2.2.13.6 Performance
Average response time for a checking is 500milliseconds, and the maximum is 4 seconds. A checking
involves sending one request or receiving one response.
Throughput – an average of 20 requests per second
Capacity – the system can communicate with 100 consumers’ mobiles at the same time. The system
could server for 10.000.000 consumer, 1000 producers with 20000 products and 200.000.000 items.
Degradation mode - If the system is degraded when we exceed 1000 consumers, we will remain in
the normal mode of operation with longer response time. We can scale the system with more
servers from Amazon cloud system
75
76. 3.3 Entity Relationship Diagram
This diagram describes all the entities in the system.
Figure 15 - Entity Relationship Diagram
76
77. 4 Software Design Description
4.1 Design Overview
This document describes the technical and UI design of our system. It includes the architectural
design and the detailed design of common functions and business functions. It also includes the
design of database model, and overall design of user interface.
The architectural design describes the overall architecture of the system. It will describe the patterns
being used, the role of each component in the working environment.
The detailed design describes static and dynamic structure for each component and function. It
includes class diagrams, class explanations, and sequence diagrams of the main use cases. The
detailed design uses notations of .NET framework 4.0 and C# 4.0, as they are the framework and
language for developing the system.
The database design describes the relationship between entities, and details of each entity. It uses
notations of SQL Server 2008 as it is the database server for developing the system.
The user interface design describes the layout of the system, and some design for the screens.
77
78. 4.2 System Architectural Design
4.2.1
Choice of System Architecture
Figure 16 - System Architecture
We use ASP.NET MVC 3, which is a framework for building scalable, standards-based web
applications using well-established design patterns and the power of ASP.NET and the .NET
Framework. MVC stands for model-view-controller. MVC is a pattern for developing applications
that are well architected and easy to maintain. MVC-based applications contain:
Views are template files that your application uses for dynamically generating HTML
responses.
Models are classes that represent the data of the application and that use validation logic to
enforce business rules for that data.
Controllers are classes that handle incoming requests to the application, retrieve model data,
and then specify view templates that return a response to the client.
4.2.2 Discussion of Alternative Designs
At first glance, the three tiers may seem similar to the model-view-controller (MVC) concept;
however, topologically they are different. A fundamental rule in three-tier architecture is the client
tier never communicates directly with the data tier; in a three-tier model, all communication must
pass through the middle tier. Conceptually the three-tier architecture is linear. However, the MVC
architecture is triangular: the view sends updates to the controller, the controller updates the model,
and the view gets updated directly from the model.
78
82. 4.4.1.1 Common
1.1.1.1.1 HomeController
Figure 20 - Controller & View for Home
Methods
public ActionResult Index (string searchString)
Show content of home page
public ActionResult About ( )
Show contact information
1.1.1.1.2 ImagesMerging
Figure 21 - Methods in ImagesMerging class
Methods
public static Bitmap MergeImages (byte[] QRCode, Image ProducerLogo)
Merge producer logo to QR code image
public static string ResizeImage(Image pic, int size)
Resize picture
82
84. 1.1.1.1.4 HashUtility
Figure 23 - Methods in HashUtility class
Methods
public static string DecryptString (string Message, string Passphrase)
Decrypt encoded string
public static string EncryptString(string Message, string Passphrase)
Decrypt encoded message string with password using
MD5 and byte64
1.1.1.1.5 QRUtilities
Figure 24 - Methods in QRUtilities class
Methods
public static byte[] QREncode (string encodedString, int size)
Encode string to QR code image
public static string QRDecode(Bitmap QRImage)
Decode QR code image to string
84
85. 4.4.1.2 Account
Figure 25 - Model-View-Controller for Account
1.1.1.1.6 RegisterModel
Properties
string Username [get, set]
User name to register
string Password [get, set]
Password to register
string ConfirmPassword [get, set]
Confirm password to register
string Email [get, set]
Email to register
1.1.1.1.7 LogonModel
Properties
string Username [get, set]
User name to log on
string Password [get, set]
Password to log on
bool RememberMe [get, set]
Remember me when forgetting
85
86. password
1.1.1.1.8 ChangePasswordModel
Properties
string OldPassword [get, set]
Current password
string Password [get, set]
New password to change
string ConfirmPassword [get, set]
Confirm new password to
change
1.1.1.1.9 AccountController
Properties
QR4ACDbContext db [get, set]
Object used to query or update
data from database
Methods
public ActionResult LogOn(LogOnModel model, string returnUrl)
Allows user to login to system
public ActionResult LogOff ( )
Allows user to logout from system
public ActionResult Create(RegisterModel model)
Allows administrator to create new account
public ActionResult ChangePassword (ChangePasswordModel model)
Allows user to change their password
86
87. 4.4.1.3 Producer
Figure 26 - Model-View-Controller for Producer
1.1.1.1.10 Producer
Properties
int ProducerId [get, set]
ID of producer
string ProducerName [get, set]
Name of producer
string Description [get, set]
Description of producer
string Logo [get, set]
URL of producer’s logo
string Address [get, set]
Address of producer
String ContactPerson [get, set]
Contact person information
String Email [get, set]
Email of producer
Bool IsActive [get, set]
String PhoneNumber [get, set]
Status of producer
Phone number of producer
87
88. 1.1.1.1.11 ProducerController
Properties
QR4ACDbContext db [get, set]
Object used to query or update
data from database
Methods
public ActionResult Create ()
Display a form for adding a producer
public ActionResult Create (Producer producer)
Add a producer to database
public ActionResult SwitchActivation (int id)
Switch activation of producer based on ProducerId
public ActionResult Edit (int id)
Display a form for editting a producer based on
ProducerId
public ActionResult Edit (Producer producer)
Save changing of producer’s information to database
public ActionResult Index ()
Display all producers
public ActionResult Search (string searchText)
Display list of producers that meet the search condition
88
89. 4.4.1.4 Product
Figure 27 - Model-View-Controller for Product
1.1.1.1.12 Product
Properties
int ProductId [get, set]
ID of product
string Name [get, set]
Name of product
string Info [get, set]
Description of product
int ProducerId [get, set]
ID of producer
int TotalItems [get, set]
Total product items
bool IsActive [get, set]
Whether product is active or not
int CategoryId [get, set]
Id of product’s category
int InfoTemplateId [get, set]
Id of product’s InfoTemplate
89
90. string Logo [get, set]
Path of product’s logo
1.1.1.1.13 ProductController
Methods
public ActionResult Create ()
Display a form for adding a product
public ActionResult Create (Product product)
Add a product to database
public ActionResult Details (int id)
View details of product based on Product ID
public ActionResult Edit (int id)
Display a form for editing a product based on Product ID
public ActionResult Edit (Product product)
Save changing of product’s information to database
public ActionResult Index()
Display list of products that meet the search condition
public ViewResult List(string sortOrder, string currentFilter, string
searchString, int? page, int CategoryId)
public JsonResult Display list of products to customer
GetDetails(int id)
Get product details
public ActionResult SwitchActivation (int id)
Switch activation of product based on Product ID
public ActionResult Search (SearchProductModel searchModel, bool
orderToggle)
Display list of products that meet the search condition
90
91. 4.4.1.5 Item
Figure 28 - Model-View-Controller for Item
1.1.1.1.14 Item
Properties
int ItemId [get, set]
DateTime IssueDate [get, set]
string QrCodeStr [get, set]
ID of item
Created date
Description of product
int TotalChecks [get, set]
Total checking of item
int ProductId [get, set]
ID of product
bool IsActive get, set]
Whether item is active or not
int Reliability
Item reliability
int RequestId
ID of item’s creating request
91
92. Methods
public int GetId (string file)
Get Item ID from QR Code Image
public JsonResult GetQRCode (Product product)
Add a product to database
public ActionResult Index (int? id)
View list of items (or one item based on id)
public ActionResult Search (SearchItemModel searchModel, string OrderBy,
string idString, int? productId, bool orderToggle = false)
Display list of items that meet the search condition
public ActionResult SwitchActivation (id)
Switch activation of item based on Item ID
public ActionResult UploadQRCode()
Return Upload QR Code view
public ActionResult ViewProductItems (int productId)
Show list of items based on Product ID
4.4.1.6 Checking
Figure 29 - Model-View-Controller for Checking Logs
1.1.1.1.15 CheckingLogs
Properties
92
93. int CheckingId [get, set]
string ConsumerId [get, set]
DateTime CheckingDate [get, set]
int ItemId [get, set]
string Location [get, set]
ID of checking
ID of consumer
Date of checking
ID of Item
Location of checking
int ProducerId [get, set]
Producer ID
int ProductId [get, set]
Product ID
1.1.1.1.16 CheckingController
Methods
public ActionResult Details()
Add checking log to database
public ActionResult ProductFromProducer (int id)
Get list of related products by producer id
public ActionResult RelatedProduct(int id)
Get list of related products by product id
public JsonResult SaveUserLocation(int CheckId, string location)
Update user location to checking log
public ViewResult Validate(string s)
Validate product item
public ViewResult ViewProduct(int id)
View product info based on product id
93
94. 4.4.1.7 Rating
Figure 30 - Model-View-Controller for Rating
1.1.1.1.17 Rating
Properties
int RatingId [get, set]
ID of rating
int ProductId [get, set]
ID of product
DateTime RatingDate [get, set]
int StarNo [get, set]
string Comment [get, set]
Date of rating
Number of star user rated
Comment of consumer
1.1.1.1.18 RatingController
Methods
public ActionResult Create(int ProductId)
Display a form for rating the checked product
public ActionResult Create(Rating rating)
Rate product
94
95. public JsonResult RateProduct(string productId, string rating)
Rate product
4.4.1.8 Category
Figure 31 - Model-View-Controller for Category
1.1.1.1.19 Category
Properties
int CategoryId [get, set]
string Name [get, set]
ID of category
Name of category
1.1.1.1.20 CategoryController
Methods
public ActionResult Create()
Display a form for creating category
public ActionResult Create(Category category)
Insert category to database
public ActionResult Edit(int id)
Show updating category form based on category Id
public ActionResult Edit(Category category)
Update category
public ActionResult Delete(int id)
Delete category based on category id
95
96. public ActionResult Search(string searchText)
Search category based on search text
public ActionResult Index()
List all categories
4.4.1.9 InfoTemplate
Figure 32 - Model-View-Controller for InfoTemplate
1.1.1.1.21 InfoTemplate
Properties
int InfoTemplateId [get, set]
string Name [get, set]
int ProducerId [get, set]
string Template [get, set]
ID of template
Name of template
Producer ID
Template content
1.1.1.1.22 InfoTempolateController
Methods
public ActionResult Create()
Display a form for creating template
96
97. public ActionResult Create(InfoTemplate template)
Insert template to database
public ActionResult Edit(int id)
Show updating template form based on template Id
public ActionResult Edit(InfoTemplate template)
Update template
public ActionResult Delete(int id)
Delete template based on template id
public ActionResult Search(string searchText)
Search template based on search text
public ActionResult Index()
List all templates
public ActionResult GetInfo(int id)
Get template info based on template ID
4.4.1.10 Request
Figure 33 - Model-View-Controller for Request
1.1.1.1.23 Request
Properties
97
98. int RequestId [get, set]
DateTime CreatedDate [get, set]
ID of request
Request’s created time
int ProducerId [get, set]
Producer ID
int ProductId [get, set]
Product ID
int QRCodeSize [get, set]
Size of QR Code image
string QRPackage [get, set]
File name of generated QR package
int Quantity [get, set]
Quantity of QR Code images in
package
int Status [get, set]
Status of request
string UserName [get, set]
Created by
1.1.1.1.24 RequestController
Methods
public ActionResult Create(int productId)
Display a form for QR Code package creating request
public ActionResult Create(Request request)
Insert request to database
public JsonResult Activation(int id)
Activate all item in package
public JsonResult Deactivation(int id)
Deactivate all item in package
public ActionResult Download(string filename)
Download QR Code package
public ActionResult Search(string searchText)
Search request based on search text
public ActionResult Index()
List all request
public JsonResult GetQRPackage (int id)
Get QRPackage name based on request ID
98
99. 4.4.1.11 Statistic
Figure 34 - Model-View-Controller for CheckingLogs
1.1.1.1.25 CheckingLogs
Properties
int CheckingId [get, set]
DateTime CheckingDate [get, set]
ID of checking
Item’s checked time
int ConsumerId [get, set]
The ID identify consumer
int ProductId [get, set]
Product ID
int ProducerId [get, set]
Producer ID
string ItemId [get, set]
Item ID
string Location [get, set]
The string identify customer’s
location
99
100. 1.1.1.1.26 StatisticController
Methods
public ActionResult ExportToExcel()
Export checking logs to excel file
public JsonResult GetDailyReportByItems(string from, string to)
Get report data for daily items checking
public JsonResult GetDailyReportByProducts(string from, string to)
Get report data for daily products checking
public JsonResult GetMonthlyReportByItems(string from, string to)
Get report data for monthly items checking
public JsonResult GetMonthlyReportByProducts(string from, string to)
Get report data for monthly products checking
public JsonResult GetYearlyReportByItems(string from, string to)
Get report data for yearly items checking
public JsonResult GetyearlyReportByProducts(string from, string to)
Get report data for yearly products checking
public ActionResult Search(string searchText)
Search checking logs based on search text
public ViewResult Index()
View statistic chart
public ViewResult ViewLogs()
List all checking logs
public ViewResult ViewItemCheckingLogs(int itemId)
List all item checking logs based on item ID
100
101. 4.4.2 Encryption algorithm
We can protect the QR code using a hash string in the URL as security checking string. The hash
string would be generated by item ID. We use MD5 as cryptographic hash function, the digest size
will be small enough to store in the URL.
4.5 Sequence Diagram
4.5.1
Login
Figure 35 - Login sequence diagram
4.5.2
Template Management
4.5.2.1 List all Templates
Figure 36 - List all Templates sequence diagram
101
102. 4.5.2.2 Add new Template
Figure 37 - Add new Template sequence diagram
4.5.3
Producers Management
4.5.3.1 List all Producers
Figure 38 - List all Producers sequence diagram
102
103. 4.5.3.2 Add New Producer
Figure 39 - Add new Producer sequence diagram
4.5.3.3 Update Producer Information
Figure 40 - Update Producer Information sequence diagram
103
104. 4.5.3.4 Switch Producer Activation
Figure 41 - Switch Producer Activation sequence diagram
4.5.4
Product Categories Management
4.5.4.1 List all Categories
Figure 42 - List all Categories sequence diagram
104
108. 4.5.5.4 Update Product Information
Figure 49 - Update Product Information sequence diagram
108
109. 4.5.6
Request management
4.5.6.1 Create request for creating QR Code package
Figure 50 Create request for creating QR Code package sequence diagram
4.5.6.2 Process QR Code package creating request
Figure 51 - Process QR Code package creating request sequence diagram
109
110. 4.5.6.3 List all Requests
Figure 52 - List all Requests sequence diagram
4.5.6.4 Download QR Code package
Figure 53 - Download QR Code package sequence diagram
110
111. 4.5.7
Items Management
4.5.7.1 List all Items
Figure 54 - List all Items sequence diagram
4.5.7.2 Switch item’s activation
Figure 55 - Switch item’s activation sequence diagram
111
119. Figure 66 - Producer's account management
1.1.1.1.34 List all Categories
Figure 67 - List all Categories
119
120. 1.1.1.1.35 Create new Category
Figure 68 - Create new Category
1.1.1.1.36 Update Category
Figure 69 - Update Category
1.1.1.1.37 List all Information Template
Figure 70 - List all Information Template
120
121. 1.1.1.1.38 Add new Information Template
Figure 71 - Add new Information Template
121
122. 1.1.1.1.39 List all Products
Figure 72 - List all products UI
1.1.1.1.40 Create items and QR Code images package
Figure 73 - Create items and QR Code images package
122
128. 4.8 Database Design
i
Figure 80 - Database design
4.8.1 Producers
Name
Type
ProducerId
int (identity)
ProducerName
nvarchar(100)
Description
nvarchar (500)
Logo
nvarchar (200)
IsActive
Bit
Allow Nulls
Description
ID of producer
Name of producer
Description of producer
URL of logo of producer
Whether producer is active or not
128