SlideShare a Scribd company logo
1 of 16
Download to read offline
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

MVC ARCHITECTURE DRIVEN DESIGN AND
AGILE IMPLEMENTATION OFA WEB-BASED
SOFTWARE SYSTEM
Sandhya Prakash
Vancouver, B.C., Canada

Ashok Kumar
University of Louisiana at Lafayette, USA

Ravi Bhushan Mishra
Indian Institute of Technology (BHU), Varanasi, India

ABSTRACT
This paper reports design and implementation of a web based software system for storing and managing
information related to time management and productivity of employees working on a project. The system
has been designed and implemented with best principles from model view controller and agile development.
Such system has practical use for any organization in terms of ease of use, efficiency, and cost savings. The
manuscript describes design of the system as well as its database and user interface. Detailed snapshots of
the working system are provided too.

KEYWORDS
Model view control, agile system, time management,web based system, database, user interface, MySQL,
struts.

1. INTRODUCTION
Tracking and managing productive time spent on projects by software developers and other
employees is a very important task for any organization. This work is focussed on design and
development of a timesheet management system (TMS). The proposed system is a web-based,
multi-user application that is designed to be used beyond geographical boundaries and intended to
help employees to manage their work hours by keeping track of their daily and weekly productive
hours (i.e., time spent on projects). The information is stored in a central database system.
Computerized information collection, storage, and retrieval brings accuracy to the time
management system.
TMS is a model view control based system.It generates reports for employees and helps to create,
update and delete projects and calculates salaries for the employees by tracking their daily work
hours.TMS was mainly developed to accurately track employees’ work hours, to maintain
computerized attendance system, and based on this information, to calculate salaries for the
employees. The software was testedthoroughly to understand project costs, client bills, payroll,
and work productivity. TMS helps increase productivity among employees and it increases
accountability across an organization.
DOI : 10.5121/ijsea.2013.4602

13
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

The remainder of the paper discusses project requirements, selection of design and
implementation methodologies, details of implementation, and snapshots of actual
implementation.

2. DESIGN AND IMPLEMENTATION
A successful design of the presentedsoftware system is based on well described user and system
requirement specification, selection of appropriate design and implementation methodologies,
actual implementation, testing, and deployment. The development begins with understanding the
process by presenting a requirement documentthat specifies the purpose of the proposed TMS
system and the functions that it must perform in order to meet the requirements.TMS system
needed a lightweight framework of development to accommodate possible changes in functional
and technical specifications, to accommodate easy interactions among developers, and to produce
a rapid prototype of the system. Cost saving and flexibility were the key criteria in our selection
of agile methodology. The project was broken down into smaller pieces of functionality and
frequent iterations in all aspects of its development such as planning, analysis, design,
development, testing, and integration were entertained. Also, all stakeholders of the system such
as executives, managers, customers, software developers and testers were involved in the process
and the system was allowed to be flexible enough to accommodate requests for any reasonable
changes from any stakeholders.

Agile

Conception

Conception
Initiation
Initiation
Analysis
Analysis
Design

Vs

Design

Construction
Construction
Testing
Testing
Deployment
Deployment
Waterfall
Model
Figure 1. Agile versus Waterfall models

2.1Agile Model
14
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

The TMS system used agile model of implementation which is described next. Agile model of
software development differs from the traditional waterfall model as shown in Figure 1.
An agile process produces greater customer satisfaction by quickly producing an initial prototype
of system and allows customers to have a feel for the system and most importantly it allows
customers to start giving them inputs early in the development rather than in the late stages of
development. Requirements are allowed to change in an agile process and yet an agile process, if
implemented properly, is completed in a given time frame. An agile process typically needs to
have team members with high accountability and excellence in providing timely inputs for
improving the system, and incorporating changes in the system as needed. Team members should
include not only developers and other technical executives but also representatives of end users.
Such team is typically empowered to make decisions which are crucial for the success of an agile
process.
An agile process is typically light weight and changes to the system-under-development are
considered a rule rather than an exception. Requirements can evolve over a time period and an
agile process accommodates such changes. This is one of the most significant advantages of an
agile process over traditional software development processes. Agile process is iterative, it allows
projects to be developed incrementally, and it greatly reduces the risk of the end result to be
significantly different from what was envisioned at the beginning of the project. Project
deliverables and meeting customers’ expectations are given much higher weight than rigorous
documentation.
It is clear that an agile process needs more frequent interactions among stakeholders and team
members and just-in-time approaches are typically used for such purposes. Frequent releases and
deliveries of software system isdone in the agile methodology in order to seek customers’
feedback and in order to allow software development (code) changes. In an agile process, a
software development team not only implements what the end user asks for but also provides the
end user with realistic view of which features can be included in the product a given timeline and
which cannot. Such communications, feedbacks, and adjustments help the agile process to
achieve high degree of success in comparison to traditional waterfall based approach of software
development.

