Application Development - Part 1, Study Guides, Projects, Research of Web Application Development

This project showcases the web-based system, which manages the activity of “Training” for the interior educational program of FPT Co. The project aims to make a system which will manage trainee accounts, manage trainers, manage course categories, manage courses, manage topics, assign the subject to course, assign a trainer to a subject, assign trainee to the course utilized by the HR department. There are 4 main roles: administrator, training staff, trainer, and trainee with different functions.

Typology: Study Guides, Projects, Research

2020/2021

Available from 09/22/2021

Thanhduong1080
Thanhduong1080 🇻🇳

3.9

(14)

18 documents

1 / 74

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Huynh Thanh Duong
ASSIGNMENT 1 GCS190756
APPLICATION
DEVELOPMENT
THAI THI THANH THAO
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
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a

Partial preview of the text

Download Application Development - Part 1 and more Study Guides, Projects, Research Web Application Development in PDF only on Docsity!

Huynh Thanh Duong ASSIGNMENT 1 GCS190 756

APPLICATION

DEVELOPMENT

THAI THI THANH THAO

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Business Unit number and title Unit 30: Application Development Submission date Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Huỳnh Thanh Dương Student ID GCS Class GCS0803A Assessor name Thái Thị Thanh Thảo 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 Dương Grading grid P1 P2 P3 M1 M2 D

Assignment Brief 1 (RQF) Higher National Certificate/Diploma in Computing Student Name/ID Number: Unit Number and Title: Unit 30: Application Development Academic Year: 2021 – 2022 Unit Assessor: Thái Thị Thanh Thảo Assignment Title: Analysis and Design solution for a given problem Issue Date: Submission Date: Internal Verifier Name: Date:

Submission Format: Format: The submission is in the form of two documents/files ● An individual SRS document in PDF format. Writing must be professional. ● An individual evaluation document in PDF format. Writing must be professional. Submission ● Students are compulsory to submit the assignment in due date and in a way requested by the Tutor. ● The form of submission will be a soft copy posted on http://cms.greenwich.edu.vn/. ● Remember to convert the word file into PDF file before the submission on CMS. Note: ● The individual Assignment must be your own work, and not copied by or from another student. ● If you use ideas, quotes or data (such as diagrams) from books, journals or other sources, you must reference your sources, using the Harvard style. ● Make sure that you understand and follow the guidelines to avoid plagiarism. Failure to comply this requirement will result in a failed assignment. Unit Learning Outcomes:

Learning Outcomes and Assessment Criteria (Assignment 1): Learning Outcome Pass Merit Distinction LO1 P1 Explore a M1 Analyse a business-related problem using appropriate methods and produce a well- structured Software Design Document that defines a proposed solution and includes relevant details on requirements, system analysis, system design, coding, testing and implementation. D1 Justify the tools and techniques chosen to realise a custom built website. Justify your preferred selection of tools and techniques in deducing an appropriate solution to a business related problem. business-related problem and produce a well-defined Problem Definition Statement supported by a set of user and system requirements. P2 Determine any areas of risk related to the successful completion of your application. LO2 P3 Research the use of software development tools and techniques and identify any that have been selected for the development of this M2 Compare the differences between the various software development tools and techniques researched and justify your preferred

application. selection as well as your preferred software development methodology.

