22
Term Project Report CMPE 275 Enterprise Application Development FALL 2015 Project Manager Instructor Prof. Charles Zhang Submitted By: TEAM 10 Sai Aishwarya Murukuti (010022584) Jihirsha Golwala (010030943) Ruchi Agarwal (010042721) Nakul Sharma (010090730)

Project Management - Web Application Report

Embed Size (px)

Citation preview

Page 1: Project Management - Web Application Report

Term Project Report

CMPE 275 – Enterprise Application Development

FALL 2015

Project Manager

Instructor

Prof. Charles Zhang

Submitted By:

TEAM 10

Sai Aishwarya Murukuti (010022584)

Jihirsha Golwala (010030943)

Ruchi Agarwal (010042721)

Nakul Sharma (010090730)

Page 2: Project Management - Web Application Report

1. Motivation

“Project management is a growing field which has been used increasingly by organizations of

all sizes. The techniques used for project management play an important role to implement

projects successfully, including planning, control of time, cost and quality. As entrepreneurs

and company executive deal with the daily responsibilities of managing an organization or a

team, it is important to use a project management system to oversee projects from conception

to completion. It helps organization carry out large-scale projects on time, within budget and

with minimal disruption to the rest of the organization.”

2. Introduction

“The system, we implement will be beneficial for effective project management. It will enhance

project planning by allowing task distribution and assignment among team members. Also, it

will be useful to keep track of activities and progress of a particular project. The system will be

a communication and coordination medium between project manager and team members. It

identifies the different individuals involved on the project, together with their objectives,

expectations and influences to each other.””

3. High Level Design

The High level MVC design of our project is outlined as follows:

Figure: Architecture Diagram

Page 3: Project Management - Web Application Report

Three Tier Architecture with MVC:

This project will be based on MVC pattern over three tier architecture where “M” stands

for Model, “V” stands for View and “C” stands for controller. The three tiers are:

Presentation Tier – Responsible for rendering user interface

Business Tier – Contains business logic

Data Tier – Responsible for storing data

The View and Controller will be a part of presentation tier. Model will exist in business tier

and will interact with data tier modules. The three-tier architecture is used to decouple the

layers as much as possible. This will also help to maintain the app and will be beneficial for

scalability purposes.

4. Component Level Design

The Entity Relationship diagram of our project is as follows:

Task, Invitation, Project and User are the entities we have considered for the implementation

of our project. User entity have attributes like name, email, password for a user to sign

up/login for an account. Once the user logs in, he can view the various project s under him

and he can have the access to the various features like creation/deletion of a project/task.

Since the user can create any number of project or tasks there is One-Many relationship

Page 4: Project Management - Web Application Report

between the user and project, user and task. A single project can have any number of tasks

making it One-Many relationship again. There is one-Many relationship between user and

invitation, project and invitation as a user can send any number of invitations to any project

in a single project.

5. Platforms and Technologies Used

Framework /Technologies: Spring MVC, Hibernate, AOP, IOC, Bootstrap, Thyme leaf,

HTML, CSS, Transactions

Database/DBMS: MySQL

Build Tool: Gradle

Language: Java

6. Features

We have implemented the following features:

1) Account Creation – User has the option to create an account or login in to his account if it

already exists.

2) Project Creation- User has the option to create a project with a title and description, which

gives owner privileges. The project is in planning state just after it is created.

3) Send Invitation- Project Owner has the option to send invitation for other users to

participate in the project by sending an email invitation.

4) Accept Invitation- User has the option to check the various invitations he receives and

accept a particular invitation by click the link in the email.

5) Add Task User has the option to add a task to a project which includes the project title,

description, assignee, state, estimated units of work , and actual units of work . User can

only add tasks during the planning state.

6) Delete Task -User has the option to delete already created task from a project. User can

only delete tasks during the planning state.

7) Cancel Task -Project Owner has the option to cancel already started task from a project

even if the project is in ongoing state.

8) Get Project State- User has the option to get the state of the project i.e planning, ongoing,

cancelled or completed.

Page 5: Project Management - Web Application Report

9) Assign Task- Project Owner has the option to assign different tasks to different users. The

assignee can be changed any time before the project is completed/cancelled.

10) Start Project-Project Owner can start it when every task is in assigned state and have

estimated units of work filled in. The state of the project changes from planning to ongoing

state once the project is started.

11) Change Project State- Project Owner has the option to change the project state from

planning to ongoing when project is started, from ongoing to cancelled if a project is

cancelled. Assignee has the option to change the state from ongoing to complete if a project

is finished.

12) Cancel Project- Project Owner has the option to cancel a project if the project is in any of

new, planning, or ongoing states.

13) Report Project Progress- User has the option to view the progress of the project i.e of task

units originally planned, task units finished, tasks units to be finished, task units cancelled

with the team members scoreboard sorted by the number of task units completed so far.

Page 6: Project Management - Web Application Report

7. Screenshots of Features Implemented

Before DEMO:

Sign up screenshot: User, who is not registered with the application, can do sign up

Login Screenshot: Already registered user can login by entering email and password

Page 7: Project Management - Web Application Report

Homepage Screenshot: This shows features and functionality provided by our application

Page 8: Project Management - Web Application Report

My Account Screenshot: User can see his/her account and edit details. Also, he can see

projects he is involved in along with their status and description

Page 9: Project Management - Web Application Report

