1. Trang chủ
  2. » Công Nghệ Thông Tin

1670 assignment 1 (pass)

47 61 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Analysis and Design Solution for a Given Problem
Tác giả Đào Vĩnh Khang, Lê Thanh Tùng, Trần Thái Hòa
Trường học University of Greenwich
Chuyên ngành Application Development
Thể loại assignment
Năm xuất bản 2023
Thành phố London
Định dạng
Số trang 47
Dung lượng 2,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1. Introduction (0)
    • 1.1. Document Purpose (0)
    • 1.2. Product Scope (12)
    • 1.3. Intended Audience and Document Overview (12)
    • 1.4. Definitions, Acronyms and Abbreviations (13)
  • 2. Overall Description (13)
    • 2.1. Product Overview (13)
    • 2.2. Product Functionality (13)
    • 2.3. Risks related to the project (14)
    • 2.4. Assumptions and Dependencies (14)
  • 3. Specific Requirements (14)
    • 3.1. External Interface Requirements (14)
    • 3.2. Functional Requirements (16)
    • 3.3. Use Case Model (16)
      • 3.3.1. Use Case #1 (Course Management Function - UC 1) (17)
      • 3.3.2. Use Case #2 (Trainer Management Function - UC 2) (20)
    • 3.4. Other Non-functional Requirements (22)
  • 1. Design tools (27)
    • 1.1. UML definition (27)
    • 1.2. Some popular UML diagrams (27)
    • 1.3. Use the UML tool to give examples (28)
  • 2. Development tools and techniques (29)
    • 2.1. Cloud provider (29)
    • 2.2. Development languages / Framework (32)
      • 2.2.1. Programming languages (32)
      • 2.2.2. Framework (33)
    • 2.3. Database servers (36)
    • 2.4. Software Development Models (37)

Nội dung

1670 assignment 1 (pass) 1670 assignment 1 (pass) 1670 assignment 1 (pass) 1670 assignment 1 (pass) 1670 assignment 1 (pass) 1670 assignment 1 (pass) 1670 assignment 1 (pass) 1670 assignment 1 (pass) 1670 assignment 1 (pass) FPT GREENWICH

Introduction

Product Scope

This educational software is designed to streamline the management of student accounts, instructors, course catalogs, and topics It facilitates the assignment of topics to courses and instructors to both topics and courses, ensuring seamless integration for effective communication among all users This enhances interaction and collaboration within the educational environment.

Intended Audience and Document Overview

This document is aimed at system users, including administrators, training staff, and trainers, as well as software design professionals such as software engineers, technical architects, and project managers It outlines the design and implementation of a web-based system specifically for managing the "Training" activities within FPT's internal training program.

Internal trainer is defined as an employee who was delegated by manager or volunteer with personal willingness to conduct education as additional task to cover business needs.

Definitions, Acronyms and Abbreviations

Internal training is the practice of teaching learners within an organisation by learning and development officers It refers to commercial operations and corporate learning rather than pure-learning institutions

Training involves teaching and developing skills, knowledge, and fitness related to specific competencies, with the goal of enhancing capability, capacity, productivity, and performance It is fundamental to apprenticeships and serves as the foundation for programs at technical colleges and polytechnics Beyond initial training for a trade or profession, ongoing training is essential for maintaining and upgrading skills throughout one's career, often referred to as professional development Additionally, training encompasses the development of physical fitness for specific competencies in areas such as sports, martial arts, and military applications.

In higher education across countries like Canada, Nigeria, and the United States, a course is a teaching unit that spans one academic term, guided by one or more instructors and attended by a set group of students Each course focuses on a specific subject and follows a structured schedule of weekly lessons or classes Upon successful completion, students typically earn a grade and academic credit.

Overall Description

Product Overview

FPT Company is set to enhance its internal training activities by developing a new system aimed at improving training quality This innovative web application will replace the traditional training management process and will be utilized by the human resources department, including administrators, training staff, trainers, and trainees The system will facilitate the management of trainee accounts, trainers, course categories, courses, topics, and the assignment of topics to courses, trainers to topics, and trainees to courses.

Product Functionality

There are main levels of access:

The project will enable users to log in through the application's homepage, requiring authentication upon entry into the system.

