


































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This is the result of the subject Application Development at FPT University
Typology: Essays (university)
1 / 42
This page cannot be seen from the preview
Don't miss anything!



































Summative Feedback: Resubmission Feedback:
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
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
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
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).
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 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.
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.
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.
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.
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
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
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
Figure 11 : Gantt Chart