You are on page 1of 26

JSS Academy of Technical Education, Department of Information Technology

Noida

Experiment 1
Aim: To identify the Functional and Non-functional Requirements from Problem Statement.
Assignment:
1. Prepare a problem statement for the project identified by you.
2. Identify the functional requirements from the problem statement
3. Identify the non-functional requirements from the problem statement.

Project Title:
Electronic Voting System.

Problem Statement:
Online Voting System provides the online registration form for the users before voting and makes
the users to cast their vote online. The system is to be developed with high security and user
friendly.

Functional Requirements:
1. Authorize Actor.
2. Manage Election Districts.
3. Manage Election Units.
4. Manage Electors.
5. Provide Authentication Means.
6. Manage Parties.
7. Manage Candidates.
8. Provide Party Info.
9. Cast Vote.
10. Tally Vote.
11. Verify Result Integrity.

Non-Functional Requirements:
1. Response and net processing time must be acceptable by user and by application
2. Defects in the local voting database file must be less than 0.0001%
3. Defects in the database must be less than 0.0001%
4. The system must be working at 100% peak efficiency during the voting process.

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Self-Evaluation:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Experiment 2

Aim: To identify the Functional and Non-functional Requirements from Problem Statement.
Assignment: Construct Use Case diagrams for the following
1. The problem statement given as Exercise#1 in virtual lab.
2. The problem statement given as Exercise#2 in virtual lab.
3. The problem statement of your project using any open-source tool of your choice.

Exercise#1:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Exercise#2:

Project: Electronic Voting System.


Description of Actors
Elector Casts the Vote

State Employees Set up Election Center

Authorize Election Consolidate and verify result integrity


Centre Supervisor

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Self Evalution:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Experiment 3

Aim:
To model E-R diagram for a given problem.
Assignment:
Construct E-R diagrams for the following
1. The problem statement given as Exercise#1 in virtual lab.
2. The problem statement given as Exercise#2 in virtual lab.
3. The problem statement of your project using any open-source tool of your choice

Exercise#1:
• Problem Statement 1:
o SE VLabs Inc. is a young company with a few departments spread across the country.
As of now, the company has a strength of 200+ employees. Each employee works in
a department. While joining, a person has to provide a lot of personal and professional
details including name, address, phone #, mail address, date of birth, and so on. Once
all these information are furnished, a unique ID is generated for each employee. He is
then assigned a department in which he will work. There are around ten departments
in the company. Unfortunately, two departments were given same names. However,
departments too have ID's, which are unique.

• Solution(ER-diagram):

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Exercise#2:
• Problem Statement 1:
o The latest cab services agency in the city has approached you to develop a Cab
Management System for them. They would be using this software to efficiently
manage and track different cabs that are operated by them.
Cabs are solely owned by the agency. They hire people in contracts to drive the cabs.
A cab can be uniquely identified by, like any other vehicle in the country, its license
plate. A few different categories of cars are available from different manufacturers.
And a few of them are AC cars.
Cab drivers are given a identification card while joining. The ID card contains his
name, permanent address, phone number, date of joining, duration of contract. Also,
an unique alphanumeric code is assigned to each number.
The agency provides service from 8 AM to 8 PM. Whenever any passenger books a
cab, an available cab is allocated for him. The booking receipt given to the passenger
contains the car #, source and destination places. Once he reaches the destination, he
signs on a duplicate copy of the receipt and gives back to the driver. Driver must
submit this duplicate copy signed by the passenger at the agency for confirmation.
To evaluate their quality of service, the agency also wants a (optional) customer
satisfaction survey, where passengers can provide feedback about their journey
through the agency's website.

• Solution(ER-diagram):

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Project: Electronic Voting System

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Self-evaluation:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Experiment 4
Aim:
To identify external entities and functionalities of any system, the flow of data across the system
and represent the flow with Data Flow Diagrams
Assignment:
Construct DFDs for the following
1. The problem statement given as Exercise#1 in virtual lab.
2. The problem statement given as Exercise#2 in virtual lab.
3. 0 and 1-level for your project using any open-source tool of your choice

Exercise#1:
• Problem Statement 1:
o Draw a context-level DFD to depict the typical user authentication process used by
any system. An user gives two inputs -- user name and password.

• Solution(DFD):

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Exercise#2:
• Problem Statement 1:
o The Absolute Beginners Inc. is planning to launch a revolutionary social networking
site, EyeCopy. You have been entrusted with designing a DFD for the proposed
application. In particular, you have been asked to show the following scenarios:
User registration
User login
Profile update

• Solution(DFD):

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Project: Electronic Voting System

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Self-evaluation:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Experiment 5
Aim: To model sequence and UML class diagrams.
Assignment: Construct diagrams for the following
4. The problem statement given as Exercise#1 in virtual lab.
5. The problem statement given as Exercise#2 in virtual lab.
6. The problem statement given as Exercise#2 in virtual lab.
7. The problem statement of your project using any open-source tool of your choice.

