0% found this document useful (0 votes)
52 views40 pages

Assignment1 NguyenTanKhoa 1670

The document discusses the tools and technologies that will be used to design and develop an application. It outlines the design tools used to create UML diagrams, the front-end and back-end technology stacks, tools for source control management, and the software development model. Key tools mentioned include Draw.io for UML design, HTML, CSS and frameworks for front-end, programming languages, databases, and frameworks for back-end, GitHub for source control, and the Waterfall model.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views40 pages

Assignment1 NguyenTanKhoa 1670

The document discusses the tools and technologies that will be used to design and develop an application. It outlines the design tools used to create UML diagrams, the front-end and back-end technology stacks, tools for source control management, and the software development model. Key tools mentioned include Draw.io for UML design, HTML, CSS and frameworks for front-end, programming languages, databases, and frameworks for back-end, GitHub for source control, and the Waterfall model.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Business

Unit number and title Unit 30: Application Development

Submission date 07/29/2023 Date Received 1st submission

Re-submission Date Date Received 2nd submission

Student Name Nguyễn Tấn Khoa Student ID GCD201759

Class GCD1002 Assessor name Nguyen Van Loi

Student declaration

I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that
making a false declaration is a form of malpractice.

Student’s signature Khoa

Grading grid

P1 P2 P3 M1 M2 D1
 Summative Feedback:  Resubmission Feedback:

Grade: Assessor Signature: Date:


Internal Verifier’s Comments:

Signature & Date:


Table Of Contents
CHAPTER 1 - DESIGN TOOLS ............................................................................................................................ IV
1. TOOLS TO DESIGN UML ....................................................................................................................................... IV
2. TOOLS TO DESIGN USER INTERFACE ..................................................................................................................... V
3. CONCLUDE WHICH TOOLS WILL BE USED FOR THE DESIGN OF THE APPLICATION .................................................. VI
CHAPTER 2 - FRONT END TECHNOLOGY STACK ...................................................................................... VI
1. HTML AND CSS .................................................................................................................................................. VI
2. FRAMEWORK ...................................................................................................................................................... VII
CHAPTER 3 - BACK END TECHNOLOGY STACK ......................................................................................... IX
1. BACK END PROGRAMING LANGUAGE ................................................................................................................... IX
2. OPERATING SYSTEM.............................................................................................................................................. X
3. DATABASE ........................................................................................................................................................... XI
4. FRAMEWORK ...................................................................................................................................................... XII
5. IIS WEB SERVER................................................................................................................................................ XIII
CHAPTER 4 - TOOLS FOR SOURCE CONTROL MANAGEMENT ............................................................. XV
1. GITHUB .............................................................................................................................................................. XV
CHAPTER 5 - SOFTWARE DEVELOPMENT MODELS .............................................................................. XVI
1. WATERFALL MODEL .......................................................................................................................................... XVI
CHAPTER 6 - ILLUSTRATE ALL YOUR FINDINGS ON HOW TO USE THESE BY DRAWING THE
OVERVIEW ....................................................................................................................................................... XVIII
CONTENTS ........................................................................................................................................................... XIX
REVISIONS ............................................................................................................................................................. XX
INTRODUCTION (P1) ............................................................................................................................................. 21
DOCUMENT PURPOSE .............................................................................................................................................. 21
PRODUCT SCOPE ...................................................................................................................................................... 21
INTENDED AUDIENCE AND DOCUMENT OVERVIEW ................................................................................................. 21
DEFINITIONS, ACRONYMS AND ABBREVIATIONS ..................................................................................................... 21
REFERENCES AND ACKNOWLEDGMENTS ................................................................................................................. 21
OVERALL DESCRIPTION (P1) ............................................................................................................................. 22
PRODUCT OVERVIEW............................................................................................................................................... 22
PRODUCT FUNCTIONALITY ...................................................................................................................................... 22
SPECIFIC REQUIREMENTS (P1) ......................................................................................................................... 22
FUNCTIONAL REQUIREMENTS (P1) .......................................................................................................................... 22
USE CASE MODEL (P1) ............................................................................................................................................ 23
WIREFLOW (P1) ....................................................................................................................................................... 34
RISK ASSESSMENT ................................................................................................................................................... 39

Table Of Figure
Figure 1 Draw.io ............................................................................................................................ iv
Figure 2 Figma.com ........................................................................................................................ v
Figure 3 Framework ..................................................................................................................... viii
Figure 4 SQl server database ......................................................................................................... xi
Figure 5 Github ............................................................................................................................. xv
Figure 6 Waterfall model ............................................................................................................. xvi
Figure 7 Customer Role ................................................................................................................ 23
Figure 8 Store Owner .................................................................................................................... 28
Figure 9 Admin role ...................................................................................................................... 35
Figure 10 Customer wireflow ....................................................................................................... 38
Figure 11 Store owner wireflow ................................................................................................... 39
Figure 12 Admin wireflow............................................................................................................ 39

Chapter 1 - Design Tools


1. Tools to design UML
To design the UML I decided to choose the website diagram.net, which is an open-source online
diagramming and flowcharting tool that is widely used for creating Unified Modeling Language
(UML) diagrams and a wide range of other diagrams and visualizations. I used it because of its
simplicity, versatility, and collaborative capabilities.

Figure 1 Draw.io

Diagram.net provides an extensive library of shapes, icons, and symbols specific to UML and
other diagramming needs. It supports all the standard UML diagram types, including:

• Class diagrams: Representing the static structure of classes, their attributes, and
relationships.
• Use case diagrams: Illustrating the interactions between actors and the system's
functionalities.
• Activity diagrams: Depicting workflows and processes, showcasing the flow of activities.
• Sequence diagrams: Illustrating the interactions between objects and the order in which
they occur.
• State machine diagrams: Representing the different states of an object and its transitions.
• Component diagrams: Demonstrating the physical and logical components of a system
and their dependencies.
• Deployment diagrams: Illustrating the physical arrangement of hardware components and
software artifacts.