If he does not have an account, create an account The data when the user logs in will be saved to the database

Users have the ability to create, edit, and delete their accounts when they are no longer needed, ensuring efficient resource loading Upon logging in, the system assigns roles to users, which must be utilized appropriately If incorrect information is displayed after logging in, users can easily update and correct it Additionally, users can access their learning paths, including the date and time of the content Therefore, the functions for updating and correcting information are crucial for the success of the project.

Risks related to the project

This means that restrictions on authenticated users are not properly enforced, leading to one user able to see other users' files or modify other users data

Older or misconfigured XML processors can evaluate external entity references in XML documents, potentially exposing internal files This vulnerability may lead to serious security risks, including internal port scanning, remote code execution, and denial of service attacks.

This is where sensitive data is not encrypted in transit or at rest, leaving it exposed for attackers to steal or modify

If authentication and session management is implemented wrong, attackers can compromise passwords, keys or session tokens and assume other users' identities

Untrusted datasets can be exploited by attaching them to commands or queries in SQL, NoSQL, OS, or LDAP, leading to unauthorized command execution or data access by the interpreter.

Assumptions and Dependencies

When designing, developing, and testing software, developers must consider the specific operating environment for deployment The software should be tailored to function effectively within that environment Additionally, software development often relies on third-party tools and services for various aspects such as design, marketing, and analytics.

Specific Requirements

External Interface Requirements

Welcome to the home page, where users can enter the correct web address to access essential information about their roles This page features system information tabs, including options to log in or register for a system account, as well as a dedicated contact information section for support inquiries.

The account registration page allows users to enter their email for registration, create a password, and confirm its accuracy Lastly, users must select the appropriate role for their account.

On the system login page, users must enter their registered email and password to log in successfully If the login attempt fails, they can return to the registration page to re-subscribe.

Functional Requirements

Our system generates user request pages that allow users to select their appropriate roles Typically, uploaders are required to register prior to editing their information to prevent duplicate listings of the same property.

Each user role has a different function

Trainers and Trainees: can view personal information editing courses

To enhance staff training, the course will be revised to update information and accommodate a larger number of students Administrators will benefit from improved system accessibility, allowing them to easily add, delete, and edit both teachers and students.

Use Case Model

Use Case diagram for course management functionality

Use Case diagram for trainer management functionality

3.3.1 Use Case #1 (Course Management Function - UC 1)

Use Case Name: Course Management

Description: As a manager, I want to use the system's course management functionality to create and assign courses to trainers and trainees

Actor(s): User (Administrator, Training staff)

Trigger: User wants to create a new training course for FPT's system

• User accounts have been authorized

• User's account has been logged into the system

• The user's device is already connected to the internet when performing the function

• User successfully created a new course for the system

• The system records successful create new course in the Activity Log

Alternative 1: The administrator wants to delete unnecessary courses to easily for manage other courses

Step No Actor System Notes

1 The administrator clicks the link to create a new course on the home screen of the system

Displays the Create New Course screen for the administrator

See Create New Course screen layout design below

2 Enter all the information for the course such as Course Name, Course Description, Course Date

Verify information about the course

3 Click the create new course button

Show newly created course in course management screen

See Course Management screen layout design below

Alternative 2: The administrator wants to assign trainers to the courses in the system

Step No Actor System Notes

1 Admin clicks on the link to the course management screen

Displays the Course Management screen for the administrator

See Course Management screen layout design below

2 Admins search for the course they want to delete from the system

Show course information See Course Information screen layout design below

3 Click the Delete button Display message: Successfully deleted course The system records Successful course deletion in the Activity Log

See Notification screen layout design below

3.3.2 Use Case #2 (Trainer Management Function - UC 2)

Use Case Name: Trainer Management

Description: As a manager, I want to add a user as a trainer to use the system functions

Trigger: User wants to register an account for a new trainer in the FPT Company's system

• User accounts have been authorized

• User's account has been logged into the system

• The user's device is already connected to the internet when performing the function

• User successfully registers an account for a new trainer to access the system

• The system records successful add new trainer role in Activity Log

Step No Actor System Notes

1 The administrator clicks the Displays the Create New Trainer See Create New Trainer link to create a new trainer screen for the administrator screen layout design