Chapter 8 – Justify the tools and techniques chosen to realize a custom-built website. Justify

  • Table of Contents
  • Table of Tables
  • Table of Figures
  • INTRODUCTION
  • Chapter 1 – Design Tools
      1. Tools to design UML
      1. Tools to design User Interface
      1. Chosen tools for the design of the application
  • Chapter 2 – Front End technology stack
      1. Front End Programming Language
    • discussed below: 2. Front end Languages: The front end portion is built by using some languages which are
      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. Chosen tools used for the development
  • Chapter 5 – Software Development Models
      1. Introduce several SDLC models: Scrum, Waterfall, V-model, etc.
      1. Chosen 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
  • development methodology................................................................................................................................... techniques researched and justify your preferred selection as well as your preferred software
      1. The reasons why Agile is better than Waterfall
      1. The Difference between Bootstrap and Foundation
      1. Why I choose SQL Server instead of my sql...............................................................................
      1. Why I choose C# instead of NodeJS
  • business-related problem..................................................................................................................................... your preferred selection of tools and techniques in deducing an appropriate solution to a
      1. Why I choose C# in my project
      1. Why I choose Azure SQL in my project
      1. Why I choose .Net 3. Why I choose Agile Software Development and Testing Error! Bookmark not defined.
      1. Why I choose Mockup..............................................................................................................
      1. Why I choose Git......................................................................................................................
  • CONCLUSION
  • REFERENCE
  • Table 1 GitMind tool Table of Tables
  • Table 2 Gliffy tool.............................................................................................................................................................
  • Table 3 MagicDraw tool
  • Table 4 Lucidchart tool
  • Table 5 Microsoft Visio tool
  • Table 6 UML tools comparison
  • Figure 1 Gitmind (https://gitmind.com/) Table of Figures
  • Figure 2 Gliffy (https://www.gliffy.com/)
  • Figure 3 Lucidchart tool
  • Figure 4 Microsoft Visio tool............................................................................................................................................
  • Figure 5 Sketch tool
  • Figure 6 InVision Studio
  • Figure 7 Axure
  • Figure 8 Gitmind tool
  • Figure 9 Sketch Prototyping
  • Figure 10 Communication with team and clients
  • Figure 11 Functions of Operating System........................................................................................................................
  • Figure 12 Django
  • Figure 13 Laravel..............................................................................................................................................................
  • Figure 14 ExpressJS
  • Figure 15 GitHub
  • Figure 16 GitLab
  • Figure 17 Bitbucket
  • Figure 18 SourceForge
  • Figure 19 GitHub Banner
  • Figure 20 SDLC Models
  • Figure 21 Waterfall Model
  • Figure 22 V-Shaped Model
  • Figure 23 Iterative model
  • Figure 24 Spiral Model
  • Figure 25 Big Bang model
  • Figure 26 Agile model
  • Figure 27 Pros and Cons of Waterfall Model...................................................................................................................
  • Figure 28 Illustrate overview my system
  • Figure 29 .NET Core vs Node.js performance

Chapter 1 – Design Tools

1. Tools to design UML

A. What is UML? UML short for Unified Modeling Language, could be a standardized modeling language consisting of an integrated set of diagrams, developed to assist system and software developers for specifying, visualizing, constructing, and documenting the artifacts of software systems, also as for business modeling and other non-software systems. The UML represents a set of best engineering practices that have proven successful within the modeling of enormous and sophisticated systems. The UML could be a important a part of developing object-oriented software and also the software development process. The UML uses mostly graphical notations to specific the look of software projects. Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software. B. What is the use of UML? Mainly, UML has been used as a general-purpose modeling language within the field of software engineering. However, it's now found its way into the documentation of several business processes or workflows. for instance, activity diagrams, a sort of UML diagram, are often used as a replacement for flowcharts. they supply both a more standardized way of modeling workflows in addition as a wider range of features to enhance readability and efficacy. C. Tools: A good tool does its job without making operation difficult with unnecessary extras. Free UML tools are sufficient for easy drafts like in use case A. parenthetically complex systems or to search out solutions for program integration through diagrams (like in cases B and C), you would like the simplest UML tools with numerous features. within the following paragraphs, we introduce you to tools with very different functional ranges. GitMind: simple use in the cloud

Figure 1 Gitmind (https://gitmind.com/) UML tool GitMind is controlled via a browser. Additionally, to making UML diagrams, you'll be able to use the software to develop mind maps or shopping lists. For beginners, the tool even provides a spread of templates. The UML area, for instance, features various use cases and sophistication diagrams. this implies you don’t should insert all the weather by hand. However, the latter isn’t difficult either. Individual building blocks are often selected from various categories from the sidebar of the dashboard. the weather can then be transferred to the diagram with only one click and are moved around via drag-and-drop. Orientation lines help with their alignment. Table 1 GitMind tool Advantages Disadvantages Beginner-friendly No downloadable version All functions included in free version Does not create code Compatible with all common browsers No interface to other providers

Fast operation thanks to HTML5, drag-and- drop, and clear user interface UML 2 compatible MagicDraw: everything you need for professional UML diagrams MagicDraw von No Magic is that the first comprehensive full version for professional modeling during this list. a contemporary design and a clean layout set this desktop app aside from the remainder as a proprietary software for prime demands. The range of functions and user-friendliness confirm this. The modeling tool supports UML, its equivalent for operating systems, SysML, the graphical representation of business processes with BPMN (Business Process Model and Notation) and also the UPDM architecture framework (United Profile for DoDAF/MODAF). In MagicDraw, you're employed with current diagrams in step with the UML 2.5 standard, whose profiles you'll be able to tailor to your own needs. MagicDraw also offers OCL, the stipulation notation, and XMI, which you'll be able to use to export diagrams to other programs with none loss. Table 3 MagicDraw tool Advantages Disadvantages Contains all templates for diagram types in current UML 2. File download only possible after completing registration Supports many programming languages and formats Comparatively high prices Intuitive and understandable user interface WebPortal only available in Enterpriseedition Import/export, code generation, reverse engineering, and round-trip engineering Short familiarization time

Lucidchart: the online UML tool for teamwork Figure 3 Lucidchart tool Lucidchart may be a UML tool that you simply can access at any time in your browser. The free account gives you a well-filled UML toolbox. It includes 7 varieties of UML diagrams and business process modeling languages like BPMN 2.0, network icon templates, mobile device mock-ups, and video integration. one in every of Lucidchart’s advantages is its intuitive operation. It also enables teamsharing and simultaneous editing of diagrams and integrates comments directly within the tool. As a UML tool for Mac, Linux, and Windows, it's a decent alternative to Microsoft Visio for Mac users Table 4 Lucidchart tool Advantages Disadvantages Many teamwork features Many functions only available in Pro or Team accounts Large template library No debugger UML mark-ups accelerate the workflow Code cannot be generated from diagrams Scalable through cloud storage

2. Tools to design User Interface

Overview: UI design tools give designers what they have to style accurate hi-fi wireframes, mockups, and prototypes and render minimally viable products. They represent the nuts and bolts of a design, communicating its functionality. UX design tools concentrate on the user and the way they’ll experience the content. These tools can help structure the data architecture, yet as how someone will flow through the experience. Since this is often more conceptual, UX tools are about helping a designer paint the broader picture of how content and organization will affect experience. 7 useful tools for UI/UX designer: A. Sketch Figure 5 Sketch tool Being able to form universal changes — whether it's through their library of symbols, layer styles, or text styles, or its smooth resizing and alignment features — saves designers time to deliver consistent prototypes. It eliminates what’s tedious and lets designers jump in and make. And with a large number of third-party plugins that integrate without difficulty, there’s no shortage of tools out there that may be used with Sketch. B. InVision Studio

Figure 6 InVision Studio With a full suite of applications, InVision gives designers all of the UI design tools they have to make fully realized and functional prototypes with dynamic elements and animations. Along with these easy-to-use UI design tools, they also make communication easy — with collaboration features that allow developers share their work as they design it, receive feedback, and make documented changes at each step. Another useful aspect of InVision is that the digital whiteboard that permits team members to induce their ideas out there, interact, and find that every one important sign-off before moving forward. C. Axure Figure 7 Axure Axure functions in prototyping and keeping track of the workflow. It features a smooth interface to document as you go. hi-fi drives this app, leading to prototypes filled with details.