Overall, I choose diagram.net since it’s a versatile and user-friendly web application that
empowers me to create professional-quality UML diagrams and other visualizations for a wide
range of projects and purposes.

2. Tools to design User Interface


To design a user interface I have decided to choose Figma.com as the main platform. Figma
allows me and my teams to work on projects simultaneously in real-time, making it an ideal
choice for remote collaboration and teamwork. My team members can work on the same design
file simultaneously, seeing each other's changes in real-time, which fosters efficient
communication and streamlines the design process.

Figure 2 Figma.com

Key features of Figma include:

• Web-based Platform: Figma is entirely web-based, meaning there's no need for


software installations or updates. Designers can access their projects from any device
with an internet connection, facilitating flexibility and ease of access.
• Vector Editing: Figma offers robust vector editing capabilities, allowing designers to
create scalable and precise UI elements. This ensures that I can adapt to different screen
sizes and resolutions seamlessly.
• Version Control and Collaboration: Figma offers version history, so designers can
track changes, revert to previous versions, and leave comments on specific design
elements. Collaboration is made easy through shared project links, facilitating feedback
and review from stakeholders and clients.
• Plugins and Integrations: Figma has an extensive library of plugins that extend its
functionality. Designers can enhance their workflow by integrating with other popular
design tools and platforms.
• Design Handoff: Figma streamlines the design handoff process by providing developers
with easy access to design specifications, assets, and CSS code snippets, ensuring
smoother communication between designers and developers.
• Security and Permissions: Figma takes data security seriously, offering permissions
settings that control access to design files and ensuring that sensitive data is protected.

3. Conclude which tools will be used for the design of the application
Over all I will choose these two website (diagram.net and figma.com) as my main website to
design UML and user interface since they all provide me with a lot of useful tools to design what
I need. Since they are both website based I don’t need to install any plugins or tool onto my
computer which will save me and my team mates a lot of time, it can also save me a lot of space
which I can use them for future project.

Chapter 2 - Front End technology stack


1. HTML and CSS
HTML definition:

HTML stands for HyperText Markup Language. It is the standard markup language used to
create and design the structure of web pages. HTML utilizes a system of tags and attributes to
define the content and layout of a webpage. These tags, surrounded by angle brackets (<tag>),
are used to mark up elements like headings, paragraphs, images, links, tables, and other elements
on a webpage.

Figure 3 HTML

The primary purpose of HTML is to provide a logical and organized way to present content,
making it accessible and easily interpretable by web browsers. When you load a web page in
your browser, it reads the HTML code and displays the content according to the specified
structure and formatting.
HTML is an essential component of web development and works in conjunction with other
technologies like CSS (Cascading Style Sheets) for styling and JavaScript for interactive
functionality. Together, these three technologies (HTML, CSS, and JavaScript) form the
foundation of modern web development and enable the creation of dynamic and interactive
websites.

CSS definition:

CSS stands for Cascading Style Sheets. It is a style sheet language used to control the
presentation and layout of HTML documents. With CSS, web developers can define how the
content of a webpage should look, including aspects such as fonts, colors, spacing, positioning,
and more. This separation of style from content allows for greater flexibility and consistency in
web design.

Figure 4 CSS

CSS works by applying styles to HTML elements using selectors. A selector targets specific
HTML elements, and then CSS rules are applied to modify the appearance of those elements.
CSS styles are written in a block-like structure, consisting of a property and a value.

The "Cascading" in CSS refers to the way styles are applied. Multiple style rules can target the
same HTML element, and conflicts are resolved based on a set of rules, including specificity and
order of appearance. This allows for a consistent and predictable way to handle style application
across complex web pages.

2. Framework
Bootstrap is a popular front-end framework for web development that simplifies and speeds up
the process of creating responsive and visually appealing websites and web applications. It was
originally developed by Twitter and is now an open-source project maintained by a community
of developers.

The primary goal of Bootstrap is to provide a set of pre-designed HTML, CSS, and JavaScript
components that can be easily integrated into web projects, saving developers the effort of
starting from scratch. It offers a collection of ready-to-use UI elements, such as buttons, forms,
navigation bars, modals, carousels, and more, which can be customized and combined to create a
consistent and professional-looking website.

Figure 5 Framework

Key features of Bootstrap:

Responsive Design: Bootstrap is built with a mobile-first approach, meaning that websites
created with it automatically adapt and look great on various devices, including desktops, tablets,
and smartphones.

Grid System: Bootstrap includes a flexible and responsive grid system, allowing developers to
create a responsive layout with columns and rows that automatically adjust based on the screen
size.

CSS Customization: Bootstrap provides an extensive set of CSS classes and styles that can be
easily customized to match the design requirements of a particular project.

JavaScript Components: In addition to CSS, Bootstrap comes with a range of interactive


JavaScript components, such as dropdowns, modals, tooltips, and more, enhancing the user
experience and functionality of the website.

Browser Compatibility: Bootstrap is designed to be compatible with all major web browsers,
ensuring a consistent experience for users across different platforms.

Using Bootstrap, developers can streamline the development process, as it eliminates the need
for building many common UI components from scratch. However, it's worth noting that
Bootstrap is highly customizable, and developers can modify the default styles and components
to create a unique and tailored look for their projects. This combination of convenience and
flexibility has made Bootstrap a popular choice among developers for creating modern and
responsive web applications.

Chapter 3 - Back End technology stack


1. Back end programing language
C# (pronounced as "C sharp") is a modern, object-oriented programming language developed by
Microsoft. It was introduced in the early 2000s as part of the Microsoft .NET platform and has
since become one of the primary languages used for developing Windows applications, web
applications, games, and more.

Figure 6 C#

Key features and characteristics of the C# programming language:

• Object-Oriented: C# follows the object-oriented programming (OOP) paradigm, which


