Design Document Contents 1 Introduction 3 1.1 Purpose of Document ........................ 3

aquahellishSoftware and s/w Development

Dec 13, 2013 (4 years and 7 months ago)


Design Document


1 Introduction 3

1.1 Purpose of Document ........................ 3

1.2 Audience ...............................


1.3 Related Documen


2 System Overview 3

3 Business Process


4 Design Decisions


4.1 Web Tier ...


4.2 Persistence Technology........................ 6

4.3 Workflow...............................


5 Architecture Overview


6 Domain Model 7



8 Glossary


9 Change Log 8

Bhoj Reddy College of Engineering for Women

Department of CSE


CEP Automation Design Document

1 Introdu

1.1 Purpose of Document

This document explains software design for CEP automation project, along with
major design decisions and constraints. After reading this document, a person
should be able to:

• Understand overall software design, constra
ints and rationale behind de

• Understand development method.

• build extensions to existing code base.

1.2 Audience

This document is intended for software programmars, architects, testers, sys
tem/site administrators who wish to extend/unde
rstand CEP automation.

1.3 Related Documents

• Software Requirement Specification [5], version 1.1.

• Project Plan [6], Version 1.0

2 System Overview

Continuing Education Programme (CEP) at IIT bombay is an initiative to widen the
existing knowle
dge base of industry professionals. Four different types of courses
are offered under this umbrella:

1. Open Programme (Short and Long term)

2. Inhouse Programme

3. PG Level Programme

4. Distance Education Programme

Business process at CEP Center (IIT
Bombay) is completely manual at present.
This project aims at automating most of the business process like Course offering,
registration, and fees processing. Scope of this project is limited to open
programme, inhouse and PG
Level. Distance education prog
ramme is kept as a
future extension. This project will enable:

• Faculties to submit course proposal, request for venue, accomodation.

• Faculties to view all registered participants.

• Faculties to view account details, apply for temporary advance, set
tle bills online.

• Heads of the departments, deans, and CEP Incharge to approve documents
online which require approval before processing.

• CEP Staff to process participant fees.

• CEP Staff/incharge to view reports in a printable form.

Bhoj Reddy College of Engineering for Women

Department of CSE


3 Busi
ness Process

This section describes different tasks in current business process and usecases
which capture these tasks.

• TASK: Semester Calander USE
CASE Ref: 8, 5

1. CEP
PIC initiates a new Calendar at the start of semester.

2. A mail and Faculty Resp
onse sheet is sent to all Faculties asking for tentative
courses and anticipated dates.

3. Interested Faculties submit Faculty Response sheet to CEP.

• TASK: Offer Course USE
CASE Ref: 8, 10, 6, 3

1. Faculty recieves a Course Proposal form approximately

2 months prior to
anticipated date of offered course.

2. Faculty fills in the details in Course Proposal form, and submit it to CEP after
getting approval from HOD.

3. CEP staff checks for availability of Mess, Venue and accomodation.

4. CEP sends a no
tification of finalized schedule.

5. CEP staff prepares course brochure.

• TASK: Course Registration USE
CASE Ref: 8, 11, 15

1. Participant submits a course registration form to CEP staff.

2. All applications are forwarded to Course Coordinator for app

3. Registrations are confirmed only after approval by Course Coordina

• TASK: Fees Processing USE
CASE Ref: 8, 4

1. CEP Office recieves fees payments in 3 modes, by cheque, cash or draft.

2. CEP staff enters Payment information into local r
ecords and prepares system
generated bills.

