Documente Academic
Documente Profesional
Documente Cultură
System Design
Arcle Technologies
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
People Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Project History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
People Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Member Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Administrative Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Event Organizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Shared Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Value Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Data-Access Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Business Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Member Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Sample Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Value Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Data-Access Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Business Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Event Organizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Sample Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Value Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Data-Access Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Business Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
BNCC Information System
System Design
http://www.arcle.com Page 3 of 39
BNCC Information System
System Design
2 General Description
2.1 System Architecture
Architecturally, the system is separated into three primary subsystems: The
Presentation Logics, the Business Logic, and the Data-Access Objects. This
separation is modeled after the Model-View-Controller pattern, where the
Presentation Logic interacts with the user acting as the View, the Data-
Access Objects provides a model of the data, and finally the Business Logic
controls the interaction between the two.
Data-
Security Control
Access
Presentation Business
Objects
Logic Logic
Value
Objects
User
SQL Database
Figure 1 Buncis Architecture Overview
http://www.arcle.com Page 4 of 39
BNCC Information System
System Design
Consisting of JSP pages, the Presentation Logic drives the user interface.
It provides user screens and accepts user input. User commands are
translated into one or more actions in the Business Logic by this layer. By
not performing business processes in the user interface, more user
interfaces may be accommodated without re-coding the business process
layer.
Attached to the Business Logic is the Security Control layer. This layer
determines whether the currently logged-on user is allowed to access
specified functionalities of the Business Logic. Upon entry at each method
in the Business Logic, the invoked method first queries the security control
before executing the algorithm it contains. If the user is allowed access,
then the method will continue to execute normally. Whereas the user
doesn’t have access to the functionality, the method will throw an exception
without executing any further.
Instantiated by the Data-Access Objects, the Value Objects are simple data
structures. Value Objects are -- by definition -- unintelligent, and must not
perform processing on its own; the methods of these objects are only
accessor methods. These objects are passed around as parameters in the
system as required.
2.1.1 Prototype notes
Currently, the Alpha One prototype does not implement the Security Control
layer – thus security is not enforced. The Security Control layer design will
be included in the User Management module.
3 Database Design
3.1 People Tables
One of the goals of Buncis is to record the interaction of BNCC with other
parties. This includes the people within and outside the organization. In
relation to people, Buncis stores information about activists, staffs, seniors,
and contact persons.
http://www.arcle.com Page 5 of 39
BNCC Information System
System Design
person
person_id staff
person_id (FK)
name
active_year
gender
email active_position
birthday
home_address senior
home_phone person_id (FK)
mobile_phone last_active_year
personal_notes
dt_lastupdate last_staff_position
contact_person
person_id (FK)
member activist
organization_name (FK)
person_id (FK) person_id (FK)
office_address membership_year active_year
office_phone
office_email school_major division
dt_lastupdate
3.1.1 Person
The person table is the primary table which stores a person’s personal
information. Entries in this table are created upon the person's first contact
with BNCC.
person
http://www.arcle.com Page 6 of 39
BNCC Information System
System Design
3.1.2 Members
The member table stores data about members for each period of membership.
Those members who register for more than one period of membership will
have multiple entries in this table, but only one entry in the person table. It
is assumed that a membership period lasts for one year.
member
3.1.3 Activists
The activist table contains records about activists during a period of
occupancy (which each occupancy is normally one year). Since activists are
also people, this table records the occupancies of the person in question as
an activist. It is facilitated in the system for a person to have more than one
activist occupancy period, in which he/she will have one record in the person
table, and one or more records in the activist table.
http://www.arcle.com Page 7 of 39
BNCC Information System
System Design
activist
3.1.4 Staffs
The staff table contains data about staffs during their periods of occupancies.
Each record in this table stores data about a person during one period of
occupancy. When a person occupies more than one period, this table stores each
occupancy as one record, referencing to that person’s identification in the person
table.
staff
3.1.5 Seniors
The senior table records data about staffs that are no longer in service. In other
words, seniors are retired staffs.
senior
http://www.arcle.com Page 8 of 39
BNCC Information System
System Design
contact_person
http://www.arcle.com Page 9 of 39
BNCC Information System
System Design
magazine
http://www.arcle.com Page 10 of 39
BNCC Information System
System Design
member_take_magazine
member_payment
http://www.arcle.com Page 11 of 39
BNCC Information System
System Design
event
person event_name
person_id
event_start
name event_finish
gender
email
birthday
home_address
home_phone attendance
mobile_phone
person_id (FK)
personal_notes
dt_attend
dt_lastupdate
event_name (FK)
3.3.1 Attendance
The attendance table records data about people who attend the various events
held by BNCC. It is assumed that a person may not attend more than one
event at an instance of time.
attendance
http://www.arcle.com Page 12 of 39
BNCC Information System
System Design
contact_person
organization
person_id (FK)
organization_name
organization_name (FK)
primary_address
office_address
primary_phone
office_phone
primary_website
office_email
dt_lastupdate
dt_lastupdate
event
event_name
event_start
event_finish
3.4.1 Events
The event table store data about the various events held by BNCC. Events
are identified by their name, which must be unique for all events. Therefore,
recurring (periodic) events must be made unique by appending the event
name with time information (for example: "FA May 2003").
event
3.4.2 Organizations
The organization table stores data about other organizations that came into
contact with BNCC. Organizations are identified solely by their names.
organization
http://www.arcle.com Page 13 of 39
BNCC Information System
System Design
4 Shared Components
4.1 Value Objects
http://www.arcle.com Page 14 of 39
BNCC Information System
System Design
ValueObject
(from data)
PersonVO
(from data)
ReportVO
name : Stri ng (from data)
gen der : Stri ng
emai l : String
birthday : Date
homeAddress : Stri ng
homePhone : String
mobi lePho ne : String
TableModel
personalNote s : String
dtLastU pdate : Timestamp (f rom table)
personID : String
addTableModelListener()
getNam e() : String getColumnClass()
getGender() : String getColumnCount()
getEm ail() : Strin g getColumnName()
getDtLastUpda te() : Times tamp getRowCount()
getPersonID() : PersonID getValueAt()
getBi rthday() : Date isCellEditable()
getHom eAddre ss() : String removeTableModelListener()
getHom ePhone() : Stri ng setValueAt()
getMobi lePho ne() : String
getPersonal No tes() : String
setNam e(name : Stri ng) : vo id
setPersonID(id : String) : voi d
setGender(gen der : Stri ng) : void
setEm ail(g ender : String) : void
setBi rthday(bi rthday : Date) : vo id
setHom eAddre ss(homeAddress : Stri ng) : void
setHom ePhone(homePho ne : String) : void
setMobi lePho ne(mobi lePho ne : String) : void
setPersonal No tes(personal Notes : String) : void
setPersonID(personID : String) : void
4.1.1 PersonVO
Each PersonVO object represents a record in the person table. Like other value
objects, the methods in the PersonVO class are only accessor methods.
PersonVO
http://www.arcle.com Page 15 of 39
BNCC Information System
System Design
name name
gender gender
email email
birthday birthday
homeAddress home_address
homePhone home_phone
mobilePhone mobile_phone
personalNotes personal_notes
4.1.2 ReportVO
Unlike most other value objects, ReportVO does not correspond to any table.
Instead it is used to model spreadsheet-style report contents. The
representation is done through the implementation of the TableModel interface
(from javax.swing.table).
4.2 Data-Access Objects
DataAccessObject
(from data)
LoginSess ion
(f rom con trol )
1 0..* getPoolManager() : ConnectionPoolManager
<<factory method>> createEmptyList() : List
PersonDAO
(from data)
http://www.arcle.com Page 16 of 39
BNCC Information System
System Design
4.2.1 DataAccessObject
The DataAccessObject class is the base class of all the classes in the Data-
Access Object layer. This class and its derivatives send SQL statements to
the database. It also maintains the referential integrity of the tables it
maintains.
Besides data access, this class provides methods useful for data access,
such as DBMS connection management and object creations.
Method Summary
public getPoolManager()
ConnectionPoolManager Returns the object used for database connection pooling.
public List createEmptyList()
A factory method [Gof95] to create objects which implements
the List (from java.util) interface. This method is to be used
by derived classes when returning a collection of objects.
4.2.2 PersonDAO
The PersonDAO provides access to the person table. This table stores data
about people who encountered the organization.
Method Summary
public createPersonVO()
PersonVO The primary factory method [GoF95] to create PersonVO objects.
public getPerson(String personID)
PersonVO Returns the personal data associated with the specified person's ID.
public insertPerson(PersonVO person)
void Creates a new entry in the person table. The new entry's personID must not
already exist in the database.
public updatePerson(PersonVO person)
void Updates the specified entry in the person's table. The personID property of
the value object specifies the table to be updated, while the other properties
specifies the new values of the record.
http://www.arcle.com Page 17 of 39
BNCC Information System
System Design
BusinessLogic uses
(f rom business)
Dat aAc cessObjec t
(f rom data)
1..* 1..*
PeopleManager
(f rom busin ess)
Reporter
(from business)
4.3.1 PeopleManager
The PeopleManager class is responsible for managing the lowest-common
denominators of people data recorded by the system.
Method Summary
public createPersonVO()
PersonVO Pass-through to PersonDAO.createPersonVO() factory method [GoF95].
public viewPersonProfile(String personID)
PersonVO Returns the person's personal data.
4.3.2 Reporter
The Reporter class is responsible for generating various reports from the data
in the database. To obtain the data used in creating the reports, it uses
most of the DAO classes. The reports generated are in one-dimensional
spreadsheet-style report tables, represented in ReportVO objects. This
facilitates further data analysis and formatting by using general-purpose
spreadsheet packages.
http://www.arcle.com Page 18 of 39
BNCC Information System
System Design
Method Summary
public ReportVO getMemberListByYear(String membershipYear)
Returns a list of all members for the specified year.
public ReportVO getTopActivists(int numActivists,String activeYear)
Returns the most active activists for the specified year.
public ReportVO getMemberListByMajor(String membershipYear, String
schoolMajor)
Returns a membership year grouped by their majors for the
specified year.
public PersonDAO getPersonDAO()
Returns the PersonDAO object used to query the database.
public createAttendanceReportVO()
AttendanceReportVO The primary factory method [GoF95] to create new instances of
AttendanceReportVO objects.
http://www.arcle.com Page 19 of 39
BNCC Information System
System Design
1: getPerson DAO( )
2: getAttendanceByEventName(String)
3: *getPerson(String)
4: crea teAttendance Re portVO( )
5: *setValueAt(Object, int, int)
5 Member Services
5.1 Overview
In the context of member services (Figure 10), a MemberDAO object is used by
two business logic objects: MemberManager and Reporter. The MemberManager uses
the DAO to manage member data, records the member’s payment data,
records magazine claims, and retrieves the history about those payments
and claims.
0..n
1 1 1
MemberVO MemberDAO Report VO
(f rom da ta ) 0..n 1..1 (from data) (from data)
http://www.arcle.com Page 20 of 39
BNCC Information System
System Design
These DAO and BL classes uses MemberVO objects to express data about a
member. It contains the member’s personal data (which are inherited from
PersonVO) and data about his/her current membership.
The birthday is entered numerically, with the Figure 11 Member Registration screen
day ranges 1–31, month 1–12, and year is
entered as four digits (such as 1984, 1985, etc.).
All fields except Person ID and Name may be left blank – although the
completion of all fields is desirable. When all data has been entered, the
user clicks the Register button to enter the member’s data.
5.2.2 Member Sign-on
For each event held by BNCC, members must sign Member Sign-On 1.1.1
on to validate access to the event. This is Membership Year: 2002
performed by Person ID:
1.1.2
scanning the OK Exit
http://www.arcle.com Page 21 of 39
BNCC Information System
System Design
magazine. Additionally, this screen may also be used to enter a record for
the member’s payment, or claim a magazine.
When a member decides to pay the fee, the operator places a check mark in
the Pay membership fee check box and then enters the amount paid in the
field provided. When a member claims a magazine, a check mark is placed
in the Take magazine check box and the taken magazine’s ID is entered in
the field provided nearby. This Magazine ID is obtained by scanning the bar
code located on the magazine. Both the Pay membership fee and Take
magazine actions may be performed in one step.
The Confirm button performs the take magazine
Person ID /
desired actions (pay or take, Start
Membership
or
pay fee
inclusively) and then re-displays the year entered
screen, showing the newly entered
records. While the Finish button 1.1.1 Waiting for Person ID 1.1.2 Waiting
and Membership Year input
returns to the Member Sign-On screen for action
(Figure 12).
exit
These screens follow the state quit
End
diagram shown in Figure 14. The
dotted numbers in the state names
Figure 14 Member Sign-On state diagram
correspond to the numbers shown in
the upper-right of each screens.
5.2.3 Interaction with the business logic
The Member Services user interface performs business processes by calling
the appropriate methods in the MemberManager class. An example in Figure 15
illustrates the methods called when a member claims a magazine.
4: getMagazineClaimHistory(String, String)
http://www.arcle.com Page 22 of 39
BNCC Information System
System Design
PersonVO
(f ro m da ta)
Ta bleMode l ReportVO
(from data)
(f rom table)
MemberPaymentVO
MemberTakeMagazineVO (from data)
MemberVO (from data)
perso nID : String
(from data) personID : String mem bership Year : Stri ng
me mbershipYear : Stri ng membershipYear : String paym entDa te : Date
schoo lMajor : String magazineID : String amou nt : floa t
dtTaken : Timestamp
getMembershipYear() : String setPe rsonID()
getSchoolMajor() : Strin g setPersonID() getPe rsonID()
setMembershipYear(membe rshipYear : String ) : void getPersonID() setMem bershipYear()
setSchoolMajor(s choolMajor : String ) : void setMembershipYear() getMem bershipYear()
getMembershipYear() setPa ymentD ate()
setDtTaken() getPa ymentD ate()
MemberHistoryReportVO getDtTaken() setAmount()
(from data) getAmount()
5.3.1 MemberVO
MemberVO is derived from PersonVO, therefore it inherits all of the parent class'
properties. Each MemberVO object represents one record in the member table and
its corresponding parent record in the person table. Updates on MemberVO
objects affects both the member table and the person table.
MemberVO
schoolMajor school_major
5.3.2 MemberTakeMagazineVO
Each MemberTakeMagazineVO object represents one record in the
member_take_magazine table.
MemberTakeMagazineVO
membershipYear membership_year
http://www.arcle.com Page 23 of 39
BNCC Information System
System Design
magazineID magazine_id
dtTaken dt_taken
5.3.3 MemberPaymentVO
Each MemberPaymentVO object represents one record in the member_payment table.
MemberPaymentVO
membershipYear membership_year
paymentDate payment_date
amount amount
DataAccessObject PersonDAO
(from data) (from data)
MemberDAO
(from data)
5.4.1 MemberDAO
The MemberDAO class manages data about the members. Member data are
stored in the following tables:
• people
• member
http://www.arcle.com Page 24 of 39
BNCC Information System
System Design
• member_payment
• member_take_magazine
Method Summary
public MemberVO createMemberVO()
The primary factory method [GoF95] to create new instances of
MemberVO objects.
http://www.arcle.com Page 25 of 39
BNCC Information System
System Design
Method Summary
MemberVO createMemberVO()
Pass-through to MemberDAO.createMemberVO() to create an empty MemberVO
object.
public payMemberFee(String personID, String membershipYear, float amountPaid)
void Registers a member's payment. The amount paid must be greater than zero,
or this method will throw an exception.
public getMemberPaymentHistory (String personID, String membershipYear)
List Returns a List (from java.util) which contains MemberPaymentVO objects for
the specified member. The value objects returned represents a history of the
member's payments for this period.
public getMagazineClaimHistory(String personID, String membershipYear)
List Returns a List (from java.util) which contains MemberTakeMagazineVO
objects for the specified member. The value objects returned represents a
history of the member's payments for this period.
protected getMemberDAO()
MemberDAO Returns the MemberDAO object associated with this business logic.
http://www.arcle.com Page 26 of 39
BNCC Information System
System Design
privilege records
obtained
[ access denied ]
[ a ccess granted ]
security clearance
approved
Person data
obtai ned
http://www.arcle.com Page 27 of 39
BNCC Information System
System Design
: MemberManager : MemberDAO
1: getMemberDAO( )
2: getPerson(String)
3: insertPerson(PersonVO)
http://www.arcle.com Page 28 of 39
BNCC Information System
System Design
: JSP for Mem ber Ser vices : Secur ityContr ol : Mem ber Manager : Mem ber DAO
verify operator
privileges
privilege records
obtained
[ acc es s denied ]
[ access granted ]
security clearance
approved
check payment
am ount
amount > 0
insert member
pay ment recor ds
am ount < = 0
payment
denied
member payment
recorded
http://www.arcle.com Page 29 of 39
BNCC Information System
System Design
1: getMemberDAO( )
2: createMemberPaymentVO( )
3: setPersonID(String)
4: setMemb ershipYear(String)
5: setPaymentDate(Date)
6: setAmount(float )
http://www.arcle.com Page 30 of 39
BNCC Information System
System Design
privilege records
obtained
decrement magazine
amount in stock by one
update magazine
record
magazine
amount updated
insert magazine
claim data
magazine
claim recorded
http://www.arcle.com Page 31 of 39
BNCC Information System
System Design
1: getMemb erDAO( )
2: createMem berTakeMagazineVO( )
3: setPersonID(String)
4: getMembershipYear( )
5: setDtTaken(Timestamp)
6: insertMemberTakeMagazine(MemberTakeMagazine VO)
6 Event Organizer
6.1 Overview
In the context of event organizer (Figure 24), an EventDAO object is used by
two business logic objects: EventManager and Reporter
EventManager 1
1
(f rom business)
0..*
1
0..* EventVO
AttendanceVO (from data)
(from data)
0..n
0..* 1
1 1..1
EventDAO
(from data)
http://www.arcle.com Page 32 of 39
BNCC Information System
System Design
The EventManager uses the DAO to manage event data, records the event’s
attendance data, and retrieves currently active events. These DAO and BL
classes uses EventVO objects to express data about an event. It contains the
event start and finish date, the attendance of the event, and of course the
event name.
6.2 Sample Screens
6.2.1 Create Event
The event creation screen (Figure 25)
Create Event
allows the event manager to create a
new event in the database. The fields Event Name
to be filled in are the event name, the
event start date, and the event finish Event Start
date. If the event manager wishes to
create an event that is not expected Event Finish
to end (such as the secretariate
event), the event finish field should Create
not be filled. Events are identified by
their names, thus the name of the Figure 25 Create Event user interface
newly-created event must not already
exist in the database.
After all the fields (except event finish) has been filled in, the event manager
then clicks the Create button and the new event will be created. This event-
creation process will fail if there is an already-existing event with the same
name in the database.
6.2.2 Attend Event
After an event has been created, it can Attendance 3.1.1
be attended by many people. To start
the attendance service, the operator will Attend to active events
12 April 2001
ending not after:
bring up the attendance screen shown
in Figure 26. This screen will prompt Please select the event name :
the operator to select the event for FA April 2001
which the attendance records will be OK
entered. The screen also displays the
current date, which is used to filter the Figure 26 Attendance user interface
events available for selection. The
operator then chooses the event and click the OK button after ensuring his
choice is the right event. The available choices for the event are only the
currently active events (The event which has not finished at the current
date).
http://www.arcle.com Page 33 of 39
BNCC Information System
System Design
Otherwise, the Cancel button will send Figure 28 Confirm Attendance user interface
the operator to the previous screen.
6.3 Value Objects
ValueObject
(from data)
EventVO AttendanceVO
Report VO (f rom d ata ) (from data)
(from data) eventName : String pe rsonID : Strin g
eventStart : Date dtAtte nd : Timestam p
eventFinish : Date eventName : String
6.3.1 EventVO
Each EventVO object represents a record in the event table. All properties are
to be set and retrieved using the public methods provided by the object.
http://www.arcle.com Page 34 of 39
BNCC Information System
System Design
EventVO
eventStart event_start
eventFinish event_finish
6.3.2 AttendanceVO
Each AttendanceVO object represents a record in the attendance table.
AttendanceVO
dtAttend dt_attend
eventName event_name
EventDAO
(f rom dat a)
createEventVO() : EventVO
insertEvent(newEvent : EventVO) : void
updateEven t(event : EventVO) : void
deleteEvent(event : Even tVO) : void
getEventsBetwee n(startDate : Date, endDate : Date) : List
createAttendance VO() : Atte ndanceVO
getAttendan ceByEven tNam e(eve ntNam e : String) : List
insertAttend ance(attendance : Atten danceVO) : void
The EventDAO class manages data about the events. Event data are stored in
the event table and the attendance table
http://www.arcle.com Page 35 of 39
BNCC Information System
System Design
Method Summary
public createEventVO()
EventVO The primary factory method [GoF95] to create new instances of EventVO
objects.
public void insertEvent(EventVO newEvent)
Inserts a new event in the event table.
public void updateEvent(EventVO event)
Updates the event’s data. Both the event table and the attendance table
are updated.
public void deleteEvent(EventVO event)
Deletes an event in the event table.
public List getEventsBetween(Date startDate, Date endDate)
Returns a List (from java.util) which contains EventVO objects which are
still active in the time period given.
public createAttendanceVO()
AttendanceVO The primary factory method [GoF95] to create new instances of
AttendanceVO objects.
http://www.arcle.com Page 36 of 39
BNCC Information System
System Design
BusinessLogic
(f rom business)
EventManager
(from business)
Method Summary
public void enterAttendance(String personID, String eventName)
Pass-through to MemberDAO.createMemberVO() to insert an attendance to the
database.
public void createEvent(String eventName, Date eventStart, Date eventFinish)
Creates a new event.
public getEventDAO()
EventDAO Returns an eventDAO object associated with this business logic.
public List getActiveEvents()
Returns a List (from java.util) which contains EventVO objects which are
still active for the current time. This method generate current date an pass
it through the DAO.
http://www.arcle.com Page 37 of 39
BNCC Information System
System Design
verify operat or
privileges
privilege records
obtained
security clearance
approved
http://www.arcle.com Page 38 of 39
BNCC Information System
System Design
event
specified
Person ID enterAttendance()
obtained called
verify operator
privileges
privilege records
obtained
[ access denied ]
[ access granted ]
security clearance
approved
7 Appendix
7.1 References
[GoF95] Gamma, Erich, et. al. Design Patterns: Elements of Reusable Object-
Oriented Software. Addison-Wesley Publishing Company. 1995.
ISBN 0-201-63361-2.
[Yu02] Object-Oriented Systems Analysis and Design using UML.
http://www.arcle.com Page 39 of 39