allows developers to create reusable and structured code by defining classes and objects.
• Type-Safe: C# is a statically-typed language, meaning that all variables and data types
must be explicitly declared at compile-time. This ensures type safety and can help catch
errors early in the development process.
• Platform Independence: C# is commonly used in conjunction with the .NET
framework, which allows C# applications to run on multiple platforms, including
Windows, macOS, and Linux.
• Garbage Collection: C# includes automatic memory management through a garbage
collection mechanism. This feature automatically deallocates memory occupied by
objects that are no longer in use, relieving developers from manual memory management.
• Extensibility: C# supports the concept of inheritance and interfaces, enabling developers
to create classes that can extend or implement existing classes, promoting code reuse and
extensibility.
• LINQ (Language-Integrated Query): C# includes LINQ, which allows developers to
perform data querying and manipulation directly within the language syntax, making it
easier to work with collections and databases.
• Asynchronous Programming: C# has robust support for asynchronous programming
using async and await keywords, allowing developers to write efficient and responsive
applications, particularly for tasks that involve I/O operations.
• Large Standard Library: C# comes with a vast standard library that provides a wide
range of built-in classes and functions for common tasks, making it easier for developers
to accomplish various programming tasks without having to reinvent the wheel.

C# is widely used in various domains, including enterprise software development, game


development (using Unity game engine), web development (with ASP.NET), and cross-platform
mobile app development (using Xamarin). Its popularity and versatility make it an essential
language for many developers and organizations, especially those in the Microsoft technology
ecosystem.

2. Operating system
I chose Microsoft Window as my operating system.

Definition:

A Microsoft operating system (OS) refers to any operating system developed and distributed by
Microsoft Corporation to run on personal computers, servers, and other devices. Microsoft is one
of the world's largest technology companies and has developed several well-known operating
systems over the years. Some of the most notable Microsoft operating systems include:

I choose Microsoft Window as my main operating system because:

• Wide Compatibility: Windows has extensive compatibility with a vast array of


hardware and software, including popular applications, games, and productivity tools.
Most developers prioritize creating software for Windows due to its large user base,
ensuring you have access to a wide range of programs.
• User-Friendly Interface: Windows has a well-established and familiar user interface,
making it easy for both newcomers and experienced users to navigate and use the system
effectively.
• Regular Updates and Support: Microsoft provides regular updates and security patches
to improve performance, fix bugs, and address potential vulnerabilities. This ensures that
your system remains secure and up-to-date with the latest features.
• Tech Support and Documentation: Due to its popularity, you can find ample online
resources, tutorials, and support communities for Windows-related issues, making
troubleshooting and learning easier.

3. Database
I choose SQL server as my database.

Figure 7 SQl server database

Definition:

Microsoft SQL Server is a relational database management system (RDBMS) that supports a
wide variety of transaction processing, business intelligence and analytics applications in
corporate IT environments. Microsoft SQL Server is one of the three market-leading database
technologies, along with Oracle Database and IBM's DB2.

Like other RDBMS software, Microsoft SQL Server is built on top of SQL, a standardized
programming language that database administrators (DBAs) and other IT professionals use to
manage databases and query the data they contain. SQL Server is tied to Transact-SQL (T-SQL),
an implementation of SQL from Microsoft that adds a set of proprietary programming extensions
to the standard language.

Here are some of the key advantages of using SQL Server and why I choose SQL server as my
main database:
Robust and Scalable: SQL Server is designed to handle large and complex databases with high-
performance capabilities. It can efficiently manage and scale up to support the growing needs of
businesses, making it suitable for enterprises of all sizes.

Security Features: SQL Server provides robust security features to protect sensitive data. It
includes encryption, access control, auditing, and authentication mechanisms to ensure data
confidentiality and integrity.

Integration with Microsoft Ecosystem: SQL Server seamlessly integrates with other Microsoft
products, such as Microsoft Office and Azure cloud services. This integration makes it easier to
develop end-to-end solutions within the Microsoft ecosystem.

Business Intelligence and Analytics: SQL Server includes powerful tools like SQL Server
Reporting Services (SSRS), SQL Server Analysis Services (SSAS), and SQL Server Integration
Services (SSIS), which enable businesses to build sophisticated business intelligence and data
analytics solutions.

T-SQL Language: SQL Server uses Transact-SQL (T-SQL), an extension of SQL, which offers
additional programming constructs and capabilities. T-SQL provides a rich set of features,
including stored procedures, triggers, and user-defined functions, allowing for complex data
manipulation and logic implementation.

High Availability: SQL Server offers various high availability options, such as failover
clustering, database mirroring, and Always On Availability Groups, ensuring that your databases
remain accessible even in the event of hardware or software failures.

Backup and Restore Capabilities: SQL Server provides reliable and flexible backup and
restore mechanisms, allowing organizations to create backups of their databases and restore them
in case of data loss or corruption.

Maintenance and Monitoring: SQL Server includes built-in tools for monitoring database
performance, identifying bottlenecks, and optimizing query execution. Additionally, it offers
maintenance plans to automate routine tasks like index optimization and database backups.

Developer-Friendly: SQL Server provides extensive documentation, a user-friendly interface,


and a rich set of development tools, making it easier for developers to work with and manage
databases efficiently.

4. Framework
ASP.NET Core MVC Framework definition:

ASP.NET Core MVC (Model-View-Controller) is a web application framework developed by


Microsoft that allows developers to build dynamic, scalable, and feature-rich web applications. It
is a part of the ASP.NET Core platform, which is an open-source, cross-platform framework for
building modern web applications and services.

I chose ASP.NET Core MVC because of its key features and benefits which can be advantageous
for several reasons:

• Rapid Development: The separation of concerns in ASP.NET Core MVC enables a