2.2MVC Architecture
The TMS system used the model-view-controller (MVC) design pattern and Struts framework.
Using the MVC approach, an application is divided into three functional parts named as model,
view and controller. The model part represents the business logic of the TMS software
applications as well as access to relational database. The view is the visual interface provides a
medium to web users to interact with the system. View source codes for the TMS system are
created using java server pages (JSP) technology. The controller consists of one or more servlets,
configuration files and Struts actions files.MVC pattern is shown in Figure 2.
Generally, in model2 web applications the web server (e.g. Tomcat in the case of TMS) contains
view and controller both at application run time while data storage is done in third tier named as
Model. The view part represents user interface and it is created using JSP files that generally do
not contains any business logic in order to ease the rebuild process and to reduce the complexity
of applications internal dependency.
The controller part of MVC architecture is a component on web server that process all incoming
requests from user via user interface to a single servlet instance. Due to heavy load of processing
requests this controller is also known as fat controller.
15
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Java beans are known as model component in an MVCarchitecture. To process the requested
business logic, the action servlet selects and invokes one or more actions to process the request at
a time. Action generally creates or modifies java beans which is stored as a request or session
object and changes the state of a web application when a user interacts with the UI and requests
something. The RequestDispatcher.forward() method of servlet API is called by the action to
generate the next requested page by the user instead directly producing the requested page.
Web Server

Application Server

Request
Controller
Servlet

H
T
T
P

Action

Model
View
Java bean

MySQL
Database

JSP
Response

EJB

Figure 2.MVC Design pattern overview

2.2.1 Advantages of MVC Design
The implementation of model-view-controller in three different dynamic parts has many direct
benefits. For example it is easy to delegate the development work within developers or team
members and distribute the total effort and MVC model ensures that changes in one web
application will not affect the other web application. As an example web designer and web
developer can work independently or a coder working on business logic can work independently
of the professional working application flow control.
By implementing the MVC architecture it becomes easy to prototype the work by following very
simple steps like to create a prototype of a web application that access several work stationsbased programs. By making little changes to the configuration files or renaming the server
contents only, one can implement production level programs that can run on different
platformswithout having to rewrite the source code.
Migration of legacy programs has become easy since the model and controller and totally
separated in MVC and it makes tailoring the user category or platform much simpler. MVC has
also great contribution in simplifying the scalability problem of software programs of large size
applications and making modification and maintenance of applications easier through clear
separation of tasks.

2.3USE CASE DIAGRAMS FOR THE TMS SYSTEM

16
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

After deciding most suitable development methodologies for TMSsoftware design,the process
begins with a simple use case diagrams that represent interaction between the system and its users
without being trapped into details. Use case diagrams for TMS are presented in Figure 3
Login in to
TMS system

Create TS

View existing TS

Employee

Add new
employee

Update employee

Deactivate employee

Edit TS

Admin

Update TS
Delete TS

Figure 3. Use-Case diagram of interaction between employee, admin and system

2.4. REPRESENTATION OF BUSINESS FUNCTIONS FOR THE
TMS SYSTEM
Data flow diagrams are used by system analysts and software developers to represent the
functional requirements of the system and to model the process. Data flow diagram is considered
as one of the efficientmodelling techniques for eliciting and representing the processing
requirements of a system. Data flow diagram for the TMS system is shown in Figure 4 and it
captures business functions for the proposed system.It follows the rules of modern flowcharts.

Figure4.Data flow diagram of the TMS system

2.5. CLASS DIAGRAMFOR THE TMS SYSTEM
17
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

The class diagram for the TMS system is shown in Figure 5. Itconsists of attributes(data) and
operations (behaviors) such that attributes are implemented as fields and class operations are
implemented as method. The entity-relationship for TMS is shown in Figure 5 and Figure 6.
EmpBean
Emp_ID: string
Pwd: string
Designation: string
First_Name: string
Last_Name: string
createTs ()
updateTs ()
submit ()

1

<<utility>>
Login Validation

<<utility>>
Employee Validation

0..*

TSBean
TS_ID:int
Date:int
Emp_ID: string
Entries: TSEntryBean

1
1..*

<<utility>>
TSValidation

<<utility>>
Date Format
-cal

TSEntryBean
TS: TSBean
Project_ID: int
Monday: double
Tuesday:double
Wednessday:double
Thursday:double
Friday:double
Saturday:double
Sunday:double
Notes: string

<<utility>>
Day Format
-number

<<utility>>
TS entry Validation

Figure 5.Class diagram with attributes and operations (incorporating inheritance)
Employee
-Emp_ID[PK]
-Password
-First_Name
-Last_Name
-Designation
1

0..*

Timesheet
- TS_ID[PK]
-Emp_ID
-Date
-Calender

1
1..*