Step No Actor System Notes

1 Admin clicks on the link to the course management screen

Displays the Course Management screen for the administrator

See Course Management screen layout design below

2 Click the link to add a trainer for the course

Select a trainer that the manager wants to add to the course from the list of trainers

See List Of Trainers screen layout design below

3 Click the button to assign a trainer to the course

The system records successfully assigned a trainer to the course in the Activity Log

See Notification screen layout design below

Alternative 1: The administrator wants to remove unnecessary trainer for easier management

Alternative 2: The administrator wants to edit trainer information on the home screen of the system below

2 The administrator enters the full information for the trainer's account that needs to be added to the system

If true, redirect to new account creation screen

If false, request to re-enter the trainer's information

3 Enter the full username and password for the trainer account

Verify account information See Create New Account screen layout below

4 Clicks on create new account button

The system records the successful Creation of a new account for trainer in the Activity Log

Step No Actor System Notes

1 The administrator clicks the link to the trainer management screen in the system

Displays the Trainer Management screen for the administrator

See Trainer Management screen layout design below

2 Search for the name of the trainer who need to deleted from the management list

Display the information of the trainer need to find

See Trainer Information screen layout design below

3 Click on delete trainer button Send confirmation message to admin

See Notification screen layout design below

4 The administrator confirms deleting the trainer from the system

Show message: Delete user successfully

The system records successfully Deleted trainer in the Activity Log

Step No Actor System Notes

Other Non-functional Requirements

Some non-functional requirements in our system:

• Users who enter incorrect login information for the 5th time in a row will have their account locked for 15 minutes

• Time out for login screen under 60 seconds

• The maximum delay in redirecting to another page is 30 seconds

1 The administrator clicks the link to the trainer management screen in the system

Displays the Trainer Management screen for the administrator

See Trainer Management screen layout design below

2 Search for the name of the trainer who need to edited from the management list

Display the information of the trainer need to find

See Trainer Information screen layout design below

3 Click the button edit trainer information

Show details of all previously added trainer information

4 The administrator clicks on the row whose information need to edited

After editing is complete, the administrator clicks on the finish button

Send notification: Edit successful The system records successful information editing in the

See Notification screen layout design below lOMoAR cPSD| 22148649

P2 Determine any areas of risk related to the successful completion of your application

P3 Research the use of software development tools and techniques and identify any that have been selected for the development of this application.

Design tools

UML definition

Unified Modeling Language (UML) is a standardized tool that allows developers to specify, visualize, construct, and document software system artifacts By utilizing UML, these artifacts become scalable, secure, and robust in execution, making it a crucial component of object-oriented software development.

It uses graphic notation to create visual models of software systems

The UML architecture relies on the meta object facility, establishing a robust foundation for developing modeling languages Its precision allows for the generation of complete applications, and a fully executable UML can be deployed across various platforms using diverse technologies Additionally, it is compatible with all processes throughout the software development lifecycle.

UML is a visual modeling language that facilitates expressive development, supporting high-level concepts like frameworks, patterns, and collaborations It comprises a diverse collection of elements essential for effective modeling.

• Actors: specify a role played by a user or any other system interacting with the subject

• Activities: These are tasks, which must take place in order to fulfill an operation contract They are represented in activity diagrams

• Business Process: includes a collection of tasks producing a specific service for customers and is visualized with a flowchart as a sequence of activities

• Logical and Reusable Software Components

Some popular UML diagrams

UML diagrams can be divided into two types The first category includes chart types that represent structural information

• Class Diagram: represents system class, attributes and relationships among the classes

• Component Diagram: represents how components are split in a software system and dependencies among the components

• Object Diagram: represents a complete or partial view of the structure of a modeled system

The second category includes chart types that represent general types of behavior

• Activity Diagram: represents step by step workflow of business and operational components

• Use Case Diagram: describes functionality of a system in terms of actors, goals as use cases and dependencies among the use cases.

Use the UML tool to give examples

Use case diagram for FPT's training system:

Development tools and techniques

Cloud provider

Cloud computing providers are essential for businesses, as nearly every enterprise utilizes cloud services in various ways These services include delivering critical infrastructure, hosting applications or content delivery networks (CDNs), and supporting machine learning and software development.