clear division of tasks among developers, making it easier to work collaboratively on
different parts of the application. This accelerates the development process, allowing you
to build and iterate on your web application more efficiently.
• Reliable Codebase: The emphasis on testability through separation of concerns and the
support for unit testing facilitate the creation of robust and reliable code. By writing unit
tests for components like controllers and models, you can identify and address bugs early
in the development process, ensuring a more stable application.
• Cross-Platform Deployment: ASP.NET Core's cross-platform compatibility means you
can deploy your application on various operating systems. This flexibility allows you to
choose the hosting environment that best fits your needs, potentially saving on
infrastructure costs and reaching a broader audience.
• High-Performance Web Applications: ASP.NET Core MVC's lightweight and
optimized architecture contribute to high-performance web applications. It can handle
heavy traffic and resource-intensive operations efficiently, leading to faster response
times and an overall smoother user experience.
• Customization and Flexibility: The extensibility features in ASP.NET Core MVC, such
as middleware, filters, and dependency injection, offer developers the ability to customize
the framework's behavior. This flexibility allows you to tailor the application to your
specific requirements and integrate third-party components seamlessly.
• Future-Proofing: ASP.NET Core is part of Microsoft's strategic efforts, and it receives
regular updates and improvements. Choosing ASP.NET Core MVC can help ensure that
your web application remains up-to-date and compatible with emerging technologies,
making it more future-proof.

5. IIS Web Server


Definition:

IIS (Internet Information Services) is a web server software developed by Microsoft that runs on
Windows operating systems. It is used to host and manage websites, web applications, and other
web services on the internet or within an intranet environment. IIS is one of the most popular
web server platforms for hosting ASP.NET web applications and other Microsoft technologies,
though it can also support PHP, Node.js, and other scripting languages.

I’ve considered choosing IIS (Internet Information Services) as my web server software for the
following reasons:
• Seamless Integration with Windows: IIS is tightly integrated with Windows operating
systems, making it the natural choice for hosting web applications on Windows servers.
This integration allows for easy configuration, management, and monitoring of IIS
through familiar Windows Server tools.
• Support for Microsoft Technologies: IIS is optimized for hosting ASP.NET web
applications and other Microsoft technologies, providing excellent performance and
compatibility with these technologies. If you are developing applications using
ASP.NET, IIS offers an ideal hosting environment.
• Ease of Management and Configuration: IIS comes with a user-friendly graphical
interface and command-line tools for managing and configuring web applications and
services. This makes it relatively straightforward for system administrators to set up and
maintain websites and applications.
• Security Features: IIS offers robust security features, including SSL/TLS support for
encrypted communication, various authentication methods, and access control to protect
web applications from unauthorized access and potential threats.
• Scalability and Load Balancing: IIS is designed to handle high levels of web traffic and
can be used in load-balanced environments to distribute incoming requests across
multiple servers. This scalability ensures that your web applications can handle increased
user demands and maintain optimal performance.
• Support for Various Scripting Languages: While IIS is known for its support of
ASP.NET, it can also host web applications built with PHP, Node.js, and other scripting
languages. This flexibility allows you to use the language that best suits your
development needs.
• Performance and Caching: IIS includes features like content compression and caching,
which can significantly improve web page loading times and reduce server load, resulting
in a better user experience.
• Monitoring and Logging: IIS provides detailed logging and monitoring capabilities,
allowing you to track web requests, errors, and other events. These logs are valuable for
troubleshooting and performance analysis.
• Extensibility: IIS supports extensions and modules that allow you to add additional
functionality to the web server. This extensibility enables you to integrate with third-
party tools and services, expanding the capabilities of your web applications.
• Microsoft Support and Updates: As a Microsoft product, IIS benefits from regular
updates, security patches, and ongoing support, ensuring that your web server remains
up-to-date and secure.
Chapter 4 - Tools for source control management
1. GitHub
GitHub is a web-based platform and service that provides hosting for software development and
version control using the Git distributed version control system. It allows developers to
collaborate, manage, and track changes to their codebase efficiently. GitHub offers various
features and tools that simplify the development workflow and foster collaboration among
developers and teams.

Figure 8 Github

I decided to choose GitHub because:

• Version Control: GitHub is built on top of Git, a distributed version control system.
Version control allows developers to track changes made to their code over time, making
it easy to revert to previous versions, merge changes from different contributors, and
collaborate on code seamlessly.
• Repositories: GitHub hosts code repositories, which are essentially collections of files
and folders that make up a project. Each repository is associated with a specific project
and contains the full history of changes made to the project's codebase.
• Collaboration and Teamwork: GitHub facilitates collaboration among developers and
teams by providing tools for code review, issue tracking, and project management.
Multiple developers can work on the same repository concurrently, contributing their
changes through pull requests.
• Pull Requests: Pull requests (PRs) are a core feature of GitHub that allow developers to
propose changes to a repository. Other team members can review the changes, provide
feedback, and approve or reject the proposed modifications before merging them into the
main codebase.
• Issues and Bug Tracking: GitHub includes an issue tracking system, where developers
and users can report bugs, suggest enhancements, and discuss project-related topics.
Issues can be tagged, prioritized, and assigned to specific team members for resolution.
• GitHub Actions: GitHub Actions is a powerful automation tool that allows developers to
create custom workflows and automate various tasks, such as building, testing, and
deploying applications.
• Integration and Extensions: GitHub supports integrations with various third-party tools
and services. Developers can use GitHub Marketplace to find and install extensions that
enhance the development process and add additional functionality to their repositories.
• Documentation and Wikis: GitHub provides a wiki feature that allows developers to
create and maintain project documentation collaboratively. This helps in keeping project-
related information organized and accessible to contributors and users.
• Community and Open Source Development: GitHub hosts a vast community of
developers and open-source projects. It fosters a culture of collaboration and sharing,
making it a hub for open-source software development.

Chapter 5 - Software Development Models


1. Waterfall model
The Waterfall Model is a traditional and linear software development methodology that follows a
sequential, step-by-step approach to project management. It is one of the earliest software
development models and is characterized by its rigid and structured nature. In the Waterfall
Model, the development process progresses in a downward, cascading manner, similar to a
waterfall, with each phase dependent on the completion of the previous one.

Figure 9 Waterfall model


The Waterfall Model, despite its limitations, does offer some advantages in certain scenarios.
Here are some of its advantages and why I choose it:

