Professional Documents
Culture Documents
Project Presentation of OOMD Lab11
Project Presentation of OOMD Lab11
Project Presentation of OOMD Lab11
1
INDEX
2
1.0 INTRODUCTION
The usage of computer software is widespread. Several organizations perform their
daily activities more efficiently using applications founded by use of computer science
knowledge. Software developers make it possible for people with illiterate computer
knowledge to be able to operate computers by creating applications that require short
training to learn how to use. Application software is a program designed to perform
specific tasks for a user. Automatic certificate generator is a software application which
is used to generate certificates for workshops, conferences, symposiums etc.
Conventionally, educational institutions and companies use specialised tools for
certificate generation on a large scale.
Project Background:
Automatic certificate generator is a software application which is used to generate
certificates for workshops, conferences, symposiums etc. Conventionally, educational
institutions and companies use specialised tools for certificate generation on a large
scale. But still there are many such institutions who face problems or are required to
pay more for certificate generation. This application will make them easier to generate
certificates. The certificate generation system allows the user to generate certificates
by their own. The system will generate the certificate in the specific template which the
user wants to. There will be various options available for the user. Either the user can
choose to design a single certificate for one person or it can generate multiple
certificates as needed by the user. It is user friendly software where you can create
one or multiple certificates at instance. It ultimately saves time and also easy to use.
3
1.1 Methodology
4
2.0 OBJECT MODELLING TECHNIQUE
5
2.2 Evaluation
6
3.0 Project Documentation
Project Tittle
Automatic Certificates Generator
3.1 Problem Statement
The following problem statement is about the system of generating certificates to user
to enhance the way of traditional certificate generation technique and enhance the
quality.
Software is to be designed in order to generate automatic certificates. The System has
user which will enter his id and password in order to login in the system. Once the user
is logged in, he will then start to design certificate. Firstly, he will select the category
for which he needs to design certificate, and then he will select template among
various template designs. And then the necessary information which is needed for the
certificate will be entered by the user. Such as certificate title, recipient name, recipient
number, information to be displayed on the certificate will be entered by the user and
the date on which the certificate will be issued. After entering all the data, the user will
save and download the certificate.
3.2 Object Modelling
OMT requires to construct an object model first in the analysis phase. Based on the
problem statement classes and associations should be identified. Next attributes of
them will be added to further describe the classes and associations. Then inheritance
will be used to combine and organise classes.
3.2.1 Identifying objects and classes
Examination of the noun/noun phrases in the information system for generating
certificates problem statement yields the tentative object classes listed.
Unnecessary and incorrect classes should be discarded from Figure 1 according to
certain criteria. The criteria are whether the classes are and vague ones, or whether
they are attributes, operations, roles and implementation constructs. Figure 3 shows
the classes eliminated from Figure 1 and Figure 2.
Print
Rec_List Information Archivist Category
7
Download User_list
Bad Classes
Attribute
Vague
Cert_info Cert_Tittle Cert_order
Software Rec_order
Cert_Date Password Rec_Name
System Rec_Name
Rec_Number Cal_Rec Categoty
Admin
Downloads Rec_List Print
User User_List
Good Classes
8
3.2.3 Identify associations between objects
Associations often correspond to static verbs or verb phrases. Figure shows
associations for the case. The majority are taken directly from verb phrases in the
problem statement. Some associations of the verb phrase is implicit in the statement
and some depend on real-world knowledge or assumptions.
Unnecessary and incorrect associations should be discarded. The criteria include
associations between eliminated classes, irrelevant or implementation associations,
actions, ternary associations and derived associations.
9
holds
Archives
Category
selects holds
Assigned to
Reci_info Cert_info
access to
Reci_order Cert_order
makes
Archivist
Authorise to makes
Admin
Attributes are properties of individual objects and are less likely to be fully described
in the problem statement. So some attributes are to be supplied from personal
knowledge of the application domain. Unnecessary and incorrect attributes are
eliminated by specifying objects, qualifiers, names, identifiers, link attributes, internal
values, fine detail, and discordant attributes.
Project no is the link attributes between user and project. Figure 7 shows the object
model with attributes. Attribute status in recipient’s info and certificate info class has
lots of meanings such as available, date, information. These will be specified in the
refine object stage.
10
holds
Archives
Category
Category
selects holds
Assigned to
User name
admin id
password
number Reci_info
Reci_info Cert_info
name title
id description
number type
date
reci_order cert_order
order no order no
order date order date
gives
return date
access to
Archiviest
id no
name
phone
admin
name makes
id
authorise to password
11
3.2.5 Refining with inheritance
It is easy to find some classes in Figure 7 that have similar attributes, associations.
The model should be reorganised by using inheritance to share a common structure.
Inheritance could be added in two directions: by generalising common aspects of
existing classes into a superclass (bottom up) or by refining existing classes into
specialised subclasses (top down).
User and Archivist are similar, and can be generalised. User is a special kind of
User, and should inherit from User. recipient order and certificate order can be
generalised by Order again. recipient and certificate have some similar attributes and
should be generalised by archive. Figure 8 shows the object model after adding
inheritance.
12
Archives
category templates
selects
name type
Id description
number title
makes
responsible
concerns concerns
admin
reci_order cert_order
Order date
Return date
project
makes user
admin order
order no
order date
holds
Authorise by
13
Basically, an order consists of one or more recipients/certificates. One
recipient/certificate is an order line. So, recipient order should change to RO line,
Certificate order to CO line. Figure 9 shows a revised object model diagram.
Archives
project
category templates
user
admin
selects
name type
authorise by Id description
number title
makes
concerns concerns
admin
reci_order cert_order
Order date
Return date
makes
order
order no
order date
The dynamic model is important for interactive systems. It shows the time-dependent
behaviour of the system and the objects in it. The following steps are performed in
constructing a dynamic model for this case.
3.3.1 Prepare scenarios of typical interaction sequences
A scenario is a sequence of events. The screen layout and output format do not affect
the initial dynamic model. Figure 10 shows a normal order scenario. Figure 11 shows
a scenario with exceptions and Figure 12 shows a normal searching information
scenario.
The system asks the user to enter a user password; the user enter "1581".
The system asks the user to enter id; the user enters "F181S".
The system verifies the user id and password, and gives the user right to enter the
system.
The system first asks for the category and then further process continues.
The system asks for information which is to be put on the certificate.
Figure 10. Normal archive order scenario
The system asks the user to enter ID; the user enters "1581".
The system asks the user to enter password; the user enter "F171S".
The system verifies the user id and password, and indicates that the user has no rights
to order and asks the user to renter the id; the user enter "F181S" which the system
successfully verifies with the admin.
15
Many other variations can be added: the user enters the wrong ID number, the user
enters wrong password, the user is rejected after three times entering wrong
password, etc. Additional scenarios should be written for administrative parts of the
system, such as authorising a new user, opening or closing a project list, adding or
deleting an archive.
3.3.2 Identifying events
External events will be identified by examining the scenarios. Internal computation
steps are not events, except for decision points that interact with the external world.
Figure 13 shows an event trace for an order scenario. Figure 14 shows the events
between a group of classes on an order event flow diagram. Figure 15 shows an event
trace for a searching information scenario. Figure 16 shows a searching information
event flow diagram.
3.3.3 Building a state diagram
A state diagram for each object class with nontrivial dynamic behaviour, shows the
events the object receives and sends. Every scenario or event trace corresponds to a
path through the state diagram. Object User, Archives, Project and Information are
actors that exchange events. Object Recipient, Certificate, Archive, RO_line and
CO_line are passive objects that are acted on and do not exchange events. The User
is actor, but their interactions with the entry stations are already shown; the User and
Archivist objects are external to the system and need not be implemented within it
anyway.
Figure 17 shows the state diagram for the archives. Figure 18 shows the state diagram
for the project and Figure 19 shows the state diagram for the information.
16
User Archives Project
Request User ID
Enter User ID
Request Password
Enter Password
Verify User
Allow Access
Select Template
Request Archives
Enter Archive
Disperse Archives
Take Archives
Request Continue
Terminate
Request User ID
17
Enter user ID, enter password,
enter archive, take archives,
cancel, terminate, continue
User Archives
Request user ID, request
password, request
User list, wrong
archives, request
Verify user list password message,
continuation, wrong
wrong user ID message
password message,
wrong user ID message
Project
User Information
Request Archives
Enter Archives
Display Information
Request Continuation
Terminate
Request Archives
18
Archives
The functional model shows which values depend on which other values and the
functions that relate them. Data flow diagrams are useful for showing functional
dependencies. Functions are expressed in various ways, including natural language,
mathematical equations, and pseudocode. In constructing a functional model for this
case the following steps are performed: (the following shows DFD for archives order
system, the information system is almost the same)
Because all interactions between the system and the outside world pass through the
system boundary, all input and output values are parameters of system events. Input
events that only affect the flow of control, such as cancel, or continue, do not supply
input values. Figure 20 shows input and output values for Archives application.
User ID,
Password
Archives
User Archives
Archives
Massages
System Boundary
Figure 20. Input and output values for Archives system
19
3.4.2 Building data flow diagrams
A data flow diagram is usually constructed in layers. Figure 21 shows the top-level
data flow diagram for Archives. Figure 22 shows data flow diagram for performing an
archive order process.
Archives
Status
order archive (user idNo, membership, main designer, archive no, date) archive,
message
if the archive no. is drawing
update borrower to user idNo
if the archive no. is calculation sheets
if main designer is true
write down the return date,
update borrower to user idNo
20
else
indicate no right message
else
indicate the bad archive no. message
The constraint in the archives is: a user cannot order the same archive more than one
copy at a time.
4.0 CONCLUSION
The main purpose of this research work is to present a system that can be used in
many institutions for generating a certificate. This research work explored a new
technique to address the issue of certificate generation system that uses predefined
certificate template by proposing a module that enabled an end-user to define
certificate template and certificate template format in the system GUI by typing and
clicking buttons. This system will help to create dynamic pages so that for
implementing such an system we can make use of the different tools are widely
applicable and free to use also.
REFERENCES
21