Application Development Assignment - FPT, Essays (university) of Computer Applications

This is the result of the subject Application Development at FPT University

Typology: Essays (university)

2019/2020

Available from 08/07/2021

nguyen-tu-4
nguyen-tu-4 🇻🇳

2 documents

1 / 42

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ASSIGNMENT 1 FRONT SHEET
Qualification
BTEC Level 5 HND Diploma in Business
Unit number and title
Unit 30: Application Development
Submission date
13/06/2021
Date Received 1st
submission
13/06/2021
Re-submission Date
Date Received 2nd
submission
Student Name
NGUYỄN NGỌC TÚ
Student ID
GCH18604
Class
GCH0801
Assessor name
NGUYEN DINH TRAN LONG
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
Grading grid
P1
P2
P3
M1
M2
D1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a

Partial preview of the text

Download Application Development Assignment - FPT and more Essays (university) Computer Applications in PDF only on Docsity!

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level^5 HND Diploma in Business

Unit number and title Unit 30: Application Development

Submission date 13/06/2021 Date Received 1st submission 13/06/

Re-submission Date Date Received 2nd submission

Student Name NGUYỄN NGỌC TÚ Student ID GCH

Class GCH0801^ Assessor name NGUYEN DINH TRAN LONG

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

Grading grid

P1 P2 P3 M1 M2 D

Summative Feedback:Resubmission Feedback:

Grade: Assessor Signature: Date:

Internal Verifier’s Comments:

Signature & Date:

  • Task 1 – Software Requirements Specifications and Software Design.........................................................................
  • Introduction
    • Document Purpose
    • Product Scope
    • Intended Audience and Document Overview
    • Definitions, Acronyms and Abbreviations
  • Overall Description
    • Product Overview
    • Product Functionality................................................................................................................................................
    • Design and Implementation Constraints
    • Assumptions and Dependencies
  • Specific Requirements
    • External Interface Requirements
      • User Interfaces
      • Hardware Interfaces
      • Software Interfaces...............................................................................................................................................
    • Functional Requirements..........................................................................................................................................
    • Use Case Model
    • Login........................................................................................................................................................................
    • Create account
    • View course.............................................................................................................................................................
    • Assign trainer or trainee to course
    • Manage account
  • Technical Design
    • Screen flow Diagram
    • Entity Relationship Diagram (ERD)
    • Class Diagram
    • Activity Diagram......................................................................................................................................................
    • Gantt Chart
  • Task 2 – Technologies evaluation
    • Chapter 1 - Design Tools
      1. Tools to design UML
      1. Tools to design User Interface
      1. Conclude which tools will be used for the design of the application
  • Chapter 2 - Front End technology stack..................................................................................................................
      1. Front End Programming Language
      1. HTML/CSS/SCSS/SASS/LESS etc.
      1. JavaScript Library / Framework
      1. CSS Framework
      1. Conclude which Front End technologies will be used for the development
  • Chapter 3 - Back End technology stack
      1. Back End Programming Language...............................................................................................................
      1. Operating System........................................................................................................................................
      1. Web Server
      1. Database
      1. Hosting
      1. Frameworks
      1. Conclude which Back End technologies will be used for the development
  • Chapter 4 - Tools for source control management.................................................................................................
      1. Git, GitHub, GitLab, etc.
      1. Conclude which tools will be used for the development
  • Chapter 5 - Software Development Models
      1. Introduce several SDLC models: Waterfall, V-model
      1. Conclude which SDLC model will be used for the development with explanations
  • Chapter 6 - Illustrate all your findings on how to use these by drawing the overview
  • References and Acknowledgments
  • Figure 1: A tool for design UML Table of Figures
  • Figure 2: Figma............................................................................................................................................................
  • Figure 3: Javascript
  • Figure 4: HTML & CSS..................................................................................................................................................
  • Figure 5: Ember JS Framework
  • Figure 6: Bootstrap Framework
  • Figure 7: C Sharp Logo
  • Figure 8: Window operating system
  • Figure 9: IIS Web Server
  • Figure 10: Logo SQL Server
  • Figure 11: Heroku Logo
  • Figure 12: ASP .NET framework
  • Figure 13: Github Logo................................................................................................................................................
  • Figure 14: Visual Studio
  • Figure 15: Waterfall Process
  • Figure 16: V-Model