• Clarity and Structure: The Waterfall Model provides a clear and well-defined structure
for the development process. Each phase has specific deliverables and goals, making it
easier to plan and manage the project.
• Easy to Understand and Use: The model is simple and easy to understand, even for
those new to software development methodologies. Its sequential nature makes it
straightforward to follow.
• Documentation: Due to its linear approach, the Waterfall Model emphasizes
comprehensive documentation at each phase. This documentation can be valuable for
future reference, maintenance, and knowledge transfer.
• Control and Management: The model allows for better project control and management
since progress can be measured at each phase. It is easier to identify deviations from the
plan and take corrective actions.
• Suitable for Small Projects: The Waterfall Model can be suitable for small projects with
well-defined and stable requirements. In such cases, the simplicity and structured
approach can be advantageous.
• Clear Milestones: The model has distinct milestones (end of each phase), which can help
stakeholders assess the project's progress and align expectations.
• Client Engagement: With its well-defined requirements and design phases, the Waterfall
Model can be useful when working with clients who prefer a fixed scope and clear
project documentation.
• Low Requirement for Customer Involvement: The Waterfall Model requires less
customer involvement during the development process compared to more iterative
models, which can be preferable in certain situations.
Chapter 6 - Illustrate all your findings on how to use
these by drawing the overview

Software Requirements Specification

for

<FPT Project>

Prepared by

Nguyễn Tấn Khoa GCD201759 Khoantgcd201759


Nguyễn Mạnh Ngọc Khánh GCD210430 Khanhmngcd210430
Mai Trần Phước Linh GCD201386 Linhmtpgcd201386

Instructor: Nguyen Van Loi

Course: 1670

Date: 07/29/2023
Contents
Contents
CHAPTER 1 - DESIGN TOOLS ............................................................................................................................ IV
1. TOOLS TO DESIGN UML ....................................................................................................................................... IV
2. TOOLS TO DESIGN USER INTERFACE ..................................................................................................................... V
3. CONCLUDE WHICH TOOLS WILL BE USED FOR THE DESIGN OF THE APPLICATION .................................................. VI
CHAPTER 2 - FRONT END TECHNOLOGY STACK ...................................................................................... VI
1. HTML AND CSS .................................................................................................................................................. VI
2. FRAMEWORK ...................................................................................................................................................... VII
CHAPTER 3 - BACK END TECHNOLOGY STACK ......................................................................................... IX
1. BACK END PROGRAMING LANGUAGE ................................................................................................................... IX
2. OPERATING SYSTEM.............................................................................................................................................. X
3. DATABASE ........................................................................................................................................................... XI
4. FRAMEWORK ...................................................................................................................................................... XII
5. IIS WEB SERVER................................................................................................................................................ XIII
CHAPTER 4 - TOOLS FOR SOURCE CONTROL MANAGEMENT ............................................................. XV
1. GITHUB .............................................................................................................................................................. XV
CHAPTER 5 - SOFTWARE DEVELOPMENT MODELS .............................................................................. XVI
1. WATERFALL MODEL .......................................................................................................................................... XVI
CHAPTER 6 - ILLUSTRATE ALL YOUR FINDINGS ON HOW TO USE THESE BY DRAWING THE
OVERVIEW ....................................................................................................................................................... XVIII
CONTENTS ........................................................................................................................................................... XIX
REVISIONS ............................................................................................................................................................. XX
INTRODUCTION (P1) ............................................................................................................................................. 21
DOCUMENT PURPOSE .............................................................................................................................................. 21
PRODUCT SCOPE ...................................................................................................................................................... 21
INTENDED AUDIENCE AND DOCUMENT OVERVIEW ................................................................................................. 21
DEFINITIONS, ACRONYMS AND ABBREVIATIONS ..................................................................................................... 21
REFERENCES AND ACKNOWLEDGMENTS ................................................................................................................. 21
OVERALL DESCRIPTION (P1) ............................................................................................................................. 22
PRODUCT OVERVIEW............................................................................................................................................... 22
PRODUCT FUNCTIONALITY ...................................................................................................................................... 22
SPECIFIC REQUIREMENTS (P1) ......................................................................................................................... 22
FUNCTIONAL REQUIREMENTS (P1) .......................................................................................................................... 22
USE CASE MODEL (P1) ............................................................................................................................................ 23
WIREFLOW (P1) ....................................................................................................................................................... 34
RISK ASSESSMENT ................................................................................................................................................... 39
Revisions
Version Primary Author(s) Description of Version Date Completed
Draft Type Full Name Information about the revision. This table does 00/00/00
and not need to be filled in whenever a document is
Number touched, only when the version is being upgraded.
Introduction (P1)
Document Purpose
FPT aims to capitalize on the advancements of 4.0 technology by establishing a specialized e-commerce
platform dedicated to selling books. They have tasked us with creating this website, which will serve as a
marketplace for buying and selling various types of books. The project targets two main user roles: buyers
and sellers. The primary objective is to develop a profitable online business for FPT centered around book
sales.

Product Scope
FPT intends to develop a website platform dedicated to online book sales, essentially functioning as an
online bookstore. This software will be made available to bookstores, allowing them to integrate it with
their existing websites. With the release of the FPT Book software, bookstores will have a powerful tool to
efficiently manage book sales and transactions.

Intended Audience and Document Overview


All customers and business partners utilize the product for its intended purpose, making all relevant
documentation accessible to project managers, product developers, and end-users.

The remainder of this Software Requirements Specification (SRS) includes the following content:

• The next chapter serves as a comprehensive summary and provides an overview of the product's
features. Informal specifications are also included, forming the basis for the detailed requirements
presented in the subsequent chapter.
• The third chapter, titled "Specifications," is geared towards developers and offers a technical
breakdown of the product's features.

Definitions, Acronyms and Abbreviations


• SRS : Software Requirements Specification
• MVC: Model – View – controller
• HR : Human Resource
• HTML: HyperText Markup Language
• CSS: Cascading Style Sheets

References and Acknowledgments


Size: International standard paper size A4 (297x210mm) should be used.

Page number: Page should be numbered consecutively and clearly. (Page No. Alignment-Middle,) Page
No format on title page, certificates, and acknowledgement, abstract and table of content-Roman-I, II, III.
Page No. format from Chapter 1 1,2,3.
Margin: Top 1.0”, Bottom 1.0” Left 1.5” Right 1.0”

