Sushant Lab File SE
Sushant Lab File SE
Sushant Lab File SE
Engineering
Affiliated to Dr. A.P.J. AKTU, Lucknow
Submitted By:-
Name: Sushant Sharma
Roll No.: 1902900100167
Section: 3-CSC
Index
Lab
Problem Statement Date Signature
No.
Formulate the problem statement for a software
1. solution required to manage the employee
records in an organization.
Write Software Requirements Specification
2. (SRS) document of the proposed Employee
Management System.
Practical exposure to the different elements of
3.
StarUML’s User Interface.
Draw a use case diagram of the proposed
4.
Employee Management System.
Draw an Entity Relationship (E-R) diagram of
5.
the proposed Employee Management System.
Draw a class diagram of College Automation
6.
System.
Draw a class diagram of the proposed
7.
Employee Management System.
Draw an activity diagram of the Ticket Vending
8.
Machine (TVM)
Draw an activity diagram of the proposed
9.
Employee Management System.
Draw a sequence diagram of the proposed
10.
Employee Management System.
Draw a component diagram of the Employee
11.
Management System
Objective: Code to model conversion. Take a
12. code in C++ and reverse engineer it into class
diagram (model).
Model to code conversion. Take a class diagram
13. (model) as base and forward engineer it into
code.
Experiment No. 1
Problem Statement
A software solution is required to manage the records of employees in an organization. Software
shall provide an option to add the details of the employee as soon as he/ she join the organization.
There must be an option to update the record of an employee if required. If the employee leaves
the organization then software must provide an option to remove the record of employee from the
active usage. If the details of an employee are required at any time for any purpose then software
should also give an option to view the record of an employee. Only the designated person in the
organization must have the right to add, update, remove and view the record of an employee. Along
with the designated person as mentioned above, every employee must be given an option to see
his/ her details at any time. Only the person designated and the employee must be allowed to use
the system as per the privileges described above.
Software Requirements Specification (SRS) Document
2.1 Introduction
The software requirements specification (SRS) is a specification for a particular software
product, program, or set of programs that performs certain functions in a specific
environment. The SRS may be written by one or more representatives of the supplier,
one or more representatives of the acquirer, or by both.
It is important to consider the part that the SRS plays in the total project plan. The software
may contain essentially all the functionality of the project or it may be part of a larger
system. In the latter case typically there will be a requirement specification that will state
the interfaces between the system and its software portion, and will place external
performance and functionality requirements upon the software portion. Of course the SRS
should then agree with and expand upon these system requirements. The SRS indicates
the precedence and criticality of requirements. The SRS defines all of the required
capabilities of the specified software product to which it applies, as well as documenting
the conditions and constraints under which the software has to perform, and the intended
verification approaches for the requirements
2.3.1 Purpose
Delineate the purpose of the software to be specified.
2.3.2 Scope
Describe the scope of the software under consideration by
a) Identifying the software product(s) to be produced by name (e.g., Host DBMS, Report
Generator, etc.);
b) Explaining what the software product(s) will do;
c) Describing the application of the software being specified, including relevant benefits,
objectives, and goals;
d) Being consistent with similar statements in higher-level specifications (e.g., the system
requirements specification), if they exist.
2.3.3.7 Operations
Specify the normal and special operations required by the user such as
a) The various modes of operations in the user organization (e.g., user-initiated
operations);
b) Periods of interactive operations and periods of unattended operations;
c) Data processing support functions;
d) Backup and recovery operations.
NOTE This is sometimes specified as part of the User Interfaces section.
2.3.6 Limitations
Provide a general description of any other items that will limit the supplier's options,
including
a) Regulatory policies;
b) Hardware limitations (e.g., signal timing requirements);
c) Interfaces to other applications;
d) Parallel operation;
e) Audit functions;
f) Control functions;
g) Higher-order language requirements;
h) Signal handshake protocols (e.g., XON-XOFF, ACK-NACK);
i) Quality requirements (e.g., reliability)
j) Criticality of the application;
k) Safety and security considerations.
l) Physical/mental considerations
2.1 INTRODUCTION
2.1.1 Purpose
2.1.1.1 The purpose of this SRS is to describe the requirements involved in
developing a system to manage employee records.
2.1.1.2 The intended audience is any person who wants
2.1.1.2.1 To check employee details (both employee and administrator mode).
2.1.1.2.2 To add new employee, modify any employee’s details or delete
records for the employee (only administer mode).
2.1.2 Scope
2.1.2.1 The product is titled Employee Management System (EMS).
2.1.2.2 The product will perform the following tasks
2.1.2.2.1 Allow either an employee or an administrator to view employee details.
2.1.2.2.2 Allow the administrator to add a new employee with corresponding details.
2.1.2.2.3 Allow the administrator to modify the detail of an employee.
2.1.2.2.4 Allow the administrator to delete the records for an employee.
2.1.3 Definitions, Acronyms and Abbreviations
2.1.3.1 EMS: Employee Management System.
2.1.4 References
2.1.4.1 IEEE standard 830-1998 recommended practice for Software Requirements
Specifications-Description.
2.1.5 Overview
2.1.5.1 The SRS contains an analysis of the requirements necessary to help easy design.
2.1.5.2 The overall description provides interface requirements for the Employee
Management System, product perspective, hardware interfaces, software
interfaces, communication interface, memory constraints, product functions, user
characteristics and other constraints.
2.1.5.3 Succeeding pages illustrate the characteristics of typical naïve users accessing the
system along with legal and functional constraints enforced that affect Employee
Management System in any fashion.
2.3.4.1 Saving a new employee’s records (Populating all of the tables with data) and Add
a record to an employee’s data records.
Saving new employee’s records: The whole process comprises a few actions, but not all of
them are compulsory to be accomplished at once! First of all, to unlock the fields in order
to get them prepared for accepting new data, the (“Add Employee”) button has to be
clicked. Afterwards, we can go to the desired form and fill the required data in. It’s not
necessary to fill in all of the forms with an exception of the two first, which ones hold the
data for the parent table into the database, and to be able to perform a successful save into
the database, we need to fill in all of the fields required there! Of course, if not all of the
rest forms are populated with data, a message appears on screen asking the user whether
he would like to proceed anyway saving only the data, filled till the moment, or go back
and fill them in. The next approach has been made up to resolve the saving problem: Firstly,
it is known that the primary key values in all tables are automatically generated by saving
a record as they have been set to an AutoNumber type. When data is saved into the parent
table, we have the primary key, which one is the Employee_ID_Number, but this value is
also needed for proceeding to another (child) table and populate it with data as the database
needs to know the responding record into the parent table! Apparently, we need to specify
to which employee (person) from the parent table, the current record we are trying to save,
belongs to. As it concerns all child tables into the database, it could be done in the following
way: When a record is populated into the parent table and we try to save another one into
a child table, the primary key’s value is taken and put into the child table where we want
to save the current record. Afterwards, we go to the child table and save the record there.
To implement this in code, a few functions have been constructed (one for each child table
and one for establishing the connection between the parent and the child tables)
Records Deletion: To perform successfully this kind of operation upon the whole data of
an employee, existing into the database, we firstly need to delete consequently all of his
records into the child tables and then proceed to the parent table.
2.4 Conclusion
In this report, the requirements of the Employee Management Systems have been specified.
Apparently, the role of such systems is basic and essential within each company that wants
to keep a really good control and record concerning its personnel data, functionality and
performance on all levels in its structure.
That’s why the development of such systems is not just a programming business – a lot of
people are ordinarily involved in such projects and one of the basic requirements is the
reliability of the system, especially what concerns the storage of data and all of the
operations that will be performed upon it.
Experiment No. 3
User Interface
Main Window
Diagram Area
Sidebar
Sidebar is the area left containing Working Diagrams panel and Toolbox.
To show or hide Sidebar, press Ctrl+1 or check (or uncheck) View | Sidebar in Menu Bar.
Working Diagrams
Working Diagrams panel shows a list of the opened working diagram. The selected diagram is
shown in the Diagram Area.
Toolbox
To create an element: 1. Select an element in Toolbox 2. Mouse down on the Diagram Area and
then drag as the size of the element to be created. If the element is a kind of relationship, connect
two elements by drag and drop.
To show or hide Toolbox, press Ctrl+5 or check (or uncheck) View | Toolbox in Menu Bar.
Navigator
To show or hide Navigator, press Ctrl+2 or check (or uncheck) View | Navigator in Menu Bar.
Model Explorer
To change the order of elements: 1. Select the Model Explorer Settings menu in the right up
corner of Model Explorer. 2. Select one of the sorting types
● Sort by Added
● Sort by Name
To show or hide stereotypes in front of element name by check of uncheck Show Stereotype Text
in the Model Explorer Settings menu.
Editors (Holder)
Editors (Holder) contains editors to edit properties of model and view elements. It includes Style
Editor, Property Editor, and Documentation Editor.
To show or hide Editors, press Ctrl+6 or check (or uncheck) View | Editors in Menu Bar.
Style Editor
Property Editor
Documentation Editor
Toolbar
Toolbar shows tool buttons typically provided from default or installed third-party extensions.
To show or hide Toolbar, press Ctrl+3 or check (or uncheck) View | Toolbar in Menu Bar.
Bottom Panel
Bottom Panel is a panel shown below Diagram Area typically provided from default or installed
third-party extensions including Find Results, Diagram Thumbnails, Validation Results,
Markdown Editor and etc.
Statusbar
To show or hide Statusbar, press Ctrl+4 or check (or uncheck) View | Statusbar in Menu Bar.
Experiment No. 4
Experiment No. 5
Objective: Draw an Entity Relationship (E-R) diagram of the proposed Employee
Management System.
Objective: Code to model conversion. Take a code in C++ and reverse engineer it
into class diagram (model).
Code:
class Student
{
int rollNo;
char name[20];
public:
void putData(int,char*);
virtual void display();
};
void Student::putData(int rn,char *n)
{
rollNo=rn;
strcpy(name,n);
}
void Student::display()
{
cout<<"\n Roll No. : "<<rollNo;
cout<<"\n Name : "<<name;
}
public:
void putData(int,char*,char,int);
void display();
};
void ClassRepresentative::putData(int rn,char *n,char pg,int note)
{
Student::putData(rn,n);
performanceGrade=pg;
noOfTimesElected=note;
}
void ClassRepresentative::display()
{
Student::display();
cout<<"\n Performance Grade: "<<performanceGrade;
cout<<"\n No of times elected previously: "<<noOfTimesElected;
}
Model:
Experiment No. 13
Objective: Model to code conversion. Take a class diagram (model) as base and
forward engineer it into code.
Model:
Code:
class Course
{
int courseId;
char courseName[20];
public:
void putData(int,char*);
void display();
};
void Course::putData(int id,char *cname)
{
courseId=id;
strcpy(courseName,cname);
}
void Course::display()
{
cout<<"\n Course :"<<courseName<<" ("<<courseId<<")";
}
class Student
{
int rollNo;
char name[20];
Course cou;
public:
void putData(int,char*,Course);
void display();
};
void Student::putData(int rn,char *n,Course pCou)
{
rollNo=rn;
strcpy(name,n);
cou=pCou;
}
void Student::display()
{
cout<<"\n Roll No. : "<<rollNo;
cout<<"\n Name : "<<name;
cou.display();
}