TimesheetEntry
- Project_ID[PK]
-Client_ID
-TS_ID
-Monday
-Tuesday
-Wednesday
-Thursday
-Friday
-Saturday
-Sunday
Notes: string

Figure 6.Entity relationship model for TMS

2.6. DATABASE AND ORM FRAMEWORK (HIBERNATE) IN TMS
Database system used in TMS is a relational database management system (RDBMS)and it is a
collection of tables to store data.The database design process starts with information gathering
and understanding the functional requirements in the project. The document should give a concise
summary of all users’ requirements, not just a collection of individuals’ requirements, as the
intention is to develop a single shared database.

18
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

The requirements should not describe how the data is to be processed, but rather what the data
items are, what attributes they have, what constraints apply and the relationships that hold
between the data items. Hibernate has been used in TMS as it provides ORM functions very well
as an abstraction layer between Java and MySQL database. The intent here is that Java will be
able to work internally with the objects defined as they desire, while the database is designed in a
purely relational.
In TMS system, key users of the system are employees and the system was built to track the
productive work hours of the employees. Themain tables in database are shown in Table 1, Table
2, and Table 3. The attributes of the table are self-explanatory.
Table1- Employee Details

ColumnName
Emp_Id
Last_Name
First_Name
Emp_Designation
Email
Cell_Phone
Home_Phone
Photo_Id
Street
City
Zip
State
Nationality
Visa_Status
Sex
Birth_Date
Emp_Type
Dept_Id
Emp_Memo

DataType
int
varchar
varchar
varchar
varchar
varchar
varchar
image
varchar
tinyint
varchar
tinyint
varchar
varchar
varchar
date
varchar
int
varchar

VariableLength
10
20
20
30
20
20
20
30
50
1
20
1
30
50
20
50
30
20
300

Null Value
Not null
Not null
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes

Table2- Login

ColumnName
Emp_Id
Password
Emp_Type

DataType
varchar
varchar
tinyint

Length
30
30
1

NullValue
Not null
Not null
Not null

Table3 - Projects Details

ColumnName

DataType

Length

NullValue
19
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Proj_Id
Proj_Name
Client_Name
Proj_Start_Date
Proj_End_Date

Int
varchar
varchar
varchar
varchar

Hibernate was used in the TMS system to map object oriented domain model to relational
database. Hibernate framework simplifies the development of java application to interact with the
database. Hibernate is an open source, light weight, object relational mapping tool. An ORM
simplifies the data creation, data manipulation and data access. It is a programming technique to
map the objects to data stored in a database in the form of tables.
There are many advantages of using hibernate framework for accessing data from a database in a
java web application. Some key advantages of why Hibernate was used in TMS are listed here.
First, Hibernate is an Open source software and very light weight. Second its performance is very
high because cache memory is utilized internally. Usually Hibernate framework uses two types of
cache memory first level cache and second level cache. First level cache is enabled by default.
Third benefit is Hibernate uses a database-independent query language known as Hibernate
Query Language (HQL) which is an object oriented version of SQL. It generates the database
independent queries. It means there is no need to change the query when changing the database.
As a result, database specific queries are not required. Hibernate supports automated table
creation which means database tables can be created automatically so no there is need to create
tables manually. Hibernate offers a technique to fetch data from multiple tables without
complexity. Hibernate is also well known for its excellent stability and quality, it allows
persistence, and it scales well.

2.7. STRUTS IN TMS
TMS uses an MVC architecture driven design and its implementation needed a web application
framework that could use Java Servlets and facilitate adherence to the MVC architecture. For this
reason, Struts were found to be a perfect match for the TMS system.For an example, the strut
based design of the login process in MVC is shown in Figure 9 and its processing details are
shown in Figure 7.

20
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Figure 7. Strut based design of login process architecture in TMS

Figure 8. Processing details

2.8. SNAPSHOTS OF WORKING TMS SYSTEM
21
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

The TMS system used extensive testing including unit-tests to ensure proper functionality and
robustness of code. Classes that were difficult to test were refactored and deep hierarchies were
avoided in the design. The system underwent thorough testing and it was found to be fully
functional. Some of the snapshots of the system are shown in Figure 9 through Figure 20.

Figure 9. Home page of time sheet management system

Figure 10. Storing information of a new project

Admin Home page:
22
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Figure 11. Adding new projects

Figure 12. Storing information of a newly added project

23
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Figure 13. Updated display of a newly added project

Figure 14. Addition of a new employee to the system

24
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Figure 15. Storing information related to an employee

Again Login as Administrator to ‘Approve/Reject’ Employee Timesheet:

Figure 16. Administration login for approval or rejection

25
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Figure 17. Administration approval or rejection of timesheet

Figure 18. Display of updated time sheet

Figure 19. Employee’s view of an approved or rejected timesheet