Line spacing: 1.5

Font: Times New Roman

Figure & Table: Every Figure or table should have caption.

Figure caption font size -10(bold), Alignment-Middle, figure caption should be below the figure.

Overall Description (P1)


Product Overview
The completion of this project will mark a significant advancement for FPT Corporation in the 4.0 era. As
a specialized website for selling books, it holds the potential to become one of the leading and prosperous
online bookstores in Vietnam. Customers seeking quality reading material will find satisfaction with the
products offered. Our commitment lies in continuously expanding the e-commerce site as books are an
infinite source of knowledge, and we believe in fostering a platform that caters to readers' needs.

Product Functionality
The system has three level of accessing models:

Level of admin: Admin

Lever of manage: Store Owner

Level of user: Customer

Specific Requirements (P1)


Functional Requirements (P1)
F1: The system should handle login information for consumers and display a main screen with
comprehensive product information.

F2: The Profile Screen should allow users to view all their orders and client profiles.

F3: The Register Screen must enable customers without an existing application account to create one.

F4: The checkout screen should display detailed information about the item, including its title, description,
price, category, and quantity.
F5: The Help Screen should present a list of customer service topics.

F6: Upon logging out, the application should redirect the user back to the home screen.

F7: The store owner should be able to log in to the system from the program's home page.

F8: Users should have the option to log in through the program's opening page.

F9: The software must allow store owners to add, modify, and remove book categories.

F10: Business owners should have access to all customer order records.

F11: Store owners can assign one additional category to a book.

Use Case Model (P1)


Customer Role:

Figure 10 Customer Role

Use case 1 : Login

Use Case ID 1
Use Case Name Customer Login
Description As a customer or a user I must be able to login
Actor(s) Customer
Priority Depends on the Customer
Trigger Users who want to log in to FPT Book application
Pre-Condition(s): User accounts have already been set up and authorized for use.

When users log in, their devices are already connected to the internet.
Individual has successfully signed into the program.
Post-Condition(s):
Successful logging is noted by the system in Activity Log.
Basic Flow Users access FPT Book website
User chooses login method with FPT Book account
User enters FPT Book account and selects login button
The system authenticates the login information successfully and allows the
User to access the application
The system records successful logging in Activity Log.
Alternative Flow None
Exception Flow The system validates the login failed and displays a message.
User proceeds to login again
Non-Functional The user's password must be hashed with MD5
Requirement

Use case 2 : Logout

Use Case ID 2
Use Case Name Logout
Description I want to log out of the website as a customer
Actor(s) Customer
Priority It is up to the Customer
Trigger Customer who want to log out of the website
• Customer must have a logged in account
Pre-Condition(s): • Customer account must be verified
The customer’s device is already connected to the internet when logging out
Post-Condition(s): Customer successfully logged out of the app
1. Customer accesses the website
2. Customer log out of the account
Basic Flow
3. Customer clicks confirm logout
4. The system records successful logout from Activity Log
Alternative Flow none
Exception Flow none
Business Rules none
Non-Functional User's password must be hashed with MD5
Requirement
Use case 3 : Register

Use Case ID 3
Use Case Name Register
Description Users who wish to use the FPT Book application but do not have an account
yet.
Actor(s) Customer
Priority It is up to the Customer
Trigger Users interested in using the FPT Book application.
The user does not have an existing account, but their device is already
Pre-Condition(s): connected to the internet during the account creation process.
Users input the required personal information into the application. Upon
Post-Condition(s):
successful completion of the registration, the system logs this event as a
successful registration.
1. Users open the FPT Book application.
2. The user selects the preferred method for creating an FPT Book account.
Basic Flow 3. The user provides the necessary information to complete the registration and
create the account.
4. The system validates the user's entered information, and upon successful
registration, it notifies the user of the successful account creation.
Alternative Flow none
Exception Flow none
Business Rules Each phone number or email address is restricted from registering more than
one account.
Non-Functional
none
Requirement

Use case 4: See Profile

Use Case ID 4
Use Case Name Access account info
As a user you have the ability to view and edit your account information.
Description
Additionally, you can access a list of all your past orders.
Actor(s) Customer
Priority It is up to the Customer
In the FPT Book application, users can view and edit their personal
Trigger information.
They also have access to a list of all their past orders.
Authorized users, who already have an account, successfully log in to the
Pre-Condition(s): FPT Book application.
The user's device is connected to the internet at the time of login.
Post-Condition(s): none
Basic Flow 1. Users open the FPT Book website.
2. Users navigate to the section displaying their personal information within the
FPT Book website.
3. The user's information is presented on the screen.
4. Users have the option to edit their information if desired.
5. Users can choose to view a comprehensive list of all their orders on the FPT
Book platform.
Alternative Flow none
Exception Flow none
Business Rules Users can view and edit their pre-ordered orders, personal information, and
account details within the FPT Book application. They do not have access to
view or edit information related to other accounts.
Non-Functional none
Requirement

Use case 5 : Help Screen

Use Case ID 5
Use Case Name Help screen
Description Present a list to assist users.
Actor(s) Customer
Priority It is up to the Customer
Trigger The FPT Book application provides a help list to assist users.
Authorized users, who have an existing account, successfully log in to the FPT
Pre-Condition(s): Book application.
The user's device is connected to the internet during this login process.
Post-Condition(s): none
1. Users open the FPT Book application.
2. Users choose the "Help" screen within the FPT Book application.
Basic Flow
3. The help list display screen will present users with options to select the
specific item they need assistance with.
Alternative Flow none
Exception Flow none
Business Rules none
Non-Functional
none
Requirement

Use case 6: See Book

