Project Presentation of OOMD Lab11

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 21

Project Presentation

------- Automatic Certificate Generator-------

Internal Project Report for: MCA SY


Semester: IV
Academic Year: 2018-2019.

Submitted By: Miss Pallavi Sudhakar Chandurkar


Miss Mayuri Maroti Bongoniwar
Group No: 23
Roll No: MC11723
MC11717

1
INDEX

Sr no. Topics Page


no.
1.0 Introduction 3
1.1 Project Background 3
1.2 Methodology 4
2.0 Object Modelling Technique 5
2.1 Rumbaugh’s OMT 5
2.2 Evaluation 6
3.0 Project Documentations 7
Project Title 7
3.1 Problem Statement 7
3.2 Object Modelling 7
3.2.1 Identifying Objects and classes 7
3.2.2 Preparing a data dictionary 8
3.2.3 Identifying associations between objects 9
3.2.4 Identify attributes of objects and links 10
3.2.5 Refining with inheritance 12
3.2.6 Testing access paths 12
3.2.7 Iterate and refine the model 13
3.2.8 Group classes into modules 14
3.3 Dynamic Modelling 15
3.3.1 Prepare scenarios of typical interaction sequences 15
3.3.2 Identifying events 16
3.3.3 Building a state diagram 16
3.4 Functional Modelling 19
3.4.1 Identifying input and output values 19
3.4.2 Building data flow diagrams 20
3.4.3 Describing functions 20
3.4.4 Identifying constraints 21
4.0 Conclusion 21
References 21

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

Methodologies are described as follows:


Object modelling technique:
The object-modelling technique (OMT) is an object modelling approach
for software modelling and designing. It was developed around 1991 by Rumbaugh,
Blaha, Premerlani, Eddy and Lorenzen as a method to develop object-oriented
systems and to support object-oriented programming. OMT describes object model or
static structure of the system. MT was developed as an approach to software
development. OMT is a predecessor of the Unified Modelling Language (UML). Many
OMT modelling elements are common to UML.
Booch methodology:
The Booch method is a method for object-oriented software development. It is
composed of an object modelling language, an iterative object-oriented development
process, and a set of recommended practices. The method was authored by Grady
Booch when he was working for Rational Software (acquired by IBM), published in
1992 and revised in 1994. It was widely used in software engineering for object-
oriented analysis and design and benefited from ample documentation and support
tools. The notation aspect of the Booch method was superseded by the Unified
Modelling Language (UML), which features graphical elements from the Booch
method along with elements from the object-modelling technique (OMT) and object-
oriented software engineering (OOSE). Methodological aspects of the Booch method
have been incorporated into several methodologies and processes, the primary such
methodology being the Rational Unified Process (RUP).
Jacobson methodology:

Object-Oriented Software Engineering (OOSE) is a software design technique that is


used in software design in object-oriented programming’s is developed by Ivar
Jacobson in 1992. OOSE is the first object-oriented design methodology that
employs use cases in software design. OOSE is one of the precursors of the Unified
Modeling Language (UML), such as Booch and OMT.It includes a requirements, an
analysis, a design, an implementation and a testing model.Interaction diagrams are
similar to UML's sequence diagrams. State transition diagrams are like UML
statechart diagrams.

4
2.0 OBJECT MODELLING TECHNIQUE

2.1 Rumbaugh’s OMT


The Object Modelling Technique provides three different views of the system: An
Object view, a Dynamic view and a Functional view. The Object model describes the
object to which something happens (the information flow), the dynamic model
describes when it happens (the control flow) and the functional model describes what
happens (the process computations).
The method is divided into four phases, which are stages of the development process:

1. Analysis - the building of a model of the real-world situation, based on a statement


of the problem or user requirements.
2. System design - the partitioning of the target system into subsystems, based on a
combination of knowledge of the problem domain and the proposed architecture of the
target system.
3. Object design - construction of a design, based on the analysis model enriched
with implementation detail, including the computer domain infrastructure classes.
4. Implementation - translation of the design into a particular language or hardware
instantiation, with particular emphasis on traceability and retaining flexibility and
extensibility.

5
2.2 Evaluation

OMT is evaluated according to four categories of criteria: concepts, notation, process


and pragmatics. The concepts part addresses the support of the concepts of the
object-oriented. The notation part cares about the form of notation in constructing the
models. The process part considers the development context, the support for reuse
and life-cycle coverage of the method. Finally, the pragmatics part considers
nontechnical features of the methods.
Concepts
Although there is no universal agreement on what object-oriented is, the following is a
popular accepted point of view for object-oriented
It supports objects, classes and metaclasses. For association, it supports both nary
and ternary ones and it distinguishes between a link and an association. An
association could be a class with attributes. An association could be annotated with
roles and may have a qualifier. It also supports derived classes, derived attributes,
derived associations and constraint between associations. Rumbaugh takes a strong
emphasis on associations and relationships almost at a level making these items
peers of objects. It supports both single and multiple inheritance. It provides a rich set
of aggregation primitives including recursion, qualified and unqualified aggregations,
and multilevel aggregation. It supports the expression of inter- and intra- object
concurrency and employs an asynchronous model of communication

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.

