SlideShare a Scribd company logo
1 of 136
CAVAROS
Smart Collaborative
Programming Interface Tool
ระบบเครื่องมือเพื่อการประสานงานในองค์กร
MISS JENNETH CHAOVISUTIKUL 5488022
MR. SIRACHAT KONGKASAEN 5488066
MR. JANNARONG WATTHONG 5488212
ADVISOR: DR. BOONSIT YIMWADSANA
Agenda
• Motivation
• Project Objectives
• Literature Review
• System Design
• Implementation
• Testing and Evaluation
• Conclusion
• Reference
2
Motivation
3
Motivation
Project Management in
workflow environment is difficult.
Why?
 No task tracking
 No document tracking
 No versioning
 No collaborative
What we want?
A software to track:
 Progress of projects
 Documents/files
4
Project Objectives
5
Project Objectives
Create web-based collaborative software for
 Project management
 Document/file management
 Revision control
6
Literature Review
7
Literature Review
 Collaborative Tool
 Gantt Chart:
 Kanban Board:
 To-Do-List:
 Collaborative Suite:
 Social Network:
 Revision Control:
 Project Management:
8
Literature review
 Software Development Model
 Waterfall Model
 Iterative Model
 Agile Model
9
3 software products similar to CAVAROS
Trello
High operational ticket Lack of time sequenced
10
Literature review
Microsoft Project
Simple spread sheet
Calculate project budgets
Offline, No collaborative tools
11
Literature review
 igh configurable,
 Efficient dashboard
JIRA
• High configurable
• Efficient dashboard
• Functions are overhead
• Slowness in usage
• Expensive
12
Literature review
13
https://www.atlassian.com/software/jira/pricing/?tab=server
Literature review
Functional Comparison
Task
Tracking
Document
Tracking
File
Versioning
Collaborative
Tool
CAVAROS
14
Type Software Advantages Disadvantages
Collaborative Tools Time sequenced chart Difficult to defined constraint
High operational ticket Lack of time sequenced
Simple list Complicated when tasks are overloaded.
Full-functions Difficult to understand
Real time Difficult to see projects’ progresses.
Advantages & Disadvantages
Revision Control Local repositories Poor pushing, Security problems
Simple command Centralized
Keep whole files,
Permanent history
Not support merging
Project Management High configurable,
Efficient dashboard
Functions are overhead
Simple spread sheet Offline, No collaborative tools
15
Software Development Model
Model Phases Advantages Disadvantages
Waterfall 1. Easy & Simple
2. Stages are clear
3. Sequence Tasks
1. Not support
complexity
2. Bottleneck
between stages
3. Not support
changing FR
Iterative 1. Fast & Parallel
2. Flexible to
change FR
3. Supply early
product
1. Require high
management
attention
2. Critical system
design
Agile 1. Promote
teamwork
2. Require less
resource &
planning
3. Very fast &
flexible
1. Extremely
depended on FR
2. Lacking of
documentation
3. High risk of
extensibility &
maintainability
16
System Design
17
System Design
System Architecture
18
Permission to modify
Groups of Users Project’s Components
Project Section Task Work/List
Project Manager O O O O
Team Leader X X O O
Member X X X O
Term Definition
Project Sequence of tasks which involve a team of people
to complete specific goal in time scheduled.
Section A part of project consist of tasks with same functions.
Task An activity that needs to be accomplished in a specific period of time.
Work/List A step to accomplish the task.
Project Manager People who own projects, create sections, assign team leaders
and member to sections or tasks.
Team Leader People who are assigned to sections,
and can assign task to members.
Member People who are responsible for assigned tasks.
Term & Definition
19
System Design (cont.)
Project and Users Overview
20
System design (cont.)
Project Management
21
System Design (cont.)
Notification & Alert
22
• User B cannot
download the file to edit
• User B can
download the file to view
System Design (cont.)
File Management & Revision Control
23
• User A download a file to edit
• The file is locked
System Design (cont.)
File Management & Revision Control
24
• User A is the only one who can upload the file
• User A upload the file
• The file is unlocked
• The file keeps all its previous versions
System Design (cont.)
Structure Chart
25
 Use Case Diagram
26
System Design (cont.)
Data Flow Diagram – Contextual Level
27
Data Flow Diagram – Level 1
28
Data Flow Diagram - Level 2
See Appendix A: DFD Level 2
29
ER Diagram
30
Implementation
31
Implementation
 System Environment
 Implementation Guide