Use Case ID 6
Use Case Name Display book
The feature of adding books to the user's cart.
Description
Actor(s) Customer
Priority It is up to the Customer
Trigger Users desire to include their favorite books in the cart for purchase.
Pre-Condition(s): The user has an existing account and has successfully logged in.
When the user performed the action, their device was connected to the internet.
Additionally, users have the authorization to carry out various functions within
the application.
Post-Condition(s): none
Basic Flow 1. Users open the FPT Books application.
2. Users choose a book from the available options and add it to the cart within
the FPT Books app.
3. Users are prompted to confirm their action before adding the selected
product to the cart.
Alternative Flow none
Exception Flow none
Business Rules none
Non-Functional none
Requirement

Use case 7: Check out

Use Case ID 7
Use Case Name Check out
The displayed screen exhibits the title, description, price, category, and
Description selected quantity of the item chosen by the customer.

Actor(s) Customer
Priority It is up to the Customer
Users have the ability to view the information of the selected items they have
Trigger
chosen.
The user has successfully logged in with an existing account, and their device was
connected to the internet during the action. Authorized users have the permission to
Pre-Condition(s): carry out various functions within the application.

Post-Condition(s): none
1. Users open the FPT Book application.
2. Users select the "Checkout" option within the FPT Book application.
3. Users have the option to add or remove selected books in the checkout
Basic Flow
process.
4. Before performing actions such as adding, updating, searching, or deleting a
product, users are required to obtain permission or confirmation.
Alternative Flow none
Exception Flow none
Users can view the items and their respective prices of previously selected
Business Rules
products.
Non-Functional none
Requirement

Store owner Role


Figure 11 Store Owner

Use Case 8 : Create new category

Use case ID 8
Use case Name Create new category
Description The store owner has the desire to create a new category.
Actions(s) Store owner
Priority It is up to the Store owner
Trigger The store owner can create a new category by clicking on the "Create
Category" button within the manage category page.
Pre-Conditions(s) Before the store owner can create a new category, they need to log in
successfully to the system, ensure their device is connected to the internet, and
confirm that the database contains a "Category" table.
Post- Upon successful creation, the store owner has added a new category to the
Conditions(s) system's database.
Basic Flow 1. Click on the "Create Category" button on the "Manage Category" page.
2. Navigate to the "Create Category" page.
3. Input the desired Category Name and Description.
4. The system validates the input fields to ensure they are valid.
5. Click the "Create" button to proceed.
5. The new category is successfully created, and the system adds it to the
database with the provided information.
6. After successful creation, return to the "Category Management" page.
Alternative Flow None
Exception Flow The system has an existing category authentication process that ensures new
categories are unique and do not match any existing ones.

Use case 9: Update category

Use case ID 9

Use case Name Update category

Description The store owner intends to update the category information within the system.

Actor(s) Store owner

Priority It is up to the Store owner

Trigger The store owner can update the category by clicking on the "Update" button located
on the "Manage Category" page.

Pre-Condition(s) For the store owner to update the category in the system, they need to log in
successfully, have their device connected to the internet, and ensure that the
database includes a "Category" table.

Post-Condition(s) Upon successful updating, the store owner has modified the category, and the
changes are saved to the system's database.

Basic Flow 1. Click on the "Update" button on the "Manage Category" page.

2. Navigate to the "Update Category" page.

3. Input the desired Category Name and Description with the updated information.

4. Click the "Confirm" button to proceed with the update.

5. After successful confirmation, return to the "Category Management" page.

Alternative Flow None


Exception Flow If a category that does not exist is requested, the system will return the HTTP Not
Found page, indicating that the requested category was not found in the database.

Use Case 10 : Delete Category

Use case ID 10

Use case Name Delete Category

Description The store owner wishes to delete the category profile from the system.

Actor(s) Store owner

Priority It is up to the Store owner

Trigger Select the category they want to delete from the list.

Click on the "Delete" button to remove the selected category from the system.

Pre-Condition(s) The store owner must log in successfully to the system with authorized credentials.

The store owner's device must be connected to the internet.

The database must include a "Category" table to manage category information.

The specified category must exist in the database.

Post-Condition(s) Upon successful deletion by the employee, the category is removed from the
system's database.

Basic Flow 1. Choose the category you want to delete from the list.

2. Click on the "Delete" button to initiate the deletion process.

3. The category is successfully deleted from the system's database.

4. After successful deletion, return to the category page.

Alternative Flow None

Exception Flow Attempting to delete a category that does not exist will result in the server returning
the HTTP Not Found page.
Use Case 11: Create new Book

Use case ID 11

Use case Name Create new Book

Description The store owner desires to add new books to the system.

Actor(s) Store owner

Priority It is up to the Store owner

Trigger The store owner can create a new book by clicking on the "Create Book" button
within the Manage Book page.

Pre-Condition(s) Successfully log in to the system with authorized credentials.

Have the device connected to the internet.

Ensure that the database includes a "Book" table to store and manage book
information.

Post-Condition(s) Upon successful creation, the store owner has added a new book to the system's
database.

Basic Flow 1. Click on the "Create Book" button on the "Manage Category" page.

2. Navigate to the "Create Book" page.

3. Input the desired Book Name, Description, author, ISBN, and Category with the
required information.

4. The system validates the input fields to ensure they are valid.

5. Click the "Create" button to proceed.

6. The new book is successfully created, and the system adds it to the database with
the provided information.

7. After successful creation, return to the "Book Management" page.

Alternative Flow None

Exception Flow The system ensures that new books created are unique and do not match any
existing books through an authentication process.
Use Case 12 : Update Book

Use case ID UC-12

Use case Name Update Book

Description The store owner intends to update the book information within the system.

Actor(s) Store owner

Priority It is up to the Store owner

Trigger The store owner can update a book by clicking on the Update button on the Manage
Book page.

Pre-Condition(s) The store owner must log in successfully to the system with authorized credentials.

The store owner's device must be connected to the internet.

The database must include a "Book" table to store and manage book information.

Post-Condition(s) Upon successful updating by the store owner, the book's information is modified,
and the changes are saved to the system's database.

Basic Flow 1. Click on the Update button on the Manage Book page.

2. Navigate to the "Update Book" page.

3. Input the desired Book Name and Description with the updated information.