The convenience and economics of cloud providers make them increasingly appealing

• Typically fast and easy to provision

• Deliver enormous flexibility and are always-on

• Move organizations away from a cash-intensive CAPEX model toward a more budget-friendly OPEX framework

In the coming years, integrating cloud technologies into business strategies will be a key focus for many companies Major cloud providers such as Microsoft Azure and Amazon Web Services are leading the way in this transformation.

Services (AWS) and Google Cloud Platform (GCP) Depending on your needs, these providers often offer 3 different types of cloud services: Infrastructure (IaaS), Software

The image above: summary of the comparison between traditional IT and cloud services

List some of the top cloud providers:

Amazon Web Services (AWS) is an Amazon company that was launched in the year 2002

AWS is the most popular cloud service provider in the world

Amazon Web Services (AWS) is the leading cloud platform globally, providing more than 165 fully-featured services from data centers around the world, and is utilized by millions of customers.

AWS offers hundreds of services Some of these include Virtual Private Cloud, EC2, AWS

Storage Service, DynamoDB, Elastic Compute Cloud, AWS Key Management Service,

AmazonCloudWatch, Simple Notification Service, Relational Database Service, Route 53,

Simple Queue Service, CloudTrail, and Simple Email Service

Microsoft Azure is rapidly emerging as a leading cloud service provider, having been launched after AWS and Google Cloud Despite its later entry into the market, Azure is making significant strides to compete for the top position in cloud services.

Azure offers hundreds of services within various categories including AI + Machine

Blockchain, Compute, Containers, Databases, Developer Tools, DevOps, Identity,

Integration, Internet of Things, Management, Media, Microsoft Azure Stack, Migration, Mixed Reality, Mobile, Networking, Security, Storage, Web, and Windows Virtual Desktop

IBM Cloud, created by IBM, offers a comprehensive suite of cloud computing services tailored for businesses Like other cloud service providers, it features Infrastructure as a Service (IaaS), Software as a Service (SaaS), and Platform as a Service (PaaS) across public, private, and hybrid cloud models.

Compute, Network, Storage, Cloud Packs, Management, Security, Database, Analytics,

AI, IoT, Mobile, Dev Tools, Blockchain, Integration, Migration, Private Cloud, and VMware

Google Cloud Platform (GCP) is Google's cloud computing service, providing a range of offerings comparable to AWS and Azure It includes various categories such as compute, storage, identity, security, databases, artificial intelligence, machine learning, virtualization, and DevOps, among others.

Here is a list of complete products and services categories Google Cloud Platform services:

• AI and Machine Learning, API Management, Compute, Containers, Data Analytics, Databases,

Developer Tools, Healthcare and Life Sciences, Hybrid and Multi-cloud, Internet of Things, Management Tools, Media and Gaming, Migration, Networking, Security and Identity, Serverless Computing, and Storage

• Google products are also offered in the cloud, including G Suite, Google Maps Platform, Google

Hardware, Google Identity, Chrome Enterprise, Android Enterprise, Apigee,

Oracle cloud platform is the cloud offering of Oracle corporation Oracle cloud offers IaaS, PaaS, SaaS, and Data as a Service (DaaS)

Oracle offerings include the following:

• Oracle IaaS offerings are Compute, Storage, Networking, Governance, Database, Load Balancing, DNS Monitoring, Ravello, and FastConnect

• Oracle PaaS offerings are Data Management, Application Development,

Integration, Business Analytics, Security, Management, and Content and

• Oracle SaaS offerings are CX, HCM, ERP, SCM, EPM, IoT, Analytics, Data, and Blockchain Applications.

Development languages / Framework

In this section we will discuss the top programming languages that can be used to develop web applications for businesses

JavaScript and Python are always in close competition Over the past few years,

JavaScript remains a leading choice for enterprise app development, as businesses increasingly seek front-end web development services to enhance and redesign their applications.

JavaScript, in conjunction with HTML and CSS, enables the creation of interactive applications Its versatile functionality has made it the preferred language for enterprise app development among web development companies.

Meanwhile, all the other programming languages have remained steady It shows that the demand for web development services is still rising, especially with the introduction of cloud-native practices