26
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Figure 20. Password change option

2.9. RELATED WORK
The work in [1] is the seminal work on agile development and it has been widely cited and used.
The book in [2] provides an in-depth coverage of MVC architecture. The Struts framework is
described in [3] in detail. A web-based time management system was reported in [4] using a
client-server model.The works in [5] and [6] are somewhat, but very remotely, related as they use
struts and hibernate too.

3. CONCLUSIONS
This paper presented design and implementation of a software system for time management by
employing the best practices from model view controller based software architecture as well as
agile methodology based implementation. The proposed idea has been successfully implemented
and tested thoroughly, and it has practical use in both industry in academia.

ACKNOWLEDGEMENTS
The first author would like to acknowledge her teammates.

REFERENCES
[1]
[2]
[3]
[4]
[5]

[6]

Kent Beck, et al., “Manifesto for Agile Software Development”, 2001, available at
http://agilemanifesto.org.
Frank Buschman, et. al., “Pattern-Oriented Software Architecture Volume 1: A System of Patterns”,
2000, John Wiley & Sons.
Struts, Apache Struts Project, http://struts.apache.org/
Z.M. Udin, et. al., “Development of a Web-based Academic Time Management System”, Proc. Sixth
International Conference on Computer Supported Cooperative Work, 2001, pp. 572-574.
Jing Yang et. Al., “Management System for Scientific Research Projects based on the Combined
Framework of Struts and Hibernate”, Proceedings of the 2nd International Conference on Artificial
Intelligence, Management Science, and Electronic Commerce, 2011, pp. 5619-5622.
Li Zhang, et. Al., “Design and Implementation of e-online Tourism System Based on the Hibernate
Framework”, Proceedings of the International Conference on Electrical and Control Engineering,
2011, pp. 2963-2966.

27
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Authors
Sandhya Prakash received her Bachelors and Masters degrees in Computer Science.
Her areas of interest include Internet Computing, Software Engineering, Databases, and
User Interfacing.

Dr. Ashok Kumar is an Associate Professor in the School of Computing and
Informatics at the University of ouisiana at Lafayette, USA. Dr. Kumar obtained his
Ph.D. in 1999 and worked for four years in industry before joining academia full time.
He has published extensively in refereed journals, conferences, and book chapters. He
has served on the program committees of several conferences. His areas of interest
span hardware design for low power, embedded and sensor-based computing, video
game design, and software engineering. He serves on the editorial committees of
several journals and is currently the editor-in-chief of the International Journal on
Embedded Systems and Its Applications.
Prof. Ravi Bhushan Mishra is a Professor and the Head of the Computer Engineering
Department at Indian Institute of Technology (Banaras Hindu University), Varanasi.
He has 34 years of teaching and research experience with more than 203 research
publications.He has published various books and book chapters with publishers of
international repute. His research areas include Machine Translation (MT), Multi
Agent System (MAS), Semantic Web Services (SWS), Medical Computing, Intelligent
Tutoring Systems (ITS), E-commerce, Robotics, Learning System in Computer
Education, Cognitive Computing, and Computational Bioinformatics. He has supervised 19 doctorates and
more than 42 masters students. He has visited and lectured in USA, UK, and NEPAL. He has been awarded
certificate of merit in India and UK. He has organized various national and international conferences in
computing.

28

More Related Content

What's hot

962 sech04
962 sech04962 sech04
962 sech04aldwal
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptKunal Kishor Nirala
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1Abhimanyu Mishra
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problemsjournalBEEI
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Unit 2 analysis and software requirements
Unit 2 analysis and software requirementsUnit 2 analysis and software requirements
Unit 2 analysis and software requirementsAzhar Shaik
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3Abhimanyu Mishra
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering AssignmentSohaib Latif
 

What's hot (20)

Ch25 configuration management
Ch25 configuration managementCh25 configuration management
Ch25 configuration management
 
962 sech04
962 sech04962 sech04
962 sech04
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
Resume
ResumeResume
Resume
 
Swe notes
Swe notesSwe notes
Swe notes
 
A2
A2A2
A2
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Software process
Software processSoftware process
Software process
 
Unit 2 analysis and software requirements
Unit 2 analysis and software requirementsUnit 2 analysis and software requirements
Unit 2 analysis and software requirements
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Ch17 distributed software engineering
Ch17 distributed software engineeringCh17 distributed software engineering
Ch17 distributed software engineering
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
Ch03 prescriptive process models
Ch03 prescriptive process modelsCh03 prescriptive process models
Ch03 prescriptive process models
 
software engineering
software engineering software engineering
software engineering
 

Viewers also liked

Finaldocumentation
FinaldocumentationFinaldocumentation
Finaldocumentationasuadma
 
For The Project Of Examination System
For The Project Of Examination SystemFor The Project Of Examination System
For The Project Of Examination SystemUsama Ahmed Peerzada
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging ChallengesAaron Irizarry
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (6)