32
System Environment
Operating System Web Server Software IDE
DBMS Programing Tools
HTML5 CSS3 jQuery
33
System Implementation Overview
34
Application
Implementation Guide: Django
Django Architecture (Backend)
35
Implementation Guide: Django
Django Architecture (Backend)
36
Implementation Guide: Django
Django Architecture (Backend)
37
Implementation Guide: Django
Django Architecture (Backend)
38
Implementation Guide: Django
Object-Relational Mapping (ORM)
Person
id name
0 Mike
1 Too
2 Jane
Relational Database (RDBMS)
SELECT * FROM Person
WHERE id=0
Object-Relational Mapping (ORM)
Create a Virtual Object Database
Person p = Person.get(id=0)
How to query
“Mike”?
39
Implementation Guide: Django
MVC Model
40
Implementation Guide: Django
P1.1 Authenticate User Account
41
Implementation Guide: Django
More Implementation Guide
See Appendix B: Implementation Guide: Django
42
Implementation Guide: Event
P1.7 Show Event
1. UserNotificationListener()
2. ShowCounter()
3. ResetCounter()
43
Implementation Guide: Event
P1.7 Show Event: Notification
Each user can see different notification
44
Implementation Guide: Event
P1.7 Show Event: Event Trigger
A triggers Event
B and C and see Event triggered by A
45
Implementation Guide: Event
P1.7 Show Event: System Logs
A triggers Event
A, B and C and see Event triggered by A
46
Implementation Guide: Event
P1.7 Show Event
Notification Server Pool (in Multiple Projects)
User Project
1
Project
2
Project
3
Viewable
User A O O X A = { 1 , 2 }
User B O X O B = { 1 , 3 }
User C O O O C = { 1 , 2 , 3 }
47
Implementation Guide: Event
P1.7 Show Event
UserNotificationListener() via REST API
We want to get notification using REST API
48
Implementation Guide: Event
P1.7 Show Event
More about UserNotificationListener()
See Apendix C: Implementation Guide: Event
49
Implementation Guide: AngularJS
P1.7 Show Event Layer
View: Visual Appearance
Model: Data Model
(JavaScript Objects)
Controller: Adds
Behavior
Workflow
• User interact with
the view
• Changes the model,
calls controller (data
binding)
• Controller
manipulates model,
interact with server
• AngularJS detects
model changes and
update the view
(two-way data
binding)
50
Implementation Guide: AngularJS
P1.7 Show Event
51
Implementation Guide: AngularJS
P1.7 Show Event
See Appendix D:
Implementation Guide: AngularJS P1.7 Show Event
52
Testing and Evaluation
53
Unit Tests
P1.1 Authenticate User Account
Operation Performed Condition Tested Actual Result
Fill username and
password, and click on
Login button
When users fill the wrong username and/or password after
clicking on “Login” button, the system shall alert “wrong
username or password, please type again” message.
Pass
Click on Sign Up button When users click on “Sign up” button, the system shall go to
Register page.
Pass
Click on Change
password button
When users click on “Change password” button, the system
shall go to Register page.
Pass
Click on Login button After successfully logged in, the User’s Profile page will appear. Pass
54
Unit Tests
More Unit Tests
See Appendix E: Unit Tests
55
User’ Evaluation
Test Subject
Type Value
Problems’
experience
People who feel difficult to organize their work
Age Any
Gender Both male and female
Occupation 1. Professors or lecturers who work in the university
2. People who work in an organization
3. Students who work on a project
56
User’ Evaluation
Test Scenario
 Run CAVAROS System on a Web Browser
 Register and Log in to CAVAROS System
 Edit Profile and Change Password
 Create or Delete Project(s)
 Add Members to the Project(s)
 Create, Edit or Delete Section(s)
 Add Members to the Section(s)
 Create, Edit or Delete Task(s)
 Add Members to the Task(s)
 Create, Edit or Delete Checklist(s)
 Mark or Unmark the Checklist(s)
 Approve Finished Task(s)
 Upload, Update Version, Edit and Download File(s)
57
User’ Evaluation
Data Capturing
 On 5 users: 1 lecturer and 4 students
 By observation and asking for feedback
 Conclude results into these 6 questions
1. How successful users can complete specified
set of task in the test scenario?
2. Is CAVAROS System easy to use?
3. Is CAVAROS System give good interactive performance?
4. Is CAVAROS helps users working easier?
5. What users like or do not like about CAVAROS System?
6. What do users want CAVAROS System to improve?
58
User’ Evaluation
Data Capturing
1. How successful users can complete specified
set of task in the test scenario?
 All users could perform all tasks specified in user req.
 Users could intuitively use CAVAROS without guidance
 Some users were not sure about the definition of section.
59
User’ Evaluation
Data Capturing
2. Is CAVAROS System easy to use?
 Users said CAVAROS
 was easy to use
 did require little time to learn
 required some modification on GUI
 should have priority level for checklist and tasks
60
User’ Evaluation
Data Capturing
3. Is CAVAROS System give good interactive performance?
 Users said CAVAROS can perform well
with high-speed WiFi
61
User’ Evaluation
Data Capturing
4. Does CAVAROS help users work easier?
 Users can use CAVAROS to manage their works by
dividing into projects, sections, tasks and checklists.
 Users can track work progress
 Users recommended that project manager must
control the behavior of team member to frequently
update their work progresses
62
User’ Evaluation
Data Capturing
5. What users like or do not like about CAVAROS System?
Users said they like CAVAROS that:
 Provides simple GUI
 Provides file locking mechanism
Users said they do not like CAVAROS that:
 It is difficult to create checklists
63
User’ Evaluation
Data Capturing
6. Which components of CAVAROS that users suggested
for improvement?
 Users said they preferred
 Chat Box
 Priority List
 Repetition System (automatic task generation)
 Integration with Social Media
64
Conclusion
65
Conclusion
 Benefit: To Project Developers
 Benefit: To Users
 Problem and Limitation
 Future Work
66
Conclusion
Benefit: To Project Developers
 We learned
 How Collaborative Tool, Version Control and Project Management work
 The Concept of Software Development Life Cycle
 System Analysis and Design Processes
 How to Document Senior Project
 The Concept of Model-View-Controller (MVC)
 How to Design Web Interface Clear and Simple
 The Concept of Web Interactions
67
Conclusion
Benefit: To Users
Users can:
 manage their works
 track project progress
 know who are responsible for works
 manage file versions
68
Conclusion
Problem and Limitation
 Date picker is not support by Firefox
 CSS3 and HTML5 are compatible with Internet Explorer 9+
 Users cannot directly create checklists
 Forgot password function is not implemented
 Data Backup Recovery function is not implemented
 Struggle with high traffic coming
 Different Time Zone
69
Conclusion
Future Work
CAVAROS needs to provide
 More charts in dashboard and more report types
 Data Backup Recovery Function
 Waterfall Model (waterfall model phases concept)
and Agile Model Modes (automatic task generation)
 Functions for Hospital Database Management
 High Availability Environment
70
References
71
References
 Wikipedia, the free encyclopedia, "Wikipedia," 27 June
2014. [Online]. Available:
http://en.wikipedia.org/wiki/Collaboration_tool.
 M. Haselmayr, "Forbes," 7 November 2013. [Online].
Available:
http://www.forbes.com/sites/allbusiness/2013/07/11/5-
types-of-office-collaboration-tools-which-is-right-for-your-
team/.
 Wikipedia, the free encyclopedia, "Wikipedia," 15
December 2014. [Online]. Available:
http://en.wikipedia.org/wiki/Revision_control.
 Git, "Git," [Online]. Available: http://git-
scm.com/book/en/v2/Getting-Started-About-Version-
Control.
 Wikipedia, the free encyclopedia, "Wikipedia," 14 January
2015. [Online]. Available:
http://en.wikipedia.org/wiki/Project_management.
 Project Management Institude, "Project Management