Project Admin Cert_info Cert_Tittle Cert_order

Cert_Date Rec_Number Downloads Templates Archives

Print
Rec_List Information Archivist Category

User User_List Password Rec_Name Rec_order

Figure 1. Classes extracted from problem statement nouns

7
Download User_list

Figure 2. Classes identified from knowledge of problem domain

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

Certificate Project Information

Archivist Templates Archives

Figure 3. Eliminating unnecessary classes from the problem statement


3.2.2 Preparing a data dictionary
A data dictionary for all modelling entities will give each object class precise
interpretations, including description of the scope of the class, any assumptions or
restrictions on its membership or use.
User------ is one off the person who enter data and request for the generation of
certificate.
Template------is a design or format of certificate.
Category----- is used for category selection of template or design of the certificate.
Rep_List------- is the list of recipient’s names.

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.

Associations between eliminated classes. We shall eliminate the archives


containing templates i.e. recipient info and certificate info .the user normally puts the
information about recipient and certificate
Irrelevant or implementation associations. We can also eliminate the order of the
certificate. The information system should allow access to many users at the same
time.
Actions. To eliminate the archivist accepts order and bring out the files.
Verb phrases:
The archives store templates which includes recipient info and certificate info.
Users assigned a project can order
The user can enter information about certificate.
Certificate information also include the date on which it will be issue.
The admin normally stores all the user’s password and id in case if needed.
The system should be able to provide one or certificates as required by the client.
The user normally enter his/her id and password in order to enter in the system.
Implicit verb phrases:
The user is the one which enters all the information regarding project.
The archivist accepts order and brings out the files
The admin will check if the entered id and password of user is correct or not.
The project will find if a user is a main designer
Figure 5. Associations from the problem statement

Figure 6 shows an object diagram with the remaining associations.

9
holds

Archives

Category

selects holds

Assigned to

Project User Templates

Reci_info Cert_info

gives concerns concerns

access to

Reci_order Cert_order

makes

Archivist

Authorise to makes

Admin

3.2.4 Identify attributes of objects and links

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

Project User Templates

User name
admin id
password
number Reci_info
Reci_info Cert_info
name title
id description
number type
date

makes concerns concerns

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

Figure 7. The object model with attributes

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.

3.2.6 Testing access paths


Trace access paths through the object model diagram to see if they yield sensible
results. Each project has an unique project number and each staff working for it is
named in the project list. So, a user only needs select the project unique number and
input his/her id number. The project will check the user’s right to use the system.

12
Archives

category templates

selects

Archivist User reci_info cert_info

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

Figure 8. The object model with attributes and inheritance

3.2.7 Iterate and refine the model


The entitle software development process is not one direction way. It needs several
iterations to correct some deficiencies. Although this is a simple and small model, it
also needs to iterate and refine the model.
Archivist does not seem to enter into the analysis so far.

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.

3.2.8 Group classes into modules


Because the model here is a small one, there is no need to break it down into modules.

Archives

project
category templates
user
admin

selects

User reci_info cert_info

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

Figure 9. The object model with further revision


14
3.3 Dynamic Modelling

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.

Figure 11. Order scenario with exceptions


The system asks the user to enter the archive number; the user enter "40-F181S-
D05".
The system displays the relevant information, and asks whether the user wants to
continue; the user indicates no.
The system asks the user to enter the archive number.
Figure 12. Normal searching information scenario

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

Request for Category


Enter Category

Request for Template

Select Template

Request Archives

Enter Archive
Disperse Archives

Take Archives

Request Continue

Terminate

Request User ID

Figure 13. Event trace for archive order scenario

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

Figure 14. Event flow diagram for archive order

User Information

Request Archives
Enter Archives
Display Information

Request Continuation

Terminate
Request Archives

Figure 15. Event trace for searching information

18
Archives

Cancel, Terminate, Continue


User Information
Request Archives,
Request Continuation,
Failure massage, Cancel massage

Figure 16. Event flow diagram for searching information

3.4 Functional Modelling

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)

3.4.1 Identifying input and output values

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

Read Input Perform Generate


Order Output/Certificate

User ID, Massage,


Password, Archives
Archives
User

3.4.3 Describing functions

A description of each function should be written in natural language, mathematical


equations, pseudocode, or some other appropriate form. Functions in Figure 22 are
all clear except order archive. Figure 23 shows description for order archive function.

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

Figure 23. Function description for order archive function

3.4.4 Identifying constraints

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

[1] Dharani, R. P. (1998), Customized Document Generation System.


[2] J. Glenn Brookdhear, Computer Science an Overview.
[3] Dejan, G. (2011), Applicative Solution for Generating Report Template –
Automated Report Generation System.
[4] Srushti, A. S. (2014), Certificate Generation System.
[5] Johnpaul, A. H. (2011), Design And Implementation of Student Verification
System.

21

You might also like