database management system.. This language has evolved far beyond its original purpose of serving object-relational database management systems. It is an ANSI / ISO standard Java Java is a general-purpose computer programming language that is concurrent, class based, object oriented, and specifically designed to have as few implementation dependencies as possible

Overall Description

Product Overview

The system will operate in FPT as a website. This system, when the user accesses, will have a separate function in this system for the user's account type (admin, training staff, ...). Figure 1 : product overview

Product Functionality

Admin:  Login  Create/edit/delete new Trainer/Training Staff account and change (if existing user) its password Training staff:  Login  Create trainee accounts.  Search update, delete trainee accounts information.  Search, add, update and delete course categories.  Search, add, update and delete courses.

 Search, add, update and delete the trainer profile.  Assign, remove, and change a trainer to a course.  Assign, remove, and change trainee to a course. Trainer:  Login  Update profile, view course Trainee:  Login  Update profile, view course

Design and Implementation Constraints

The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system (wikipedia.org, 2021). Before 1990, it had been not so important to make applications with specific architecture. Since then, applications are becoming complex each and each day with protection from new threats which will exploit the appliance. Also, because the world of programming is getting bigger day by day, smart people are inventing new ways to make applications which will help us create applications fast and straightforward. there's one such architecture called MVC that was invented in 1970s by Trygve Reenskaug (Jithin, 2021). The Model: Model works directly with the database. It doesn't need to handle the interface or handle the info within the world scenario. The View: Simply put, a View is the UI where our client / user can perform some action. It contains HTML, CSS, JS, XML or any other markup language we can use to create a nice UI. The Controller: Controllers are the part where we process data after we receive a request from a View, and before we update anything in the database with our Models. Advantages of the MVC: Application development becomes rapid. It's easy for multiple developers to collaborate and work together. Make updating the app easier. It's easier to debug because we have many levels properly written in the application. Disadvantages of MVC: It is very difficult to understand MVC architecture. There must be strict regulations on the method. There aren't many downsides to architecture. And the downsides are not so great and very easily overlooked compared to all the benefits we get (Jithin, 2021).

Assumptions and Dependencies

List of some major assumptions that significantly affect the design:  Customer change request  Not enough members  Less time to implement the design

 Can update, delete trainee accounts information.  Can manage course categories such as searching, adding, updating, and deleting course categories. Course category includes information such as course category name and descriptions.  Can manage courses such as searching, adding, updating, and deleting courses. The course includes Course Name, Course Category, and Description.  Can manage trainer profile such as adding, updating, and deleting the information: Trainer name, External or Internal Type, working place, telephone, and email address.  Can assign a trainer to a course.  Can remove courses from Trainer.  Can change Trainer assigned to another course.  Can assign trainee to a course.  Can remove courses from Trainee.  Can change Trainee assigned to another course. Trainer:  In the same system, the trainer who has been registered by the administrator can log in and can update his profile such as Trainer name, External or Internal Type, education, working place, telephone, and email address.  Can update his / her account password.  Can view courses, which he/she is assigned. Trainee:  In the same system, the trainee who has been registered by the administrator can log in and can view his/her profile.  Can update his / her account password.  Can see all the available courses.  Can view courses to which s/he is assigned.

Use Case Model

Use case diagram is a graphical depiction of a user's possible interactions with a system. Use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. The use cases are represented by either circles or ellipses. The actors are often shown as stick figures (wikipedia.org, 2021). The admin function has been built based on the needs that I have examined previously. To obtain power, the administrator must log into the system. The administrator will mostly monitor and edit the trainers' and staff's accounts.

Figure 2 : admin function Training employees, like everyone else, will be required to log into the system using an account granted by the administrator. Almost every function in the system is overseen by training personnel. The training staff's responsibilities include managing courses, assigning tasks, and maintaining student and coach accounts. Figure 3 : training staff function The administrator or staff will also provide the trainer with an account so that he or she may log into the system. Only the courses allocated to a trainer's faculty can be viewed.

