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

aquahellishSoftware and s/w Development

Dec 13, 2013 (3 years and 10 months ago)

91 views


Design Document





Contents

1 Introduction 3

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

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


3

1.3 Related Documen
ts..........................

3

2 System Overview 3

3 Business Process


4

4 Design Decisions

5

4.1 Web Tier ...
............................


5

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

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


7

5 Architecture Overview

7

6 Domain Model 7

7 MISEC


7

8 Glossary

8

9 Change Log 8



























Bhoj Reddy College of Engineering for Women

Department of CSE

2


CEP Automation Design Document


1 Introdu
ction


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
cisions.

• 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


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
roval.

3. Registrations are confirmed only after approval by Course Coordina
tor.

• 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
Bombay).

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

4


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
-
PIC.

2. If approved, funds are released to course coordinat
or.

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

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

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

(b) Institute Shar
e:

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
partment
Development Fund(DDF). DDF is also equally di
vided in case multi
-
department
course.

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%
respectively.

(c) Course coordinator submits Corpus intimation and DDF intima
tion to CEP
-
PIC
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
-
View
-
Controller based architecture. Current
architecture combines controller and view in JSP pages, whereas model is per
-
siste
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
technology:

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

5




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
mponents.



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
today.

-

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

6









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
PL.



Non
-
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

5

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.

MISEC and LDAP
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

7








CEP Automation Design Document


6 Domain Model


Refer Figure 2 for details of Domain Object Model

7 MISEC

TODO


JSP Pages

PostGresQL

Figure 1: System Architecture

8 Glossary

CEP
-

Conti
nuing Education Programme

JPOX
-

Java Persistence Objects

JDO
-

Java Data Objects

JSF
-

Java Server Faces

MVC
-

Model View Controller Architecture

ORM
-

Object Relational Mapping

9 Change Log

Versio
n

Change

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

8

CEP Automation Design Document


Figure 2: CEP Domain Object Model

References

[1] Java Data Objects, http://java.sun.com/products/jdo, referred on November 21,
2006.

[2] Java Persisten
ce Objects, http://www.jpox.org, referred on November 21,
2006.

[3] Java Server Faces http://java.sun.com/javaee/javaserverfaces, referred
on November 21, 2006.

[4] PolePosition Object Persistence Performance Benchmark, www.polepos.org,
re
fer
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, http://struts.apache.org, referred on November 21,
2006.

[8] Hibe
rnate Framework, http://www.hibernate.org, referred on November 21,
2006.