Python is renowned for its versatility as a programming language, making it ideal for application development Its straightforward scripting and seamless database connections enhance its usability With Python, developers can create a wide range of applications, including advanced neural networks for artificial intelligence, a feature increasingly sought after by large enterprises.

Its huge standard library and its compatibility with major systems make it come handy for enterprise app developers Also, it’s easy syntax makes reading and redesigning quite easier

One thing you need to know here that web developers have progressed to Python 3 as Python has been recently discontinued in 2020

Java exemplifies the principle of "write once, run anywhere," making it an ideal programming language for enterprises seeking a reliable and high-quality user experience Its versatility allows Java programs to operate seamlessly across various operating systems and extensive networks.

Java differs from JavaScript, which is mainly a front-end programming language However, it shares a similar syntax

C++ is recognized as a leading programming language for enterprise app development, despite its reputation as a beginner's language Known as the benchmark language, it facilitates object-oriented development, making it a valuable choice for developers.

C# is the ideal choice for a sole enterprise language, offering a high-level programming experience that is more complex than C++ and other C family languages Its primary use among web developers is for enterprise application development, as it compiles to byte-code rather than Assembly.

C# is ideal for developing internal business applications and is the best choice for traditional enterprise apps However, for cloud-based services and web applications, JavaScript and Python are more suitable options.

PHP is currently ranked 6th among the top programming languages for enterprise application development, thanks to its ability to efficiently retrieve data from databases and its seamless integration with HTML for web application development.

As PHP is an open-source language, it is continually evolving and improving However, it is still low in demand

Maybe we see its surge in years to come

For this project, we chose C# as our programming language due to the scale of the company involved Larger companies tend to utilize a variety of programming languages, and according to Cloud Foundry, Python and C# are among the most commonly used languages in large enterprises.

Web application frameworks provide a variety of pre-written components, code snippets, and complete application templates, facilitating the development of web services, web APIs (Application Programming Interfaces), and other web resources.

There are two main types of development frameworks: client-side and server-side Client-side frameworks focus on the user interface, while server-side frameworks operate in the background to ensure the website functions smoothly.

Front-end Frameworks Back-end Frameworks

The frontend is the part of the website visible to the users

Backend refers to the background functioning of the sites

Also known as client-side frameworks Also known as Server side frameworks

Involves UI-UX designing, SEO optimization, performance and scalability enhancing, creating reusable templates

Involves database management, security, URL routing, designing site architecture, the server handling

Frontend Languages – HTML, CSS, JavaScript,

Backend Languages – Python, JavaScript, PHP, Ruby, NET

Frontend Frameworks- React, Vue, BootStrap,

Backend frameworks- Django, Ruby On Rails, Express, Spring, ASP.NET Core

Front end frameworks provide pre-written code snippets, reusable templates, integrable elements and manage user interaction

Database manipulation, user authorization, privacy encryptions, reusable components are some benefits of using backend frameworks

The most popular web frameworks

Ruby on Rails is a powerful web application framework ideal for creating high-speed applications Created by David Heinemeier Hansson, it enables developers to build applications that are typically ten times faster As one of the leading backend frameworks, Ruby on Rails provides all the essential tools required for developing database-driven applications.

Websites that have incorporated Ruby on Rails are GitHub, Airbnb, GroupOn, Shopify, Hulu, etc

Simple, elegant, and readable are the USPs of Larval Taylor Otwell developed Laravel in

2011 Similar to other contemporary development frameworks, it functions on an MVC architectural model that uses PHP

Laravel offers robust API support and a wide array of packages to enhance its functionality Additionally, Laracasts provides an extensive library of tutorials featuring thousands of videos focused on Laravel, PHP, and related frontend technologies.

Laravel includes a lot of features such as dependency injection, server side rendering It is proving to be the best framework for websites like Neighbourhood, Travel, Deltanet,