Institude," [Online]. Available: http://www.pmi.org/About-
Us/About-Us-What-is-Project-Management.aspx.
72
Thank you for your attention
Appendix A
DFD Level 2
Appendix A: DFD Level 2
P1 - Authenticate User Account
Data Flow Diagram - Level 2
P2 - Show User Profile
Data Flow Diagram - Level 2
P3 - Manage User
Data Flow Diagram - Level 2
P4 - Manage Module
Data Flow Diagram
Level 2
P5 - Control File
Version
Data Flow Diagram - Level 2
P6 - Show Workflow
Data Flow Diagram - Level 2
P7 - Show Event
Data Flow Diagram - Level 2
P8 - Show Dashboard
Data Flow Diagram
Level 2
P9 - Report
Appendix B
Implementation Guide: Django
Appendix B:
Implementation Guide: Django
P1.1 Authenticate User Account
Implementation Guide: Django
P1.2 Show User Profile
Implementation Guide: Django
P1.3 Manage User: Show Member
Implementation Guide: Django
P1.3 Manage User: Add Member (GET)
Implementation Guide: Django
P1.3 Manage User: Add Member (POST)
Implementation Guide: Django
P1.3 Manage User: Remove Member
Implementation Guide: Django
P1.4 Manage Module: Create Project
Implementation Guide: Django
P1.4 Manage Module: Edit Project
Implementation Guide: Django
P1.4 Manage Module: Delete Project
Implementation Guide: Django
P1.4 Manage Module: Create Section
Implementation Guide: Django
P1.4 Manage Module: Edit Section
Implementation Guide: Django
P1.4 Manage Module: Delete Section
Implementation Guide: Django
P1.4 Manage Module: Create Task
Implementation Guide: Django
P1.4 Manage Module: Edit Task
Implementation Guide: Django
P1.4 Manage Module: Delete Task
Implementation Guide: Django
P1.5 Control File Version: Upload File
Implementation Guide: Django
P1.5 Control File Version:
Upload Newer Version & Show File Information
Implementation Guide: Django
P1.5 Control File Version: Download To View
Implementation Guide: Django
P1.5 Control File Version: Download To Edit
Implementation Guide: Django
P1.5 Control File Version: Show File Historical Version
Implementation Guide: Django
P1.6 Show Workflow: Show Progress
Implementation Guide: Django
P1.8 Show Dashboard
Implementation Guide: Django
P1.9 Report
Appendix C
Implementation Guide: Event
Appendix C:
Implementation Guide: Event
P1.7 Show Event
UserNoficationListener()
Now, we get notification list in form of Promise
Implementation Guide: Event
P1.7 Show Event
Asynchronous Methods in Sequential Manner
• async1() is query() from previous slide
• async2() is getUserName(IDs) at slide no. 71
• async3() is bucketListener() at slide no. 74
Implementation Guide: Event
P1.7 Show Event
What is Promise?
Promise represents public APIs, which let you handle
asynchronous process by uniform format.
It also let you nest the task, in sequential order, to perform
In general, Promise can be in below states
1. pending: initial state, not fulfilled or rejected.
2. fulfilled: successful operation
3. rejected: failed operation.
Implementation Guide: Event
P1.7 Show Event
Implementation Guide: Event
P1.7 Show Event
UserNoficationListener() (cont.)
We want to get notifications that include username(s)
Implementation Guide: Event
P1.7 Show Event
Asynchronous Methods in Parallel Manner
• From the previous slide,
getUserName(IDs) behaves in
Parallel manner
• $q is a Deferred
Implementation Guide: Event
P1.7 Show Event
What is Deferred?
A Deferred is just a Promise with methods that allow its owner to
resolve or reject the Promise.
In our case, a Deferred contains an array of Promises associated
with it.
Implementation Guide: Event
P1.7 Show Event
Implementation Guide: Event
P1.7 Show Event
Execution of UserNoficationListener() (cont.)
We get username(s) using REST API
Implementation Guide: Event
P1.7 Show Event
Execution of UserNoficationListener() (cont.)
Now
We have chuck of notification that include username(s).
Next
We want to compare the chuck and the bucket.
Implementation Guide: Event
P1.7 Show Event
Execution of UserNoficationListener() (cont.)
We want to get bucket using REST API
Implementation Guide: REST API
P1.7 Show Event
What is REST API?
Representational State Transfer (REST) is a software architecture style
consisting of guidelines and best practices for creating scalable web
services. REST is a coordinated set of constraints applied to the design of
components in a distributed hypermedia system that can lead to a more
performant and maintainable architecture.
Implementation Guide: REST API
P1.7 Show Event
CRUD in REST Operation
CRUD REST Description
CREATE POST Initialize the state of a new resource at the given URI
READ GET Retrieve the current state of the resource
UPDATE PUT Modify the state of a resource
DELETE DELETE Clear a resource after the URL is no longer valid
Appendix D
Implementation Guide: AngularJS
Appendix D:
Implementation Guide: AngularJS
P1.7 Show Event
Index $scope.notificationList(chunk) $scope.bucket Bucket(REST API)
0 14
1 13
2 9
3 6
4 5
GET /notification/user/bucket – list of user notification bucket
Before we using GET method, we have a chuck as shown above
Implementation Guide: AngularJS
P1.7 Show Event
Index $scope.notificationList(chunk) $scope.bucket Bucket(REST API)
0 14 5 5
1 13 6 6
2 9 9 9
3 6
4 5
GET /notification/user/bucket – list of user notification bucket
After using GET method, $scope.bucket is updated
Implementation Guide: AngularJS
P1.7 Show Event
Index $scope.notificationList(chunk) $scope.bucket Bucket(REST API)
0 14 5 5
1 13 6 6
2 9 9 9
3 6 13 13
4 5 14 14
POST /notification/user/bucket – add new notification to bucket
Use POST method, Bucket(REST API) is updated,
And the Counter is incremented.
Appendix E
Unit Tests
Appendix E:
Unit Tests
P1.1 Authenticate User Account
Operation Performed Condition Tested Actual Result
Fill username and
password, and click on
Login button
When users fill the wrong username and/or password after
clicking on “Login” button, the system shall alert “wrong
username or password, please type again” message.
Pass
Click on Sign Up button When users click on “Sign up” button, the system shall go to
Register page.
Pass
Click on Change
password button
When users click on “Change password” button, the system
shall go to Register page.
Pass
Click on Login button After successfully logged in, the User’s Profile page will appear. Pass
Unit Tests
P1.2 Show User Profile
Operation Performed Condition Tested Actual Result
Click on Edit profile In Edit User Profile page, user’s information must be shown. Pass
Edit profile and click save
button
Users can edit his profile by changing it in the text field,
and the changed profile will be updated after clicking on
“save” button.
Pass
Click on change password
button
When users click on “change password” button in the Edit
Profile page, the Change Password page will appear.
Pass
Unit Tests
P1.3 Manage User
Operation Performed Condition Tested Actual Result
Search Member A Project Manager and a Team Leader can search a
member by using the name of the member, and the
resulted search must be shown responsively.
Pass
Add Member by Project Manager A Project Manager can add a member by selecting from
list of resulted search.
Pass
Add Member by Team Leader A Team Leader can add a member by selecting from list
of resulted search.
Pass
Add Lists of Members A Project Manager and a Team Leader can multi-select a
list of searched members to be added either in a Project
or in a Section.
Pass
Remove Member A Project Manager and a Team Leader can remove a
member or a list of members in the project by selecting
each existing member.
Pass
Assign Role A Project Manager and a Team Leader can assign a role of
members by putting them to Task
Pass
Unit Tests
P1.4 Manage Module
Operation
Performed
Condition Tested Actual Result
Create Project A Project Manager can create a project successfully. Pass
Edit Project A Project Manager can edit a project successfully. Pass
Delete Project A Project Manager can delete a project successfully. Pass
Create Section A Project Manager and a Team Leader can create a section within an
existing project successfully.
Pass
Edit Section A Project Manager and a Team Leader can edit a section within an existing
project successfully.
Pass
Delete Section A Project Manager and a Team Leader can delete a section within an
existing project successfully.
Pass
Unit Tests
P1.4 Manage Module (cont.)
Operation
Performed
Condition Tested Actual Result
Create Task A Project Manager and a Team Leader can create a task within an
existing section successfully.
Pass
Edit Task A Project Manager and a Team Leader can edit a task within an existing
section successfully.
Pass
Delete Task A Project Manager and a Team Leader can delete a task within an
existing section successfully.
Pass
Create Checklist A Project Manager, a Team Leader, and a Team Member can create a
checklist within an existing task successfully.
Pass
Edit Checklist A Project Manager, a Team Leader, and a Team Member can edit a
checklist within an existing task successfully.
Pass
Delete Checklist A Project Manager, a Team Leader, and a Team Member can delete a
checklist within an existing task successfully.
Pass
Unit Tests
P1.5 Control File Version
Operation Performed Condition Tested Actual Result
Upload File Users can upload a file associated with a Task ,and a alert
message will be shown a result of uploading.
Pass
Download File Users who are accessible to the file are able to download it,
and no files are shown to unauthorized users.
Pass
Upload to Newer Version The system shall automatically set to new version of a file by
incrementing it from the previous one after the newer file
successfully uploaded.
Pass
View Historical Version Any version of a file shall be shown to the authorized users,
and the order of the version must maintain correctly.
Pass
Download Specific Version The authorized users are able to download any existing
version of a file, and the alert message will be shown a
confirmation of downloading.
Pass
Set Number of Version The authorized users are able to set the existing version to be
any version. If the version is duplicate, there must be an error
message appears. After the version is updated, the order of
the version is rearranged.
Pass
Unit Tests
P1.6 Show Workflow
Operation Performed Condition Tested Actual Result
View progress bar of Task Authorized users are able to see the progress bar of Task, and
whenever the task is done, the bar shall be updated.
Pass
View Progress bar of
Section
Authorized users are able to see the progress bar of Section,
and whenever the task is done, the bar shall be updated.
Pass
View Progress bar of
Project
Authorized users are able to see the progress bar of Project,
and whenever the task is done, the bar shall be updated.
Pass
Unit Tests
P1.7 Show Event
Operation Performed Condition Tested Actual Result
View System Logs A Project Manager can see all categorized events occurred in the
system. As shown, it can be exported to a document-format file, and
the alert message will be shown a confirmation of exporting.
Pass
View Notification Notification shall be shown to the users. The details of the
notification are vary regarding to the events relating to a certain
user. Ex. if somebody uploads a file or submit a task, the system
shall notify a message to a Project manager, Team Leader, and all
team members who are responsible for that particular task.
Pass
Unit Tests
P1.8 Show Dashboard
Operation Performed Condition Tested Actual Result
View Dashboard The system shall show responsively the percentage of every
section in the project due to the changes of number of finished
tasks, and a Project Manager is logged in successfully.
Pass
View Project Duration The system shall show the start date and the end date of the
project after a Project Manager is logged in.
Pass
Unit Tests
P1.9 Report
Operation Performed Condition Tested Actual Result
Export Dashboard As the dashboard is shown, a Project manager can click
“export” button to export a dashboard as a report.
Pass
Report Person’s Behavior The system shall collect person’s behavior by record number
of completed and incomplete tasks represented as a
document-format file as a report.
Pass

