WEBG301: Creating Employee Performance Management Software with Laravel and MVC, Summaries of Web Application Development

An assignment for a Higher Nationals in Computing course, specifically for the WEBG301: WEB Project unit. The assignment requires the creation of a software programme to manage employee performance effectively. The student plans to implement the system using the Waterfall software development life cycle and the Model-View-Controller (MVC) architecture. The project will be developed using Laravel PHP framework and MySQL database. a literature review on software development life cycles and MVC architecture, as well as functional and non-functional requirements.

Typology: Summaries

2021/2022

Uploaded on 11/30/2022

ImChoi
ImChoi 🇻🇳

4.4

(5)

15 documents

1 / 21

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Partial preview of the text

Download WEBG301: Creating Employee Performance Management Software with Laravel and MVC and more Summaries Web Application Development in PDF only on Docsity!

Higher Nationals in Computing

WEBG301: WEB Project

ASSIGNMENT

Learner’s name:

ID:

Class:

Subject code: WEBG

Assessor name: PHAN MINH TAM

Assignment due: Assignment submitted:

❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date: Signature & Date:

Table of Contents

 Implementation of the system.  Perform a successful handover to the stakeholders.  Statistical analysis of employee data.  Evaluate the performance of the new system. Has it improved the way we manage our people.

Chapter 2: Literature Review

1. Introduction

Example: It is generally accepted that there are three basic lifecycle approaches to software development, the waterfall approach, iterative development and component-based software engineering. This literature review places Rapid Application Development in context as well as looking at some of reasons for the evolution of methodologies

2. SDLC model

2.1. Introduction to SDLC.

Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality software. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.

  • SDLC is the acronym of Software Development Life Cycle.
  • It is also called as Software Development Process.
  • SDLC is a framework defining tasks performed at each step in the software development process.
  • ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software. SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process. The following figure is a graphical representation of the various stages of a typical SDLC.

-Model -View -Controller and each of them has specific responsibilities The main reasons why MVC is used are: First, it doesn't allow us to repeat ourselves and second, it helps to create a solid structure of our web applications.

4. PHP Frameworks

4.1. What is PHP Framework?

PHP is one of the most popular programming languages around the world, and the recent PHP 7 release made this server-side programming language better and more stable than ever. PHP is widely used in major projects. Facebook, for example, utilizes PHP for maintaining and creating their internal systems. WordPress uses PHP to power its internals, which in return is powering more than 26% of the web. Currently, PHP powers more than 82% of websites (whose server-side programming languages the Web Technology Surveys site is able to track). In this article, we'll look at three of the most popular PHP frameworks: Symfony, Laravel, and Yii. We'll examine how they compare to help you decide which one might be the best fit for your needs.

4.2. Why use a PHP Framework?

What's the point of using a framework instead of raw PHP to develop your application? A few benefits of using a framework include: A PHP framework makes development faster. For example, you don't have to write complex queries to retrieve the data from the database. PHP frameworks provide CRUD operations (Create, Read, Update, and Delete). Frameworks enable developers to scale systems easily. Code maintenance is easier than with a vanilla PHP application. The application code is concise and easy to work with. The MVC model ensures rapid development. Frameworks are better in securing the web application from common security threats. The don't repeat yourself (DRY) principle ensures that minimal code has maximum impact. The above benefits are too significant to be ignored. Even though raw PHP can be used to create any application, the current development standards require tools and time- management skills to meet the market demand.

4.3. Common PHP Frameworks

It’s difficult to get a definitive list of PHP frameworks. Wikipedia lists 40 PHP

frameworks, but some of those are better described as content management

systems, and undoubtedly there are many more.

Early PHP frameworks include PHPlib, Horde, and Pear. Most of the big names now

launched in 2005 or later.

Here are some of the best PHP frameworks in use today.

1. Laravel

2. Symfony

3. CodeIgniter

4. Zend Framework / Laminas Project

5. Yii (Framework)

6. CakePHP

7. Slim

-Javascript -Jquery -PHP 8 -Html Tools -Visual studio code -Xampp -Mysql workbench

Chapter 3: Requirements Analysis

1. User’s requirements

1.1. Functional requirements 1.1.1. Customer roles:View productsSearchView product detailLoginRegister 1.1.2. Admin roles:CreateUpdateDeleteEditLogin 1.2. Non-Functional requirements 1.2.1. Performance and scalability Scalability Scalability is the capability of a system or process to handle an enhanced level of operations without constraints or structural bottlenecks. Every business model gives paramount importance to business generation, which leads to higher transactional volume and its consequential surge in operational activity. Scaling up the operations to handle increased business activity is inherent and built into the system design. Scalability can be classified into two categories: Physical and Intangible.

changing environment. Like reliability, it can be expressed as a probability of repair during some time. For example, if you have 75 percent maintainability for 24 hours, this means that there’s a 75 percent chance the component can be fixed in 24 hours. Maintainability is often measured with a metric like MTTRS — the mean time to restore the system. Availability Availability describes how likely the system is accessible to a user at a given point in time. While it can be expressed as an expected percentage of successful requests, you may also define it as a percentage of time the system is accessible for operation during some time period. For instance, the system may be available 98 percent of the time during a month. Availability is perhaps the most business- critical requirement, but to define it, you also must have estimations for reliability and maintainability. 1.2.4. Security Security is a non-functional requirement assuring all data inside the system or its part will be protected against malware attacks or unauthorized access. But there’s a catch. The lion’s share of security non-functional requirements can be translated into concrete functional counterparts. If you want to protect the admin panel from unauthorized access, you would define the login flow and different user roles as system behavior or user actions. 1.2.5. Usability Usability is yet another classical nonfunctional requirement that addresses a simple question: How hard is it to use the product? Defining these requirements isn’t as easy as it seems. 1.2.6. …… https://www.altexsoft.com/blog/non-functional-requirements/

2. Use case diagram

2.1. Use case

2.2. Use Case specification

2.2.1. UC-
2.2.2. UC-

3. Gantt chart

4. X

Chapter 5: Implementation

1. Appication screenshots

1.1. Customer side

1.2. Admin side

2. Sample source code

3. GitHub Repository

Chapter 6: Conclusion

1. What went well.

2. What did no go well.

3. Lessons learned and further improvements