Finaldocumentation
FinaldocumentationFinaldocumentation
Finaldocumentation
 
For The Project Of Examination System
For The Project Of Examination SystemFor The Project Of Examination System
For The Project Of Examination System
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Mvc architecture driven design and agile implementation of a web based software system

Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
Nt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core TechnologiesNt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core TechnologiesAshley Gomez
 
Lab management
Lab managementLab management
Lab managementlogumca
 
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...ijiert bestjournal
 
Software Lifecycle Management
Software Lifecycle ManagementSoftware Lifecycle Management
Software Lifecycle ManagementAnkit Jain
 
DESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance FrameworkDESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance FrameworkIJERA Editor
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model reportAshutosh Singh
 
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
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONijseajournal
 
Software Engineering Process in Web Application Development
Software Engineering Process in Web Application DevelopmentSoftware Engineering Process in Web Application Development
Software Engineering Process in Web Application DevelopmentIOSR Journals
 
IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxvrickens
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15Jay van Zyl
 

Similar to Mvc architecture driven design and agile implementation of a web based software system (20)

SE-Lecture-4.pptx
SE-Lecture-4.pptxSE-Lecture-4.pptx
SE-Lecture-4.pptx
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Software models
Software modelsSoftware models
Software models
 
Nt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core TechnologiesNt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core Technologies
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
Lab management
Lab managementLab management
Lab management
 
Ch17
Ch17Ch17
Ch17
 
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...
 
Software Lifecycle Management
Software Lifecycle ManagementSoftware Lifecycle Management
Software Lifecycle Management
 
Complementing Agile SDLC with Agile Architecture
Complementing Agile SDLC with Agile ArchitectureComplementing Agile SDLC with Agile Architecture
Complementing Agile SDLC with Agile Architecture
 
DESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance FrameworkDESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance Framework
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model report
 
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
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
Software Engineering Process in Web Application Development
Software Engineering Process in Web Application DevelopmentSoftware Engineering Process in Web Application Development
Software Engineering Process in Web Application Development
 
D017152832
D017152832D017152832
D017152832
 
IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docx
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
 

Recently uploaded

Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdfJamie (Taka) Wang
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfAnna Loughnan Colquhoun
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?SANGHEE SHIN
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 

Recently uploaded (20)

Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdf
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 