User account has been authorized The user's device is already connected to the internet when logging in Post-Condition(s): User successfully logged into the application The system records successful logging in Activity Log. Basic Flow User accesses application. The user chooses the login method with account The user enters account and selects the login command 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. The user chooses to cancel the login. Use Case stops. Business Rules Users who enter incorrect login information for the 6th time in a row will have their account locked for 30 minutes. Non-Functional Requirement None Table 1 : UC-1.

Create account

Use Case ID UC-1. Use Case Name Create account Description User need to have an account to login the app. Actor(s) Admin, training staff. Priority Must Have Trigger None Pre-Condition(s): The user's device is already connected to the internet when logging in Post-Condition(s): The system records successful signup in Activity Log. Basic Flow User accesses application. The user enters information and selects the signup command The system authenticates the signup information successfully and allows the user to login the application The system records successful signup in Activity Log. Alternative Flow None Exception Flow The system validates the signup failed and displays a message. The user chooses to cancel the signup. Use Case stops. Business Rules Users account must me unique. Non-Functional Requirement None Table 2 : UC-1.

View course

Use Case ID UC-1. Use Case Name View course Description Trainee and trainer need to see the entire course they had been assigned to.

Actor(s) Trainee and trainer Priority Must Have Trigger None Pre-Condition(s): The account need to be trainee, trainer or training staff. The user's device is already connected to the internet when logging in Post-Condition(s): The system records successful in Activity Log. Basic Flow User accesses application. User chose to view all course. The system records successful in Activity Log. Alternative Flow None Exception Flow The user chooses to stop view. Use Case stops. Business Rules None Non-Functional Requirement None Table 3 : UC-1.

Assign trainer or trainee to course

Use Case ID UC-1. Use Case Name Assign an user to course Description Trainer and trainee need to be assign to course to start study. Actor(s) Training staff Priority Must Have Trigger None Pre-Condition(s): The account need to be training staff. Trainer, trainee or course must be real. The user's device is already connected to the internet when logging in Post-Condition(s): The system records successful in Activity Log. Basic Flow User Login application. User enter trainer or trainee id and course id. The system authenticates the information The system records successful logging in Activity Log. Alternative Flow None Exception Flow User enter wrong id, displays a message. The user chooses to stop assign. Use Case stops. Business Rules None Non-Functional Requirement None Table 4 : UC-1.

Manage account

Use Case ID UC-1. Use Case Name Manage Description The admin and training staff will need to manage all the account of the system. Actor(s) Admin, training staff.

Figure 7 : screen flow diagram

Entity Relationship Diagram (ERD)

The ERD model is abbreviated by the word Entity Relationship Diagram, which is understood as the association entity model, also known as the associated entity. This model is also known as ER (short for Entity-Relationship model). So what is ER model? The ERD or ER model includes entities, associations, and especially attribute lists (wikipedia.org, 2021). To draw an ERD diagram, we need to note some of the following symbols:  Rectangle: entity representation  Ellipse: represents the attribute, in the ellipse has the attribute name  Rhombus: represents the relationship A relationship between two entities shows that the two entities are somehow related to one another. A student might enroll during a course, for example. As a result, the entity Student is linked to the entity Course, and a relationship is displayed as a connector along both.

In ERD, an entity is a definable thing or notion within a system, such as a person/a role, object, concept, or event (note: the terms "entity" and "table" are interchangeable). Consider entities as nouns while determining their existence. An entity in an ER model is represented by a rounded rectangle with its name on top and its properties listed within the shape's body. A property or characteristic of the entity that holds an attribute, often known as a column, is a property or characteristic of the entity that contains it. An attribute has a name that identifies the property and a kind that specifies the attribute's kind. It's the equivalent of varchar for strings and int for integers. Figure 8 : ERD

Class Diagram

In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects (wikipedia.org, 2021). The class diagram is the main building block of object-oriented modeling. It is used for general conceptual modeling of the structure of the application, and detailed modeling, translating the models into programming

Figure 10 : Activity Diagram

Gantt Chart

Figure 11 : Gantt Chart