More Related Content

What's hot

VSTS in a nutshell for project lifecycle management
VSTS in a nutshell  for project lifecycle managementVSTS in a nutshell  for project lifecycle management
VSTS in a nutshell for project lifecycle managementPhanindra Kishore
 
Guidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processGuidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processijseajournal
 
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSA NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSijseajournal
 
QA Interview Questions With Answers
QA Interview Questions With AnswersQA Interview Questions With Answers
QA Interview Questions With AnswersH2Kinfosys
 
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys Computer Trainings Online
 
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...mdfachowdhury
 

What's hot (9)

VSTS in a nutshell for project lifecycle management
VSTS in a nutshell  for project lifecycle managementVSTS in a nutshell  for project lifecycle management
VSTS in a nutshell for project lifecycle management
 
Swebokv3
Swebokv3 Swebokv3
Swebokv3
 
Web Testing
Web TestingWeb Testing
Web Testing
 
Guidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processGuidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum process
 
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSA NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
 
QA Interview Questions With Answers
QA Interview Questions With AnswersQA Interview Questions With Answers
QA Interview Questions With Answers
 
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
 
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
 
Quiz2.2
Quiz2.2Quiz2.2
Quiz2.2
 

Similar to Cavaros

BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECTBOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECTRavi Teja P
 
COLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEMCOLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEMIRJET Journal
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
SPRING BOOT BASED TASK HANDLER.pptx
SPRING BOOT BASED TASK HANDLER.pptxSPRING BOOT BASED TASK HANDLER.pptx
SPRING BOOT BASED TASK HANDLER.pptxSWETHAABIRAMIM
 
Online examination system
Online examination systemOnline examination system
Online examination systemRahul Khanwani
 
Lab management
Lab managementLab management
Lab managementlogumca
 