Edit Account Details: This shows how user can edit his account details

Add project Screenshot: By this feature, user can add new project. Once the project is

created, it is in the Planning state by default. User is not able to change state explicitly.

Page 10: Project Management - Web Application Report

View Project Screenshot: It gives overall summary of all project

Update Project Screenshot: User can edit project details, by selecting particular project

Page 11: Project Management - Web Application Report

View Tasks Screenshot : This shows all tasks related to the particular project

Add Task Screenshot: User can add a task to particular project

Page 12: Project Management - Web Application Report

Invite Participant Screenshot: User can invite other user to participate in a project

Sending Email for invitation: Email is sent to the user who is invited for a project

Page 13: Project Management - Web Application Report

List Invitations Screenshot: It displays the list of invitations for whole application

View Report Screenshot: User can view report by selecting project

Page 14: Project Management - Web Application Report

Project report Screenshot: project report is displayed for a selected project

AFTER DEMO:

After demo, we integrated rules that are mentioned in the project description, which has to be

taken care by application.

Projects can be moved to ongoing only if all the tasks are in assigned state

Page 15: Project Management - Web Application Report

Task in cancelled/finished state can’t be updated

Only the owner of the project can move from ongoing to finished

Page 16: Project Management - Web Application Report

Every Task should be cancelled/finished to move from ongoing to finished state

Task can’t be changed from assigned to new

Page 17: Project Management - Web Application Report

Task can’t be changed from started to new state

The task can’t be changed from started to assigned state

Page 18: Project Management - Web Application Report

The Estimate can’t be changed while the project is ongoing

8. Test Results

Followings are test cases which are written to perform Functional testing. All the validations are

tested, which are attached with snaps in the Screenshot section.

Test Case ID Login

Test Case Description Login functionality

Steps Click on “Login” link on the home page.

Click on Email text box and enter the valid

email address. Enter the password in the

password textbox.

Click on login button

Expected Output User should be taken to the Homepage where

he can access all project functionalities

Page 19: Project Management - Web Application Report

Actual Output The home screen opens up showing all

functionalities with headings and descriptions

Test Case ID Signup

Test Case Description The new users need to sign up before they

can login in the application

Steps Go to Home scree. Click on Sign up button.

Enter the name, email address as username

and password fields. Click on register button

Expected Output User should be able to register successfully

and login to the application

Actual Output User is able to register and now can login in

the application via valid credentials

Test Case ID My account tab

Test Case Description User can view his/her account details. Also,

he should be able to edit details

Steps Go to Home Screen. Enter the valid username

and password and click on the login button.

After entering, click on the my account tab

Expected Output User should be able to view account details

Actual Output User is able to see the account details. Also,

list of projects he/she is involved in. User can

also edit account details by clicking on edit

details button

Test Case ID Projects tab

Test Case Description The user should be able to add project and see

projects owned by him and projects he is part

of it.

Page 20: Project Management - Web Application Report

Steps Login in the application and go to Project tab.

Expected Output User should be able to see the list of projects

going all over application and able to add

project with name and description.

Actual Output User is able to see projects and able to add

project

Test Case ID Selecting particular project

Test Case Description User should be able to see all tasks related to

the project.

Steps Login in the application. Click on the project

tab. Select the particular project which you

would like to see

Expected Output The user should be able to see all the tasks

related to the project with status

Actual Output The user is able to view the particular project

and see all tasks related to

Test Case ID Send Invitation

Test Case Description User should be able to invite other

participants in the project to collaborate

Steps Login in the application and click on the

project tab. Select the particular project and

click on it. Click on the send invitation

button. Select the user and click on the invite

button

Expected Output User should be able to invite the other

participant for a particular project.

Actual Output User is able to send the invitation. An email

is sent to the participant with the link of the

project.

Page 21: Project Management - Web Application Report

Test Case ID Add task

Test Case Description User should be able to add task in the

particular project

Steps Login in the application. Go to project tab

and select the particular project.

Expected Output User should be able to add task in the project.

Actual Output User is able to add task in the particular

project

Test Case ID Invitations

Test Case Description User should be able to see all the invitations

belong to him. It is up to him whether to

accept or reject

Steps Login in the application and go to invitation

tab

Expected Output User should be able to see invitations pending

and belongs to him

Actual Output User is able to see invitations along with two

options: accept or reject. User can select

either of them

Test Case ID Project report

Test Case Description User can see project’s report with gives him

overall idea about it and keep track of the

status

Steps Login in the application and go to report tab

Page 22: Project Management - Web Application Report

Expected Output User should be able to see project details and

get summary of it

Actual Output User is able to see all details of project

selected. All the tasks are listed with status,

participants and tasks assigned to them

Test Case ID Logout

Test Case Description User can logout from the application and

make sure whatever tasks he had performed

are durable

Steps Go to the my account tab and click on logout

button

Expected Output User should be able to logout from the

application

Actual Output User is logged out from the application and

login page is displayed.

9. Lessons Learnt

This project gave insight to many technologies and concepts like Spring AOP, Hibernate. It

also gave exposure of developing an end-to-end application and the flow of working across

different components of MVC model, view and controller.

10. Future Scope

We can include OAuth functionality for login via Third party application such as LinkedIn.

Projects can be categorized and displayed section wise.

Project tasks contribution can be viewed as form of graph like version control systems.