Django is a dependable backend web development framework that facilitates the creation of robust web applications It follows the principles of 'Convention over Configuration' and the DRY (Don't Repeat Yourself) pattern Additionally, Django equips developers with essential tools and techniques to build secure websites by incorporating advanced security features within the framework, ensuring optimal web development practices.

Django is an ideal framework for meeting tight deadlines and the demanding needs of experienced developers Its applications are highly scalable, fast, versatile, and secure Notable companies leveraging Django include Pinterest, Disqus, YouTube, Spotify, and Instagram, among other industry leaders.

Database servers

Databases are the cornerstone of any Software Applications You will need one or more databases to develop almost all kind of Software Applications: Web, Enterprise,

Embedded Systems, Real-Time Systems, AI, ML, HPC, Blockchain, IoT, and many other applications

A database is an organized collection of data that facilitates the storage and manipulation of information, typically managed by a Database Management System (DBMS) Data is structured in tables, using rows and columns, to enhance the efficiency of querying and processing.

Here are some of the best, most popular database servers based on a Stack Overflow survey of 2021:

Oracle is the most widely used commercial relational database management system, built- in assembly languages such as C, C++, and Java This database’s most recent version, 21c, contains a slew of new features

Oracle is the leading database management system, recognized as the most widely used relational database management system (RDBMS) It offers efficient data processing with a smaller footprint and introduces valuable features, including JSON support from SQL.

MySQL emerged as a leading database choice in 2021, known for its robustness and maturity Its primary application lies in providing effective web development solutions.

MySQL, developed in C and C++, utilizes structured query language and is currently available in its latest version, MySQL 8.0, which offers enhanced recovery options This leading SQL database is available in multiple editions, each featuring unique capabilities.

Microsoft offers robust toolset support for its leading database software, compatible with both on-premise and cloud environments It seamlessly integrates with Linux and Windows systems MS SQL is a multi-model database that accommodates Structured Data (SQL), Semi-Structured Data (JSON), and Spatial Data.

It is not as inventive or advanced as other modern list of popular databases, but it has undergone considerable improvements and overhauls over the years

POSTGRES was the initial name of the database Michael was also honored with the Turing Award for his contributions to PostgreSQL

PostgreSQL is a powerful database management system developed in C, widely utilized by businesses handling large volumes of data It serves as the backbone for various applications, including gaming apps, database automation tools, and domain registration services.

In 2021, several NoSQL databases gained popularity, with MongoDB standing out as a leading Document Database management software since its launch in 2009 Traditional RDBMS can complicate data loading and access when using object-oriented programming languages, necessitating extra application-level mapping MongoDB was specifically designed to address these challenges, providing a more efficient solution for data management.

Software Development Models

Software development models are methodologies chosen based on a project's specific aims and goals Various development life cycle models exist to meet different objectives, outlining the stages of the process and the sequence in which they are executed.

Selecting the appropriate model for software product or application development is crucial, as it directly influences the development and testing processes Various software development models or methodologies exist to guide this process.

The Waterfall model, the pioneering software development model, is characterized by its linear approach, where each stage must be completed before progressing to the next This sequential process ensures that there is no overlap between stages, making it a structured method for software project development.

In the Iterative model, the development starts with implementing several small requirements, and then the product is enhanced with the help of numerous iterations

The enhancement process occurs in incremental iterations until the application features are fully developed and ready for deployment Focusing on small parts of the software allows for easy review, quick identification of additional requirements, and the ability to implement changes efficiently Each new iteration delivers an improved version of the software, ensuring continuous benefits from the solutions provided.

The Spiral Model integrates elements from both the Iterative and Waterfall methodologies, utilizing cyclical development from the former and a systematic approach from the latter This model places a strong emphasis on risk analysis and delivers projects in iterative phases that revolve around a central spiral.

The Spiral Model consists of four stages, through which the product under development progresses during its iterations, known as spirals These stages are essential to the methodology.

The V-model allows a project to be carried out in a sequence and according to the V shape The other name of this model is a Verification and Validation Model because it is based on the Waterfall Model However, here, in the SDLC, every stage of development includes testing as well So, you carry out a phase, complete it, test it and only then go to the next phase that will look identical to the previous one with regards to its structure

In the V-shaped Model, the development and testing phases occur simultaneously, with Verification phases depicted on one side and Validation phases on the opposite side.

These sides are being joined with the Coding Phase

Prototyping involves developing software application prototypes that visually represent the essential features of an incomplete product This process facilitates early comprehension of customer requirements during the development phase and allows for valuable feedback The model encompasses:

Agile methodology is an adaptive and flexible approach rooted in the iterative and incremental model, prioritizing customer satisfaction It divides the production process into incremental builds, known as iterations, which typically last 1 to 3 weeks and involve multiple teams working on different project areas simultaneously This structure not only reduces production time but can also lower costs, as each iteration follows the same set of processes.

Choosing the appropriate programming language is crucial before software development begins For this desktop application, Visual Studio 2022 served as the integrated development environment (IDE), and C# was selected to ensure a standardized object-oriented approach Microsoft ADO.Net was utilized to establish a connection to the database created with Microsoft SQL Server The implementation was executed using the C# Net Framework, with the application designed as a Windows-based Graphical User Interface (GUI).

10 operating system, with visual studio a good graphical user interface was design, then using the C sharp programming as code behind to perform all the functionalities

For our project, we chose Visual Studio for web application development due to its comprehensive support for website programming This powerful software integrates essential tools for application development, including a code editor, designer, and debugger, allowing users to efficiently write code, fix bugs, and edit application designs all within a single platform.

Framework NET and ADO.Net

The language we choose for software development is C# to create HTML5, CSS, and

JavaScript-based websites that are safe, fast, and scalable to millions of users

The framework we use in this project is ASP.NET MVC (.NET Framework) Because

ASP.Net is a robust technology for developing rich web applications, and its MVC implementation enhances its systematic, enterprise-level capabilities This makes it particularly well-suited for FPT Company, especially in terms of scalability The MVC architecture offers a cleaner and more advanced approach to structured software growth.

Advantages of Using MVC Framework:

• Ability To Provide Multiple Views

• MVC Model Returns The Data Without Formatting

In Visual studio most popular databases are supported, including SQLite, SQL Server,

MySQL, PostgreSQL, DB2 and more, as well as non-relational stores like MongoDB,

Redis and Azure Cosmos DB

Microsoft SQL Server 2019 Express is a powerful and reliable free data management system that delivers a rich and reliable data store for lightweight Web Sites and desktop applications

Here, we use Microsoft SQL Server as a place to store and manage data System users can manipulate this data such as: add, delete, edit or search data

Azure is the recommended cloud provider, offering tools that enable users to store unlimited data and develop applications while managing services online without relying on extensive hardware All operations are efficiently processed through Microsoft data centers.

Compared to other cloud platforms, Azure is more open, secure, and powerful Microsoft

Azure provides a wide range of useful services such as virtual machines (Virtual

Machines), SQL databases, domain services, application services, Visual Studio team services, and storage

1 www.locusassignments.com (n.d.) Unit 35 Web Application Development Assignment Sample CSD [online] Available at: https://www.locusassignments.com/solution/unit-35- web-application-developmentassignment-sample [Accessed 22/4 2023]

2 Visual Paradigm (2019) What is Unified Modeling Language (UML)? [online] Visual- paradigm.com Available at: https://www.visual-paradigm.com/guide/uml-unified- modeling-language/what-is-uml/ [Accessed 22/4 2023]

3 Reply.com (2021) Cloud Computing in Web App Development - What are you waiting for? [online] Available at: https://www.reply.com/alpha-reply/en/content/cloud- computing-in-web-app-developmentwhat-are-you-waiting- for#:~:text=Some%20of%20the%20largest%20cloud [Accessed 22/4 2023]

4 hackernoon.com (n.d.) 7 of the Top Best Languages for Web Application

Development | Hacker Noon [online] Available at: https://hackernoon.com/7-of-the-top- best-languages-for-web-applicationdevelopment-8q1531zd [Accessed 22/4 2023]

5 Mistry, J (n.d.) 10 Most Popular Web Frameworks to Use in 2021 [online]

Monocubed Available at: Accessed 22/4 2023 https://www.monocubed.com/10-most-popular-web-frameworks/ [Accessed 22/4 2023]

6 Kamaruzzaman, M (2021) Top 10 Databases to Use in 2021 [online] Medium

Available at: Accessed 22/4 2023 https://towardsdatascience.com/top-10-databases-to-use-in-2021-d7e6a85402ba [Accessed 22/4 2023]

7 Appinventiv (2021) Top 15 Databases to Use in 2021 and Beyond [online] Available at: https://appinventiv.com/blog/top-web-app-database-list/ [Accessed 22/4 2023]

8 CMARIX Blog (2015) 6 Benefits of MVC Platform ASP.net Development [online] Available at: https://www.cmarix.com/blog/6-benefits-of-asp-net-mvc/ [Accessed 22/4 2023]

9 https://www.facebook.com/ravi.bandakkanavar (2017) Software Requirements

Specification document with example - Krazytech [online] Krazytech Available at: https://krazytech.com/projects/samplesoftware-requirements-specificationsrs-report- airline-database [Accessed 22/4 2023]

10.Comentum.com (2019) Web Application Development - Guides, Resources & Best Practices [online] Available at: https://www.comentum.com/guide-to-web-application- development.html [Accessed 22/4 2023].

Ngày đăng: 17/07/2023, 15:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. www.locusassignments.com. (n.d.). Unit 35 Web Application Development Assignment Sample CSD. [online] Available at: https://www.locusassignments.com/solution/unit-35-web-application-developmentassignment-sample [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: Unit 35 Web Application Development Assignment Sample CSD
Nhà XB: www.locusassignments.com
Năm: n.d.
2. Visual Paradigm (2019). What is Unified Modeling Language (UML)? [online] Visual- paradigm.com. Available at: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/ [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: What is Unified Modeling Language (UML)
Tác giả: Visual Paradigm
Nhà XB: Visual-paradigm.com
Năm: 2019
3. Reply.com. (2021). Cloud Computing in Web App Development - What are you waiting for? [online] Available at: https://www.reply.com/alpha-reply/en/content/cloud-computing-in-web-app-developmentwhat-are-you-waiting-for#:~:text=Some%20of%20the%20largest%20cloud [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: Cloud Computing in Web App Development - What are you waiting for
Tác giả: Reply.com
Năm: 2021
4. hackernoon.com. (n.d.). 7 of the Top Best Languages for Web Application Development | Hacker Noon. [online] Available at: https://hackernoon.com/7-of-the-top-best-languages-for-web-applicationdevelopment-8q1531zd [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: 7 of the Top Best Languages for Web Application Development
Nhà XB: Hacker Noon
Năm: n.d.
5. Mistry, J. (n.d.). 10 Most Popular Web Frameworks to Use in 2021. [online] Monocubed. Available at: Accessed 22/4 2023https://www.monocubed.com/10-most-popular-web-frameworks/ [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: 10 Most Popular Web Frameworks to Use in 2021
Tác giả: Mistry, J
Nhà XB: Monocubed
Năm: n.d.
6. Kamaruzzaman, M. (2021). Top 10 Databases to Use in 2021. [online] Medium. Available at: Accessed 22/4 2023https://towardsdatascience.com/top-10-databases-to-use-in-2021-d7e6a85402ba [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: Top 10 Databases to Use in 2021
Tác giả: Kamaruzzaman, M
Nhà XB: Medium
Năm: 2021
7. Appinventiv. (2021). Top 15 Databases to Use in 2021 and Beyond. [online] Available at:https://appinventiv.com/blog/top-web-app-database-list/ [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: Top 15 Databases to Use in 2021 and Beyond
Tác giả: Appinventiv
Năm: 2021
8. CMARIX Blog. (2015). 6 Benefits of MVC Platform ASP.net Development. [online] Available at:https://www.cmarix.com/blog/6-benefits-of-asp-net-mvc/ [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: 6 Benefits of MVC Platform ASP.net Development
Tác giả: CMARIX Blog
Năm: 2015
9. https://www.facebook.com/ravi.bandakkanavar (2017). Software Requirements Specification document with example - Krazytech. [online] Krazytech. Available at:https://krazytech.com/projects/samplesoftware-requirements-specificationsrs-report-airline-database [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: Software Requirements Specification document with example - Krazytech
Tác giả: ravi.bandakkanavar
Nhà XB: Krazytech
Năm: 2017
10.Comentum.com. (2019). Web Application Development - Guides, Resources & Best Practices. [online] Available at: https://www.comentum.com/guide-to-web-application-development.html [Accessed 22/4 2023] Sách, tạp chí
Tiêu đề: Web Application Development - Guides, Resources & Best Practices
Tác giả: Comentum.com
Nhà XB: Comentum
Năm: 2019

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w