Managing Software Project
Managing Software ProjectManaging Software Project
Managing Software ProjectAnas Bilal
 
Jira for Agile Project Management.pptx
Jira for Agile Project Management.pptxJira for Agile Project Management.pptx
Jira for Agile Project Management.pptxAbhishek Prasoon
 
60780174 49594067-cs1403-case-tools-lab-manual
60780174 49594067-cs1403-case-tools-lab-manual60780174 49594067-cs1403-case-tools-lab-manual
60780174 49594067-cs1403-case-tools-lab-manualChitrarasan Kathiravan
 
SYSTEMS PRESENTATION to help you in design
SYSTEMS PRESENTATION to help you  in designSYSTEMS PRESENTATION to help you  in design
SYSTEMS PRESENTATION to help you in designrhesusfactor848
 
College Management System project
College Management System projectCollege Management System project
College Management System projectManish Kushwaha
 
System development analysis life cycle
System development analysis life cycleSystem development analysis life cycle
System development analysis life cycleCommunication telecom
 
Introduction-to-the-Waterfall-Model.pptx
Introduction-to-the-Waterfall-Model.pptxIntroduction-to-the-Waterfall-Model.pptx
Introduction-to-the-Waterfall-Model.pptxAsadBaig49
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3REHAN IJAZ
 

Similar to Cavaros (20)

BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECTBOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
 
COLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEMCOLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEM
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
SPRING BOOT BASED TASK HANDLER.pptx
SPRING BOOT BASED TASK HANDLER.pptxSPRING BOOT BASED TASK HANDLER.pptx
SPRING BOOT BASED TASK HANDLER.pptx
 
Online examination system
Online examination systemOnline examination system
Online examination system
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Formal Definition of Collaborative Spaces
Formal Definition of Collaborative Spaces Formal Definition of Collaborative Spaces
Formal Definition of Collaborative Spaces
 
Lab management
Lab managementLab management
Lab management
 
Managing Software Project
Managing Software ProjectManaging Software Project
Managing Software Project
 
Jira for Agile Project Management.pptx
Jira for Agile Project Management.pptxJira for Agile Project Management.pptx
Jira for Agile Project Management.pptx
 
Bug Tracking Java Project
Bug Tracking Java ProjectBug Tracking Java Project
Bug Tracking Java Project
 
60780174 49594067-cs1403-case-tools-lab-manual
60780174 49594067-cs1403-case-tools-lab-manual60780174 49594067-cs1403-case-tools-lab-manual
60780174 49594067-cs1403-case-tools-lab-manual
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
SYSTEMS PRESENTATION to help you in design
SYSTEMS PRESENTATION to help you  in designSYSTEMS PRESENTATION to help you  in design
SYSTEMS PRESENTATION to help you in design
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
College Management System project
College Management System projectCollege Management System project
College Management System project
 
System development analysis life cycle
System development analysis life cycleSystem development analysis life cycle
System development analysis life cycle
 
Introduction-to-the-Waterfall-Model.pptx
Introduction-to-the-Waterfall-Model.pptxIntroduction-to-the-Waterfall-Model.pptx
Introduction-to-the-Waterfall-Model.pptx
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
 