3. System generated bills are entered into MISEC system by CASH Section (IIT

NOTE: Step 2
3 have to be merged into a single step, enabling CEP staff to
directly enter payment info into MISEC.

Bhoj Reddy College of Engineering for Women

Department of CSE


CEP Automation Design Document

• TASK: Temporary Advance/Purchase USE
CASE Ref: 8, 12, 6

1. Course Coordinator submits a Temporary Advance application/Purchase
application form to CEP

2. If approved, funds are released to course coordinat

• TASK: Accounts Settlement USE
CASE Ref: 8, 7, 16

1. CEP
PIC initiates account settlement process, in which course rev
distributed according to institute norms given below:

(a) Coordination Honorarium is 10% of gross income.

(b) Institute Shar

i. 25% from gross revenue for Open programmes.

ii. 33% from gross revenue for In
house programmes.

iii. Miscellaneous expenses

1.5% from gross revenue.

iv. In case of In
house programme, travel expenses to course venue and
accomodation expenses will be

excluded while cal
culating gross revenue.

v. Institute share is divided equally between Institute and De
Development Fund(DDF). DDF is also equally di
vided in case multi

vi. For PG level course, the course fee collected from
industry participants would
be shared between Institute, DDF and RDF in the ration of 40%, 40%, and 20%

(c) Course coordinator submits Corpus intimation and DDF intima
tion to CEP
for above stated settlement.

(d) CEP
PIC sends it to D.R

(F&A) in case of Corpus and Dean (R&M) in case of
DDF for further approval.

4 Design Decisions

CEP Project is a 3
tier, Model
Controller based architecture. Current
architecture combines controller and view in JSP pages, whereas model is per
d using JDO[1] technology. This section talks about design decisions and
choices taken at each tier in terms of availability, expertize and complexity of

4.1 Web Tier

CEP project is mainly a document centric system, where many documents are
generated and sent to different persons for approval. Navigation has two aspects,
one of them being normal page navigation and another is document approval
sequence. View and Page navigation is hardcoded in jsp whereas document ap
proval sequence is extern
alized and is fed into system using an XML document.
For implementing this we had following choices:

• MVC with Plain JSP

Bhoj Reddy College of Engineering for Women

Department of CSE


CEP Automation Design Document

For any operation there are at maximum 3 jsp page navigations in
volved. Using
standard M
VC (like struts, jsf) would be an overkill.

Adequate expertize, less complex code.

Possible extension points exposed as XML (e.g change in document approval
sequence can be done by changing xml).

• Apache Struts Apache Struts [7] is an Open source f
ramework, which helps
developers to design and build web applications based on MVC Architecture.

Less expertize, complex code as compared to JSP.

Wide user base as compared to JSF [3].

Learning curve: Similar to JSF, but higher than JSP.


Only R
endering technology is JSP/HTML.

Form data has to be Captured into another layer (ActionForm) and then
mapped to Model classes.

• Java Server Faces [3] SUN's JSF is also an open source framework, with
reference implementations from SUN, IBM, Apache and

many more. This
technology is gaining a user base slowly. It is also an MVC based system, but
provides rich UI functionalities as compared to Apache Struts

Less Expertize, complex code as compared to JSP.

Standard component API for user interface co

Decoupled rendering model.

Better support for user interface events, can have multiple event han
dlers for a
page as compared to struts (1 per page).

Customized rendering toolkits may be used apart from standard JSP/HTML.


Based on Sun
s Standard (JSR 127).

UI Components can be directly tied to Model

4.2 Persistence Technology

Persistence of data model is handled using O/R Mapping tools(like JDO[1],
Hibernate [8], Toplink etc) or Object Oriented Databases (like DB4O), former being
an obvious choice with a wide user base. O/R Mapping tools fall into two
categories, Standard based (JDO) and Non
Standard (Hibernate, Toplink).
Standard based tools have obvious advantage that JDO implementation can be
used in place of JPOX without affect
ing existing codebase. This project makes use
of JPOX [2] as persistence Technology.

• JPOX/JDO[2] JPOX[2] is an open source JDO implementation released under
Apache 2 open source license. It supports a wide range of RDBMS in market


Based on Sun
's JDO 2 Specification (JSR 12).

Prior experience on working with JDO.

Bhoj Reddy College of Engineering for Women

Department of CSE


Performance benchmarks by Polepos[4] indicates that JPOX per
forms much
better than Hibernate.

• Hibernate[8] Hibernate is open source O/R Mapping tool, released under LG

Standard based.

No prior experience with this technology.

4.3 Workflow

CEP is primarily a workflow based system. There are two possible ways of
implementing a workflow based system, i.e. use an existing Java based workflow
engine or hard
code workflow in system. This project follows the later. We
identified that workflow is going to be static, only thing that can change is the
approval sequence which is externalized using XML.

• Javabased WorkFlow Engine

• Partially Hardcoded workflow


Architecture Overview

CEP Automation Project is a typical workflow based document centric system. For
this purpose, all the documents were converted into JSP forms as is, so that
system users will not have issues in specifying input. Basically document
s like
course proposal, invoices, bills are generated in system and usually have a unique
approval sequence associated with each one of them. This approval sequence is
captured in XML documents so that it can be modified as and when required. JSP
pages int
eract with JPOX layer for model persistence. Navigation module handles
page navigations. System will work with any database supported by JPOX,
currently system is being tested on MySQL and POSTGreSQL. Advan
tage of
using JDO/JPOX layer is that the same mod
el can be reused for further extension
and JDO layer can be replaced with EJB layer seamlessly.

authentication server are two external integration points in the system.System
interacts with MISEC by calling standard SQL Functions from withi
n Java code and
using LDAP apis with LDAP.

Bhoj Reddy College of Engineering for Women

Department of CSE


CEP Automation Design Document

6 Domain Model

Refer Figure 2 for details of Domain Object Model



JSP Pages


Figure 1: System Architecture

8 Glossary


nuing Education Programme


Java Persistence Objects


Java Data Objects


Java Server Faces


Model View Controller Architecture


Object Relational Mapping

9 Change Log



1.1 1.2

Added Domain Model and attached Us
e Case Reference to
Business Flow Added System Architecture

Bhoj Reddy College of Engineering for Women

Department of CSE


CEP Automation Design Document

Figure 2: CEP Domain Object Model


[1] Java Data Objects,, referred on November 21,

[2] Java Persisten
ce Objects,, referred on November 21,

[3] Java Server Faces, referred
on November 21, 2006.

[4] PolePosition Object Persistence Performance Benchmark,,
red on November 21, 2006.

[5] CEP Automation Project, Software Requirement Specification Version 1.1.

[6] CEP Automation Project, Project Plan Version 1.0.

[7] Apache Struts Framework,, referred on November 21,

[8] Hibe
rnate Framework,, referred on November 21,