4. Click the "Confirm" button to proceed with the update.

5. After successful confirmation, return to the "Book Management" page.

Alternative Flow none

Exception Flow If the store owner attempts to update a book that does not exist in the system, the
server will return the HTTP Not Found page, indicating that the requested book
was not found in the database.

Use Case 13 : Delete Book


Use case ID 13

Use case Name Delete Book

Description The store owner intends to delete book profile within the system.

Actor(s) Store owner

Priority It is up to the Store owner

Trigger The store owner can delete a book by choosing the book they want to delete then
clicking the Delete button

Pre-Condition(s) First the store owner has to login into their account

The device must be connected to the internet

The Book table must be included in the database

The book that the store owner want to delete must be included in the database

Post-Condition(s) The employee has successfully deleted the Book.

The Book is deleted from the system database.

Basic Flow Choose the Book they want to delete and click Delete button.

Successfully deleted Book. In the database, the Book has been deleted from the
database.

Return the category page

Alternative Flow None

Exception Flow If the store owner attempts to delete a book that does not exist in the system, the
server will return the HTTP Not Found page, indicating that the requested book
was not found in the database.

Business Rules Do not delete non-existent Book

Non-Functional None
Requirement

Use Case 14 : View record ordered


Use case ID 14

Use case Name View record ordered

Description The record ordered can be viewed by the store owner

Actor(s) Store owner

Priority It is up to the Store owner

Trigger By clicking the View order of the user they want to view the record the store owner
can see that user record order

Pre-Condition(s) The store owner must be logged into the website

The device must be connected to the internet

The user table must be included in the database

The database should have the book

Post-Condition(s) The employee has successfully view the record ordered.

Basic Flow 1. Choose user they want to view record ordered and click view button.

2. Successfully view record ordered. In the database, the Book has been show

Alternative Flow None

Exception Flow The category that does not exist will return the HTTP Not Found page

Business Rules Do not view non-existent record

Non-Functional none
Requirement

Admin Role
Figure 12 Admin role

Use Case 15: Manage Customer

Use case ID 15

Use case Name Manage Customer

Description The admin intend to manage the customer in the database

Actor(s) Admin

Priority It is up to the Admin

Trigger The Admin can manage the customer like, edit customer information customer.

Pre-Condition(s) First the admin has to login into their account

The device must be connected to the internet

The Customer table must be included in the database

The customer that the admin want to manage must be included in the database

Post-Condition(s) The admin has successfully managed customer.


The customer is edited, deleted from the system database.

Basic Flow 1. Choose the customer they want to manage and click manage button.

2. Admin can view, edit the customer.

3. Successfully managed customer. In the database, the customer has been edited or
changed from the database.

Alternative Flow None

Exception Flow If the admin attempts to manage a customer that does not exist in the system, the
server will return the HTTP Not Found page.

Business Rules Do not manage non-existence customer

Non-Functional None
Requirement

Use Case 16: Manage store owner

Use case ID 16

Use case Name Manage store owner

Description The admin intend to manage the store owner in the database

Actor(s) Admin

Priority It is up to the Admin

Trigger The Admin can manage the store owner like, view store owner information, change
password.

Pre-Condition(s) First the admin has to login into their account

The device must be connected to the internet

The Store owner table must be included in the database

The store owner that the admin want to manage must be included in the database

Post-Condition(s) The admin has successfully managed store owner.

The store owner is edited from the system database.


Basic Flow 1. Choose the store owner they want to manage and click manage button.

2. Admin can view, edit the store owner.

3. Successfully managed store owner. In the database, the store owner has been
edited or changed from the database.

Alternative Flow None

Exception Flow If the admin attempts to manage a store owner that does not exist in the system, the
server will return the HTTP Not Found page.

Business Rules Do not manage non-existence store owner

Non-Functional None
Requirement

Use Case 17: Manage store owner

Use case ID 17

Use case Name Handle request

Description The admin intend to manage the request sent by the store owner

Actor(s) Admin

Priority It is up to the Admin

Trigger The Admin can manage the request from the store owner like accept or deny the
request.

Pre-Condition(s) First the admin has to login into their account

The device must be connected to the internet

The request table must be included in the database

The request that the admin want to manage must be included

Post-Condition(s) The admin has successfully handle the request.

Basic Flow 1. Choose the request they want to handle.

2. Admin can accept or deny the request.


3. Successfully handle the request.

Alternative Flow None

Exception Flow If the admin attempts to handle a request that does not exist in the system, the
server will return the HTTP Not Found page.

Business Rules Do not manage non-existence request.

Non-Functional None
Requirement

Wireflow (P1)
User Interfaces

Tool used to develop the system consist of :

Front-end : Use HTML , CSS , Bootstrap

Back-end : Use Programing language C#

Database : SQL Server

Wireflow of customer:

Figure 13 Customer wireflow


Wireflow of store owner:

Figure 14 Store owner wireflow

Wireflow of admin:

Figure 15 Admin wireflow

Risk Assessment
No. Risk Level Description Solution
1 Problem of human resources High The lack of human resources Ensuring good
leads to the inability to company human
complete the project well resources for the
project

2 The issue of solidarity and Normal Team members delay or fail Increasing sense
responsibility of the to complete assigned work of responsibility
members affecting other team for team members
members.
3 The problem is related Low When members have Strengthen
to internal conflicts conflicts with each other, it relationships
will slow down the work among team
progress. members
4 Over budget High Due to budget constraints or Research and list
budget predictions your exact,
incorrectly planning specific budget.
There should also
be an additional
cost

5 Extend the time to complete High Project completion time is Evaluate properly
the project slower than expected time. This the progress of the
delay can be caused by many project and
different reasons: lack of complete the
budget, problems in teamwork planned phases
... according to the
plan. Expect
possible bad
situations such as
team member
sickness, disease,
computer failure
6 Conflicts when using git. Normal This is very common in Need to train the
projects with many people and members on the
members who have not yet git working
grasped the workflow with git. process and follow
the correct process
that the team set
out before doing
the project

You might also like