Recently uploaded

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Cavaros

  • 1. CAVAROS Smart Collaborative Programming Interface Tool ระบบเครื่องมือเพื่อการประสานงานในองค์กร MISS JENNETH CHAOVISUTIKUL 5488022 MR. SIRACHAT KONGKASAEN 5488066 MR. JANNARONG WATTHONG 5488212 ADVISOR: DR. BOONSIT YIMWADSANA
  • 2. Agenda • Motivation • Project Objectives • Literature Review • System Design • Implementation • Testing and Evaluation • Conclusion • Reference 2
  • 4. Motivation Project Management in workflow environment is difficult. Why?  No task tracking  No document tracking  No versioning  No collaborative What we want? A software to track:  Progress of projects  Documents/files 4
  • 6. Project Objectives Create web-based collaborative software for  Project management  Document/file management  Revision control 6
  • 8. Literature Review  Collaborative Tool  Gantt Chart:  Kanban Board:  To-Do-List:  Collaborative Suite:  Social Network:  Revision Control:  Project Management: 8
  • 9. Literature review  Software Development Model  Waterfall Model  Iterative Model  Agile Model 9
  • 10. 3 software products similar to CAVAROS Trello High operational ticket Lack of time sequenced 10
  • 11. Literature review Microsoft Project Simple spread sheet Calculate project budgets Offline, No collaborative tools 11
  • 12. Literature review  igh configurable,  Efficient dashboard JIRA • High configurable • Efficient dashboard • Functions are overhead • Slowness in usage • Expensive 12
  • 15. Type Software Advantages Disadvantages Collaborative Tools Time sequenced chart Difficult to defined constraint High operational ticket Lack of time sequenced Simple list Complicated when tasks are overloaded. Full-functions Difficult to understand Real time Difficult to see projects’ progresses. Advantages & Disadvantages Revision Control Local repositories Poor pushing, Security problems Simple command Centralized Keep whole files, Permanent history Not support merging Project Management High configurable, Efficient dashboard Functions are overhead Simple spread sheet Offline, No collaborative tools 15
  • 16. Software Development Model Model Phases Advantages Disadvantages Waterfall 1. Easy & Simple 2. Stages are clear 3. Sequence Tasks 1. Not support complexity 2. Bottleneck between stages 3. Not support changing FR Iterative 1. Fast & Parallel 2. Flexible to change FR 3. Supply early product 1. Require high management attention 2. Critical system design Agile 1. Promote teamwork 2. Require less resource & planning 3. Very fast & flexible 1. Extremely depended on FR 2. Lacking of documentation 3. High risk of extensibility & maintainability 16
  • 19. Permission to modify Groups of Users Project’s Components Project Section Task Work/List Project Manager O O O O Team Leader X X O O Member X X X O Term Definition Project Sequence of tasks which involve a team of people to complete specific goal in time scheduled. Section A part of project consist of tasks with same functions. Task An activity that needs to be accomplished in a specific period of time. Work/List A step to accomplish the task. Project Manager People who own projects, create sections, assign team leaders and member to sections or tasks. Team Leader People who are assigned to sections, and can assign task to members. Member People who are responsible for assigned tasks. Term & Definition 19
  • 20. System Design (cont.) Project and Users Overview 20
  • 23. • User B cannot download the file to edit • User B can download the file to view System Design (cont.) File Management & Revision Control 23 • User A download a file to edit • The file is locked
  • 24. System Design (cont.) File Management & Revision Control 24 • User A is the only one who can upload the file • User A upload the file • The file is unlocked • The file keeps all its previous versions
  • 26.  Use Case Diagram 26
  • 27. System Design (cont.) Data Flow Diagram – Contextual Level 27
  • 28. Data Flow Diagram – Level 1 28
  • 29. Data Flow Diagram - Level 2 See Appendix A: DFD Level 2 29
  • 32. Implementation  System Environment  Implementation Guide 32
  • 33. System Environment Operating System Web Server Software IDE DBMS Programing Tools HTML5 CSS3 jQuery 33
  • 35. Implementation Guide: Django Django Architecture (Backend) 35
  • 36. Implementation Guide: Django Django Architecture (Backend) 36
  • 37. Implementation Guide: Django Django Architecture (Backend) 37
  • 38. Implementation Guide: Django Django Architecture (Backend) 38
  • 39. Implementation Guide: Django Object-Relational Mapping (ORM) Person id name 0 Mike 1 Too 2 Jane Relational Database (RDBMS) SELECT * FROM Person WHERE id=0 Object-Relational Mapping (ORM) Create a Virtual Object Database Person p = Person.get(id=0) How to query “Mike”? 39
  • 41. Implementation Guide: Django P1.1 Authenticate User Account 41
  • 42. Implementation Guide: Django More Implementation Guide See Appendix B: Implementation Guide: Django 42
  • 43. Implementation Guide: Event P1.7 Show Event 1. UserNotificationListener() 2. ShowCounter() 3. ResetCounter() 43
  • 44. Implementation Guide: Event P1.7 Show Event: Notification Each user can see different notification 44
  • 45. Implementation Guide: Event P1.7 Show Event: Event Trigger A triggers Event B and C and see Event triggered by A 45
  • 46. Implementation Guide: Event P1.7 Show Event: System Logs A triggers Event A, B and C and see Event triggered by A 46
  • 47. Implementation Guide: Event P1.7 Show Event Notification Server Pool (in Multiple Projects) User Project 1 Project 2 Project 3 Viewable User A O O X A = { 1 , 2 } User B O X O B = { 1 , 3 } User C O O O C = { 1 , 2 , 3 } 47
  • 48. Implementation Guide: Event P1.7 Show Event UserNotificationListener() via REST API We want to get notification using REST API 48
  • 49. Implementation Guide: Event P1.7 Show Event More about UserNotificationListener() See Apendix C: Implementation Guide: Event 49
  • 50. Implementation Guide: AngularJS P1.7 Show Event Layer View: Visual Appearance Model: Data Model (JavaScript Objects) Controller: Adds Behavior Workflow • User interact with the view • Changes the model, calls controller (data binding) • Controller manipulates model, interact with server • AngularJS detects model changes and update the view (two-way data binding) 50
  • 52. Implementation Guide: AngularJS P1.7 Show Event See Appendix D: Implementation Guide: AngularJS P1.7 Show Event 52
  • 54. Unit Tests P1.1 Authenticate User Account Operation Performed Condition Tested Actual Result Fill username and password, and click on Login button When users fill the wrong username and/or password after clicking on “Login” button, the system shall alert “wrong username or password, please type again” message. Pass Click on Sign Up button When users click on “Sign up” button, the system shall go to Register page. Pass Click on Change password button When users click on “Change password” button, the system shall go to Register page. Pass Click on Login button After successfully logged in, the User’s Profile page will appear. Pass 54
  • 55. Unit Tests More Unit Tests See Appendix E: Unit Tests 55
  • 56. User’ Evaluation Test Subject Type Value Problems’ experience People who feel difficult to organize their work Age Any Gender Both male and female Occupation 1. Professors or lecturers who work in the university 2. People who work in an organization 3. Students who work on a project 56
  • 57. User’ Evaluation Test Scenario  Run CAVAROS System on a Web Browser  Register and Log in to CAVAROS System  Edit Profile and Change Password  Create or Delete Project(s)  Add Members to the Project(s)  Create, Edit or Delete Section(s)  Add Members to the Section(s)  Create, Edit or Delete Task(s)  Add Members to the Task(s)  Create, Edit or Delete Checklist(s)  Mark or Unmark the Checklist(s)  Approve Finished Task(s)  Upload, Update Version, Edit and Download File(s) 57
  • 58. User’ Evaluation Data Capturing  On 5 users: 1 lecturer and 4 students  By observation and asking for feedback  Conclude results into these 6 questions 1. How successful users can complete specified set of task in the test scenario? 2. Is CAVAROS System easy to use? 3. Is CAVAROS System give good interactive performance? 4. Is CAVAROS helps users working easier? 5. What users like or do not like about CAVAROS System? 6. What do users want CAVAROS System to improve? 58
  • 59. User’ Evaluation Data Capturing 1. How successful users can complete specified set of task in the test scenario?  All users could perform all tasks specified in user req.  Users could intuitively use CAVAROS without guidance  Some users were not sure about the definition of section. 59
  • 60. User’ Evaluation Data Capturing 2. Is CAVAROS System easy to use?  Users said CAVAROS  was easy to use  did require little time to learn  required some modification on GUI  should have priority level for checklist and tasks 60
  • 61. User’ Evaluation Data Capturing 3. Is CAVAROS System give good interactive performance?  Users said CAVAROS can perform well with high-speed WiFi 61
  • 62. User’ Evaluation Data Capturing 4. Does CAVAROS help users work easier?  Users can use CAVAROS to manage their works by dividing into projects, sections, tasks and checklists.  Users can track work progress  Users recommended that project manager must control the behavior of team member to frequently update their work progresses 62
  • 63. User’ Evaluation Data Capturing 5. What users like or do not like about CAVAROS System? Users said they like CAVAROS that:  Provides simple GUI  Provides file locking mechanism Users said they do not like CAVAROS that:  It is difficult to create checklists 63
  • 64. User’ Evaluation Data Capturing 6. Which components of CAVAROS that users suggested for improvement?  Users said they preferred  Chat Box  Priority List  Repetition System (automatic task generation)  Integration with Social Media 64
  • 66. Conclusion  Benefit: To Project Developers  Benefit: To Users  Problem and Limitation  Future Work 66
  • 67. Conclusion Benefit: To Project Developers  We learned  How Collaborative Tool, Version Control and Project Management work  The Concept of Software Development Life Cycle  System Analysis and Design Processes  How to Document Senior Project  The Concept of Model-View-Controller (MVC)  How to Design Web Interface Clear and Simple  The Concept of Web Interactions 67
  • 68. Conclusion Benefit: To Users Users can:  manage their works  track project progress  know who are responsible for works  manage file versions 68
  • 69. Conclusion Problem and Limitation  Date picker is not support by Firefox  CSS3 and HTML5 are compatible with Internet Explorer 9+  Users cannot directly create checklists  Forgot password function is not implemented  Data Backup Recovery function is not implemented  Struggle with high traffic coming  Different Time Zone 69
  • 70. Conclusion Future Work CAVAROS needs to provide  More charts in dashboard and more report types  Data Backup Recovery Function  Waterfall Model (waterfall model phases concept) and Agile Model Modes (automatic task generation)  Functions for Hospital Database Management  High Availability Environment 70
  • 72. References  Wikipedia, the free encyclopedia, "Wikipedia," 27 June 2014. [Online]. Available: http://en.wikipedia.org/wiki/Collaboration_tool.  M. Haselmayr, "Forbes," 7 November 2013. [Online]. Available: http://www.forbes.com/sites/allbusiness/2013/07/11/5- types-of-office-collaboration-tools-which-is-right-for-your- team/.  Wikipedia, the free encyclopedia, "Wikipedia," 15 December 2014. [Online]. Available: http://en.wikipedia.org/wiki/Revision_control.  Git, "Git," [Online]. Available: http://git- scm.com/book/en/v2/Getting-Started-About-Version- Control.  Wikipedia, the free encyclopedia, "Wikipedia," 14 January 2015. [Online]. Available: http://en.wikipedia.org/wiki/Project_management.  Project Management Institude, "Project Management Institude," [Online]. Available: http://www.pmi.org/About- Us/About-Us-What-is-Project-Management.aspx. 72
  • 73. Thank you for your attention
  • 75. Appendix A: DFD Level 2 P1 - Authenticate User Account
  • 76. Data Flow Diagram - Level 2 P2 - Show User Profile
  • 77. Data Flow Diagram - Level 2 P3 - Manage User
  • 78. Data Flow Diagram - Level 2 P4 - Manage Module
  • 79. Data Flow Diagram Level 2 P5 - Control File Version
  • 80. Data Flow Diagram - Level 2 P6 - Show Workflow
  • 81. Data Flow Diagram - Level 2 P7 - Show Event
  • 82. Data Flow Diagram - Level 2 P8 - Show Dashboard
  • 83. Data Flow Diagram Level 2 P9 - Report
  • 85. Appendix B: Implementation Guide: Django P1.1 Authenticate User Account
  • 87. Implementation Guide: Django P1.3 Manage User: Show Member
  • 88. Implementation Guide: Django P1.3 Manage User: Add Member (GET)
  • 89. Implementation Guide: Django P1.3 Manage User: Add Member (POST)
  • 90. Implementation Guide: Django P1.3 Manage User: Remove Member
  • 91. Implementation Guide: Django P1.4 Manage Module: Create Project
  • 92. Implementation Guide: Django P1.4 Manage Module: Edit Project
  • 93. Implementation Guide: Django P1.4 Manage Module: Delete Project
  • 94. Implementation Guide: Django P1.4 Manage Module: Create Section
  • 95. Implementation Guide: Django P1.4 Manage Module: Edit Section
  • 96. Implementation Guide: Django P1.4 Manage Module: Delete Section
  • 97. Implementation Guide: Django P1.4 Manage Module: Create Task
  • 98. Implementation Guide: Django P1.4 Manage Module: Edit Task
  • 99. Implementation Guide: Django P1.4 Manage Module: Delete Task
  • 100. Implementation Guide: Django P1.5 Control File Version: Upload File
  • 101. Implementation Guide: Django P1.5 Control File Version: Upload Newer Version & Show File Information
  • 102. Implementation Guide: Django P1.5 Control File Version: Download To View
  • 103. Implementation Guide: Django P1.5 Control File Version: Download To Edit
  • 104. Implementation Guide: Django P1.5 Control File Version: Show File Historical Version
  • 105. Implementation Guide: Django P1.6 Show Workflow: Show Progress
  • 109. Appendix C: Implementation Guide: Event P1.7 Show Event UserNoficationListener() Now, we get notification list in form of Promise
  • 110. Implementation Guide: Event P1.7 Show Event Asynchronous Methods in Sequential Manner • async1() is query() from previous slide • async2() is getUserName(IDs) at slide no. 71 • async3() is bucketListener() at slide no. 74
  • 111. Implementation Guide: Event P1.7 Show Event What is Promise? Promise represents public APIs, which let you handle asynchronous process by uniform format. It also let you nest the task, in sequential order, to perform In general, Promise can be in below states 1. pending: initial state, not fulfilled or rejected. 2. fulfilled: successful operation 3. rejected: failed operation.
  • 113. Implementation Guide: Event P1.7 Show Event UserNoficationListener() (cont.) We want to get notifications that include username(s)
  • 114. Implementation Guide: Event P1.7 Show Event Asynchronous Methods in Parallel Manner • From the previous slide, getUserName(IDs) behaves in Parallel manner • $q is a Deferred
  • 115. Implementation Guide: Event P1.7 Show Event What is Deferred? A Deferred is just a Promise with methods that allow its owner to resolve or reject the Promise. In our case, a Deferred contains an array of Promises associated with it.
  • 117. Implementation Guide: Event P1.7 Show Event Execution of UserNoficationListener() (cont.) We get username(s) using REST API
  • 118. Implementation Guide: Event P1.7 Show Event Execution of UserNoficationListener() (cont.) Now We have chuck of notification that include username(s). Next We want to compare the chuck and the bucket.
  • 119. Implementation Guide: Event P1.7 Show Event Execution of UserNoficationListener() (cont.) We want to get bucket using REST API
  • 120. Implementation Guide: REST API P1.7 Show Event What is REST API? Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services. REST is a coordinated set of constraints applied to the design of components in a distributed hypermedia system that can lead to a more performant and maintainable architecture.
  • 121. Implementation Guide: REST API P1.7 Show Event CRUD in REST Operation CRUD REST Description CREATE POST Initialize the state of a new resource at the given URI READ GET Retrieve the current state of the resource UPDATE PUT Modify the state of a resource DELETE DELETE Clear a resource after the URL is no longer valid
  • 123. Appendix D: Implementation Guide: AngularJS P1.7 Show Event Index $scope.notificationList(chunk) $scope.bucket Bucket(REST API) 0 14 1 13 2 9 3 6 4 5 GET /notification/user/bucket – list of user notification bucket Before we using GET method, we have a chuck as shown above
  • 124. Implementation Guide: AngularJS P1.7 Show Event Index $scope.notificationList(chunk) $scope.bucket Bucket(REST API) 0 14 5 5 1 13 6 6 2 9 9 9 3 6 4 5 GET /notification/user/bucket – list of user notification bucket After using GET method, $scope.bucket is updated
  • 125. Implementation Guide: AngularJS P1.7 Show Event Index $scope.notificationList(chunk) $scope.bucket Bucket(REST API) 0 14 5 5 1 13 6 6 2 9 9 9 3 6 13 13 4 5 14 14 POST /notification/user/bucket – add new notification to bucket Use POST method, Bucket(REST API) is updated, And the Counter is incremented.
  • 127. Appendix E: Unit Tests P1.1 Authenticate User Account Operation Performed Condition Tested Actual Result Fill username and password, and click on Login button When users fill the wrong username and/or password after clicking on “Login” button, the system shall alert “wrong username or password, please type again” message. Pass Click on Sign Up button When users click on “Sign up” button, the system shall go to Register page. Pass Click on Change password button When users click on “Change password” button, the system shall go to Register page. Pass Click on Login button After successfully logged in, the User’s Profile page will appear. Pass
  • 128. Unit Tests P1.2 Show User Profile Operation Performed Condition Tested Actual Result Click on Edit profile In Edit User Profile page, user’s information must be shown. Pass Edit profile and click save button Users can edit his profile by changing it in the text field, and the changed profile will be updated after clicking on “save” button. Pass Click on change password button When users click on “change password” button in the Edit Profile page, the Change Password page will appear. Pass
  • 129. Unit Tests P1.3 Manage User Operation Performed Condition Tested Actual Result Search Member A Project Manager and a Team Leader can search a member by using the name of the member, and the resulted search must be shown responsively. Pass Add Member by Project Manager A Project Manager can add a member by selecting from list of resulted search. Pass Add Member by Team Leader A Team Leader can add a member by selecting from list of resulted search. Pass Add Lists of Members A Project Manager and a Team Leader can multi-select a list of searched members to be added either in a Project or in a Section. Pass Remove Member A Project Manager and a Team Leader can remove a member or a list of members in the project by selecting each existing member. Pass Assign Role A Project Manager and a Team Leader can assign a role of members by putting them to Task Pass
  • 130. Unit Tests P1.4 Manage Module Operation Performed Condition Tested Actual Result Create Project A Project Manager can create a project successfully. Pass Edit Project A Project Manager can edit a project successfully. Pass Delete Project A Project Manager can delete a project successfully. Pass Create Section A Project Manager and a Team Leader can create a section within an existing project successfully. Pass Edit Section A Project Manager and a Team Leader can edit a section within an existing project successfully. Pass Delete Section A Project Manager and a Team Leader can delete a section within an existing project successfully. Pass
  • 131. Unit Tests P1.4 Manage Module (cont.) Operation Performed Condition Tested Actual Result Create Task A Project Manager and a Team Leader can create a task within an existing section successfully. Pass Edit Task A Project Manager and a Team Leader can edit a task within an existing section successfully. Pass Delete Task A Project Manager and a Team Leader can delete a task within an existing section successfully. Pass Create Checklist A Project Manager, a Team Leader, and a Team Member can create a checklist within an existing task successfully. Pass Edit Checklist A Project Manager, a Team Leader, and a Team Member can edit a checklist within an existing task successfully. Pass Delete Checklist A Project Manager, a Team Leader, and a Team Member can delete a checklist within an existing task successfully. Pass
  • 132. Unit Tests P1.5 Control File Version Operation Performed Condition Tested Actual Result Upload File Users can upload a file associated with a Task ,and a alert message will be shown a result of uploading. Pass Download File Users who are accessible to the file are able to download it, and no files are shown to unauthorized users. Pass Upload to Newer Version The system shall automatically set to new version of a file by incrementing it from the previous one after the newer file successfully uploaded. Pass View Historical Version Any version of a file shall be shown to the authorized users, and the order of the version must maintain correctly. Pass Download Specific Version The authorized users are able to download any existing version of a file, and the alert message will be shown a confirmation of downloading. Pass Set Number of Version The authorized users are able to set the existing version to be any version. If the version is duplicate, there must be an error message appears. After the version is updated, the order of the version is rearranged. Pass
  • 133. Unit Tests P1.6 Show Workflow Operation Performed Condition Tested Actual Result View progress bar of Task Authorized users are able to see the progress bar of Task, and whenever the task is done, the bar shall be updated. Pass View Progress bar of Section Authorized users are able to see the progress bar of Section, and whenever the task is done, the bar shall be updated. Pass View Progress bar of Project Authorized users are able to see the progress bar of Project, and whenever the task is done, the bar shall be updated. Pass
  • 134. Unit Tests P1.7 Show Event Operation Performed Condition Tested Actual Result View System Logs A Project Manager can see all categorized events occurred in the system. As shown, it can be exported to a document-format file, and the alert message will be shown a confirmation of exporting. Pass View Notification Notification shall be shown to the users. The details of the notification are vary regarding to the events relating to a certain user. Ex. if somebody uploads a file or submit a task, the system shall notify a message to a Project manager, Team Leader, and all team members who are responsible for that particular task. Pass
  • 135. Unit Tests P1.8 Show Dashboard Operation Performed Condition Tested Actual Result View Dashboard The system shall show responsively the percentage of every section in the project due to the changes of number of finished tasks, and a Project Manager is logged in successfully. Pass View Project Duration The system shall show the start date and the end date of the project after a Project Manager is logged in. Pass
  • 136. Unit Tests P1.9 Report Operation Performed Condition Tested Actual Result Export Dashboard As the dashboard is shown, a Project manager can click “export” button to export a dashboard as a report. Pass Report Person’s Behavior The system shall collect person’s behavior by record number of completed and incomplete tasks represented as a document-format file as a report. Pass