Mvc architecture driven design and agile implementation of a web based software system

  • 1. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 MVC ARCHITECTURE DRIVEN DESIGN AND AGILE IMPLEMENTATION OFA WEB-BASED SOFTWARE SYSTEM Sandhya Prakash Vancouver, B.C., Canada Ashok Kumar University of Louisiana at Lafayette, USA Ravi Bhushan Mishra Indian Institute of Technology (BHU), Varanasi, India ABSTRACT This paper reports design and implementation of a web based software system for storing and managing information related to time management and productivity of employees working on a project. The system has been designed and implemented with best principles from model view controller and agile development. Such system has practical use for any organization in terms of ease of use, efficiency, and cost savings. The manuscript describes design of the system as well as its database and user interface. Detailed snapshots of the working system are provided too. KEYWORDS Model view control, agile system, time management,web based system, database, user interface, MySQL, struts. 1. INTRODUCTION Tracking and managing productive time spent on projects by software developers and other employees is a very important task for any organization. This work is focussed on design and development of a timesheet management system (TMS). The proposed system is a web-based, multi-user application that is designed to be used beyond geographical boundaries and intended to help employees to manage their work hours by keeping track of their daily and weekly productive hours (i.e., time spent on projects). The information is stored in a central database system. Computerized information collection, storage, and retrieval brings accuracy to the time management system. TMS is a model view control based system.It generates reports for employees and helps to create, update and delete projects and calculates salaries for the employees by tracking their daily work hours.TMS was mainly developed to accurately track employees’ work hours, to maintain computerized attendance system, and based on this information, to calculate salaries for the employees. The software was testedthoroughly to understand project costs, client bills, payroll, and work productivity. TMS helps increase productivity among employees and it increases accountability across an organization. DOI : 10.5121/ijsea.2013.4602 13
  • 2. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 The remainder of the paper discusses project requirements, selection of design and implementation methodologies, details of implementation, and snapshots of actual implementation. 2. DESIGN AND IMPLEMENTATION A successful design of the presentedsoftware system is based on well described user and system requirement specification, selection of appropriate design and implementation methodologies, actual implementation, testing, and deployment. The development begins with understanding the process by presenting a requirement documentthat specifies the purpose of the proposed TMS system and the functions that it must perform in order to meet the requirements.TMS system needed a lightweight framework of development to accommodate possible changes in functional and technical specifications, to accommodate easy interactions among developers, and to produce a rapid prototype of the system. Cost saving and flexibility were the key criteria in our selection of agile methodology. The project was broken down into smaller pieces of functionality and frequent iterations in all aspects of its development such as planning, analysis, design, development, testing, and integration were entertained. Also, all stakeholders of the system such as executives, managers, customers, software developers and testers were involved in the process and the system was allowed to be flexible enough to accommodate requests for any reasonable changes from any stakeholders. Agile Conception Conception Initiation Initiation Analysis Analysis Design Vs Design Construction Construction Testing Testing Deployment Deployment Waterfall Model Figure 1. Agile versus Waterfall models 2.1Agile Model 14
  • 3. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 The TMS system used agile model of implementation which is described next. Agile model of software development differs from the traditional waterfall model as shown in Figure 1. An agile process produces greater customer satisfaction by quickly producing an initial prototype of system and allows customers to have a feel for the system and most importantly it allows customers to start giving them inputs early in the development rather than in the late stages of development. Requirements are allowed to change in an agile process and yet an agile process, if implemented properly, is completed in a given time frame. An agile process typically needs to have team members with high accountability and excellence in providing timely inputs for improving the system, and incorporating changes in the system as needed. Team members should include not only developers and other technical executives but also representatives of end users. Such team is typically empowered to make decisions which are crucial for the success of an agile process. An agile process is typically light weight and changes to the system-under-development are considered a rule rather than an exception. Requirements can evolve over a time period and an agile process accommodates such changes. This is one of the most significant advantages of an agile process over traditional software development processes. Agile process is iterative, it allows projects to be developed incrementally, and it greatly reduces the risk of the end result to be significantly different from what was envisioned at the beginning of the project. Project deliverables and meeting customers’ expectations are given much higher weight than rigorous documentation. It is clear that an agile process needs more frequent interactions among stakeholders and team members and just-in-time approaches are typically used for such purposes. Frequent releases and deliveries of software system isdone in the agile methodology in order to seek customers’ feedback and in order to allow software development (code) changes. In an agile process, a software development team not only implements what the end user asks for but also provides the end user with realistic view of which features can be included in the product a given timeline and which cannot. Such communications, feedbacks, and adjustments help the agile process to achieve high degree of success in comparison to traditional waterfall based approach of software development. 2.2MVC Architecture The TMS system used the model-view-controller (MVC) design pattern and Struts framework. Using the MVC approach, an application is divided into three functional parts named as model, view and controller. The model part represents the business logic of the TMS software applications as well as access to relational database. The view is the visual interface provides a medium to web users to interact with the system. View source codes for the TMS system are created using java server pages (JSP) technology. The controller consists of one or more servlets, configuration files and Struts actions files.MVC pattern is shown in Figure 2. Generally, in model2 web applications the web server (e.g. Tomcat in the case of TMS) contains view and controller both at application run time while data storage is done in third tier named as Model. The view part represents user interface and it is created using JSP files that generally do not contains any business logic in order to ease the rebuild process and to reduce the complexity of applications internal dependency. The controller part of MVC architecture is a component on web server that process all incoming requests from user via user interface to a single servlet instance. Due to heavy load of processing requests this controller is also known as fat controller. 15
  • 4. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Java beans are known as model component in an MVCarchitecture. To process the requested business logic, the action servlet selects and invokes one or more actions to process the request at a time. Action generally creates or modifies java beans which is stored as a request or session object and changes the state of a web application when a user interacts with the UI and requests something. The RequestDispatcher.forward() method of servlet API is called by the action to generate the next requested page by the user instead directly producing the requested page. Web Server Application Server Request Controller Servlet H T T P Action Model View Java bean MySQL Database JSP Response EJB Figure 2.MVC Design pattern overview 2.2.1 Advantages of MVC Design The implementation of model-view-controller in three different dynamic parts has many direct benefits. For example it is easy to delegate the development work within developers or team members and distribute the total effort and MVC model ensures that changes in one web application will not affect the other web application. As an example web designer and web developer can work independently or a coder working on business logic can work independently of the professional working application flow control. By implementing the MVC architecture it becomes easy to prototype the work by following very simple steps like to create a prototype of a web application that access several work stationsbased programs. By making little changes to the configuration files or renaming the server contents only, one can implement production level programs that can run on different platformswithout having to rewrite the source code. Migration of legacy programs has become easy since the model and controller and totally separated in MVC and it makes tailoring the user category or platform much simpler. MVC has also great contribution in simplifying the scalability problem of software programs of large size applications and making modification and maintenance of applications easier through clear separation of tasks. 2.3USE CASE DIAGRAMS FOR THE TMS SYSTEM 16
  • 5. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 After deciding most suitable development methodologies for TMSsoftware design,the process begins with a simple use case diagrams that represent interaction between the system and its users without being trapped into details. Use case diagrams for TMS are presented in Figure 3 Login in to TMS system Create TS View existing TS Employee Add new employee Update employee Deactivate employee Edit TS Admin Update TS Delete TS Figure 3. Use-Case diagram of interaction between employee, admin and system 2.4. REPRESENTATION OF BUSINESS FUNCTIONS FOR THE TMS SYSTEM Data flow diagrams are used by system analysts and software developers to represent the functional requirements of the system and to model the process. Data flow diagram is considered as one of the efficientmodelling techniques for eliciting and representing the processing requirements of a system. Data flow diagram for the TMS system is shown in Figure 4 and it captures business functions for the proposed system.It follows the rules of modern flowcharts. Figure4.Data flow diagram of the TMS system 2.5. CLASS DIAGRAMFOR THE TMS SYSTEM 17
  • 6. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 The class diagram for the TMS system is shown in Figure 5. Itconsists of attributes(data) and operations (behaviors) such that attributes are implemented as fields and class operations are implemented as method. The entity-relationship for TMS is shown in Figure 5 and Figure 6. EmpBean Emp_ID: string Pwd: string Designation: string First_Name: string Last_Name: string createTs () updateTs () submit () 1 <<utility>> Login Validation <<utility>> Employee Validation 0..* TSBean TS_ID:int Date:int Emp_ID: string Entries: TSEntryBean 1 1..* <<utility>> TSValidation <<utility>> Date Format -cal TSEntryBean TS: TSBean Project_ID: int Monday: double Tuesday:double Wednessday:double Thursday:double Friday:double Saturday:double Sunday:double Notes: string <<utility>> Day Format -number <<utility>> TS entry Validation Figure 5.Class diagram with attributes and operations (incorporating inheritance) Employee -Emp_ID[PK] -Password -First_Name -Last_Name -Designation 1 0..* Timesheet - TS_ID[PK] -Emp_ID -Date -Calender 1 1..* TimesheetEntry - Project_ID[PK] -Client_ID -TS_ID -Monday -Tuesday -Wednesday -Thursday -Friday -Saturday -Sunday Notes: string Figure 6.Entity relationship model for TMS 2.6. DATABASE AND ORM FRAMEWORK (HIBERNATE) IN TMS Database system used in TMS is a relational database management system (RDBMS)and it is a collection of tables to store data.The database design process starts with information gathering and understanding the functional requirements in the project. The document should give a concise summary of all users’ requirements, not just a collection of individuals’ requirements, as the intention is to develop a single shared database. 18
  • 7. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 The requirements should not describe how the data is to be processed, but rather what the data items are, what attributes they have, what constraints apply and the relationships that hold between the data items. Hibernate has been used in TMS as it provides ORM functions very well as an abstraction layer between Java and MySQL database. The intent here is that Java will be able to work internally with the objects defined as they desire, while the database is designed in a purely relational. In TMS system, key users of the system are employees and the system was built to track the productive work hours of the employees. Themain tables in database are shown in Table 1, Table 2, and Table 3. The attributes of the table are self-explanatory. Table1- Employee Details ColumnName Emp_Id Last_Name First_Name Emp_Designation Email Cell_Phone Home_Phone Photo_Id Street City Zip State Nationality Visa_Status Sex Birth_Date Emp_Type Dept_Id Emp_Memo DataType int varchar varchar varchar varchar varchar varchar image varchar tinyint varchar tinyint varchar varchar varchar date varchar int varchar VariableLength 10 20 20 30 20 20 20 30 50 1 20 1 30 50 20 50 30 20 300 Null Value Not null Not null Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Table2- Login ColumnName Emp_Id Password Emp_Type DataType varchar varchar tinyint Length 30 30 1 NullValue Not null Not null Not null Table3 - Projects Details ColumnName DataType Length NullValue 19
  • 8. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Proj_Id Proj_Name Client_Name Proj_Start_Date Proj_End_Date Int varchar varchar varchar varchar Hibernate was used in the TMS system to map object oriented domain model to relational database. Hibernate framework simplifies the development of java application to interact with the database. Hibernate is an open source, light weight, object relational mapping tool. An ORM simplifies the data creation, data manipulation and data access. It is a programming technique to map the objects to data stored in a database in the form of tables. There are many advantages of using hibernate framework for accessing data from a database in a java web application. Some key advantages of why Hibernate was used in TMS are listed here. First, Hibernate is an Open source software and very light weight. Second its performance is very high because cache memory is utilized internally. Usually Hibernate framework uses two types of cache memory first level cache and second level cache. First level cache is enabled by default. Third benefit is Hibernate uses a database-independent query language known as Hibernate Query Language (HQL) which is an object oriented version of SQL. It generates the database independent queries. It means there is no need to change the query when changing the database. As a result, database specific queries are not required. Hibernate supports automated table creation which means database tables can be created automatically so no there is need to create tables manually. Hibernate offers a technique to fetch data from multiple tables without complexity. Hibernate is also well known for its excellent stability and quality, it allows persistence, and it scales well. 2.7. STRUTS IN TMS TMS uses an MVC architecture driven design and its implementation needed a web application framework that could use Java Servlets and facilitate adherence to the MVC architecture. For this reason, Struts were found to be a perfect match for the TMS system.For an example, the strut based design of the login process in MVC is shown in Figure 9 and its processing details are shown in Figure 7. 20
  • 9. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Figure 7. Strut based design of login process architecture in TMS Figure 8. Processing details 2.8. SNAPSHOTS OF WORKING TMS SYSTEM 21
  • 10. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 The TMS system used extensive testing including unit-tests to ensure proper functionality and robustness of code. Classes that were difficult to test were refactored and deep hierarchies were avoided in the design. The system underwent thorough testing and it was found to be fully functional. Some of the snapshots of the system are shown in Figure 9 through Figure 20. Figure 9. Home page of time sheet management system Figure 10. Storing information of a new project Admin Home page: 22
  • 11. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Figure 11. Adding new projects Figure 12. Storing information of a newly added project 23
  • 12. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Figure 13. Updated display of a newly added project Figure 14. Addition of a new employee to the system 24
  • 13. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Figure 15. Storing information related to an employee Again Login as Administrator to ‘Approve/Reject’ Employee Timesheet: Figure 16. Administration login for approval or rejection 25
  • 14. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Figure 17. Administration approval or rejection of timesheet Figure 18. Display of updated time sheet Figure 19. Employee’s view of an approved or rejected timesheet 26
  • 15. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Figure 20. Password change option 2.9. RELATED WORK The work in [1] is the seminal work on agile development and it has been widely cited and used. The book in [2] provides an in-depth coverage of MVC architecture. The Struts framework is described in [3] in detail. A web-based time management system was reported in [4] using a client-server model.The works in [5] and [6] are somewhat, but very remotely, related as they use struts and hibernate too. 3. CONCLUSIONS This paper presented design and implementation of a software system for time management by employing the best practices from model view controller based software architecture as well as agile methodology based implementation. The proposed idea has been successfully implemented and tested thoroughly, and it has practical use in both industry in academia. ACKNOWLEDGEMENTS The first author would like to acknowledge her teammates. REFERENCES [1] [2] [3] [4] [5] [6] Kent Beck, et al., “Manifesto for Agile Software Development”, 2001, available at http://agilemanifesto.org. Frank Buschman, et. al., “Pattern-Oriented Software Architecture Volume 1: A System of Patterns”, 2000, John Wiley & Sons. Struts, Apache Struts Project, http://struts.apache.org/ Z.M. Udin, et. al., “Development of a Web-based Academic Time Management System”, Proc. Sixth International Conference on Computer Supported Cooperative Work, 2001, pp. 572-574. Jing Yang et. Al., “Management System for Scientific Research Projects based on the Combined Framework of Struts and Hibernate”, Proceedings of the 2nd International Conference on Artificial Intelligence, Management Science, and Electronic Commerce, 2011, pp. 5619-5622. Li Zhang, et. Al., “Design and Implementation of e-online Tourism System Based on the Hibernate Framework”, Proceedings of the International Conference on Electrical and Control Engineering, 2011, pp. 2963-2966. 27
  • 16. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Authors Sandhya Prakash received her Bachelors and Masters degrees in Computer Science. Her areas of interest include Internet Computing, Software Engineering, Databases, and User Interfacing. Dr. Ashok Kumar is an Associate Professor in the School of Computing and Informatics at the University of ouisiana at Lafayette, USA. Dr. Kumar obtained his Ph.D. in 1999 and worked for four years in industry before joining academia full time. He has published extensively in refereed journals, conferences, and book chapters. He has served on the program committees of several conferences. His areas of interest span hardware design for low power, embedded and sensor-based computing, video game design, and software engineering. He serves on the editorial committees of several journals and is currently the editor-in-chief of the International Journal on Embedded Systems and Its Applications. Prof. Ravi Bhushan Mishra is a Professor and the Head of the Computer Engineering Department at Indian Institute of Technology (Banaras Hindu University), Varanasi. He has 34 years of teaching and research experience with more than 203 research publications.He has published various books and book chapters with publishers of international repute. His research areas include Machine Translation (MT), Multi Agent System (MAS), Semantic Web Services (SWS), Medical Computing, Intelligent Tutoring Systems (ITS), E-commerce, Robotics, Learning System in Computer Education, Cognitive Computing, and Computational Bioinformatics. He has supervised 19 doctorates and more than 42 masters students. He has visited and lectured in USA, UK, and NEPAL. He has been awarded certificate of merit in India and UK. He has organized various national and international conferences in computing. 28