Exercise #1:
• Problem Statement 1:
o A web browser is a software that helps us access a resource (web page) available on
the World Wide Web and identified by a URL. A web browser consists of different
sub-components, which can be primarily categorized into browser rendering engine,
and browser control.
o The rendering engine is responsible for displaying a requested page in the web
browser. The rendering engine itself is quite a complex piece of software, which
knows how to display a web page based on the HTML elements present in the page,
and CSS rules defined (if any). Today browsers are not only limited to displaying text
and images, but can provide access to audio and video components also.
o The web browser control, too, consists of several sub-components including
navigation, window control, event handlers, page display. The navigation control aids
users to request for web pages (resources) by specifying a URL, navigate to other
resources through internal and external hyperlinks, move across pages visited earlier.
Event handlers are responsible to identify the kind of activity that user is trying to do,
and perform it. For example, when a user clicks on a hyperlink, event handlers identify
the URL of the target resource, and delegates loading of the resource to other
components. A resource that has been retrieved by the web browser is then displayed
in its page display area. Window control, in association with the rendering engine,
helps in controlling various aspects of page display like changing font-size, resolution,
and so on, apart from resizing or closing the window.

o Represent the above problem with a class diagram. In particular


o Represent the individual classes
o Represent how browser rendering engine, and browser control are related to web
browser class

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

o Add methods that let a web browser retrieve a resource from the web server, and
convince yourself.
• Solution:

Exercise #2:
• Problem Statement 1:
o How would you represent the three-way handshaking mechanism of TCP with a
sequence diagram?
• Solution:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Exercise #3:
• Problem Statement 1:

o The Web traditionally worked in a client-server model, where a web browser would send
a HTTP request to the web server, and the server would send back a HTTP response to
the browser. The HTTP request actually encapsulates the contents of the requested
resource in some format. In cases where access to a resource is restricted or say, it
requires a user authentication, the HTTP request encapsulates the login credentials and
sends to the server. The server then checks with the database server if the credentials are
correct. The status of verification is then send back to the browser.
o In the recent years there has been a shift from the traditional way of how HTTP works. A
new technique has been proposed, popularly know as AJAX, that lets asynchronous
communication between a browser and web server. In traditional model, the browser used
to send a HTTP request, and then wait for a HTTP response. The next HTTP request was
usually sent after getting response from the server.
o AJAX, however, lets a web browser to send multiple HTTP requests one after another,
without waiting until a response is received. This approach is found to be very helpful in
cases when contents of only a portion of the web page has to be updated, rather than
refreshing the entire page. Web 2.0 uses AJAX in many different cases for better user
experience.
o From the above problem statement
o How would you represent the traditional Web with a sequence diagram (in both
cases when user verification is required or not)
o What changes would appear in your sequence diagram if you are trying model a
scenario where AJAX is being used?

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

• Solution:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Project: Electronic Voting System.


o Class Diagram:

o
Software Engineering Lab (KCS Sagar Singh 1900910130105
651)
JSS Academy of Technical Education, Department of Information Technology
Noida

o Sequence Diagram:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Self-Evaluation:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Experiment 6

Aim: To model state chart and activity model.


Assignment: Construct diagrams for the following
8. The problem statement given as Exercise#1 in virtual lab.
9. The problem statement given as Exercise#2 in virtual lab.
10. The problem statement of your project using any open-source tool of your choice.

Exercise#1:
• Problem Statement 1:
o Consider a bulb with a push down switch. The bulb initially remains off. When the
switch is pushed down, the bulb is on. Again when the switch is pushed up, the bulb
turns off. The lifecycle of the bulb continues in this way until it gets damaged.

Think about these points:


o What are the different states of the bulb?
o What activities are performed in each state?
o What action does make the bulb move from one state to another?

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

• Solution:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Exercise#2:
• Problem Statement 1:
o Let us consider the development activities of SE Virtual Labs. The process begins
by checking out the code from Subversion repository. Necessary modifications are
then made to the checked out code (local copy). Once the developer is done with
his changes, the application has to be tested to verify whether the new functionality
are working fine. This test has to be performed with two of the more popular web
browsers: Firefox and Internet Explorer, to support cross-browser accessibility. If
testing fails in at least one of the two browser, developer goes back to his code, and
fixes it. Only when all the browsers pass the test, a patch is generated from the local
copy, and applied to the production code. The local copy is then committed
resulting in update of the SVN repository. Note that, if the local copy is committed
before generating a patch file, then local changes would get registered, and one
won't be further able to generate the patch file.

o Note: For further clarification, at any point of time there exists three versions of the
source code: Production copy, local copy, and copy in SVN repository.

o Think over the following questions:


▪ How would you represent testing of the application with multiple browsers?
▪ Can generation of the patch file and update the Subversion repository be
done concurrently?
▪ Can patching the production code and updating the Subversion repository
be done in parallel?

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

• Solution:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Project: Electronic Voting System.

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)
JSS Academy of Technical Education, Department of Information Technology
Noida

Self-Evalution:

Software Engineering Lab (KCS Sagar Singh 1900910130105


651)

You might also like