SE KCS_651 Lab Manual (1)
SE KCS_651 Lab Manual (1)
LIST OF EXPERIMENTS
LAB MANUAL
SEMESTER : VI
PREPARED BY
Objective: Prepare an SRS Document in line with the IEEE recommended Standard for
Library Management Software System.
Introduction of SRS:
SRS stands for Software Requirements Specification, which is a document that fully describes
the expected behaviour of a software system.
Functional requirements are documented in an SRS, as are Non-functional requirements such as
performance goals and descriptions of Quality attributes.
1-Functional Requirements:-
The functional requirements describe the functionality or services that software should provide.
It is also known as Behavioural Requirements.
The Functional requirement of the software system should clearly describe each function which the
system would support along with the corresponding input and output data set.
NOTE: Each function Fi of the system can be considered as reading certain data Ii and then
transformation of a set of input data to the corresponding set of output data Oi.
1)In case of “Library Automation Software”, the” Search book” is a functional requirement and it
involves accepting a book name from the user, running a matching algorithm on the book list and
finally outputting the marched books or error message.
2)In case of “ATM” the “Withdraw-cash” is a functional requirement and it involves accepting (the
type of account, account number and amount that is withdrawn) from the user and then system
checks the balance available in the account and finally provides the required cash, otherwise it
generates an error message.
2-Non-Functional Requirements:-
The non-functional requirements deal the characteristics of a system that cannot be expressed as
functions.
The non-functional requirements are also known as Quality Requirements.
Non –functional requirements address the aspects about Reliability, Response time, Portability,
Usability, Maintainability, throughout, accuracy of results and human - computer interface issues.
Thus, non-functional requirements should be added in software to make it perform efficiently.
Table of Contents
Table of Contents ................................................................................................ iii
1. Introduction ..................................................................................................... 4
1.1 Purpose ............................................................................................................ 4
1.2 Document Conventions ................................................................................... 4
1.3 Intended Audience and Reading Suggestions ................................................. 4
1.4 Product Scope .................................................................................................. 4
1.5 References .........................................................................................................4
2. Overall Description .......................................................................................... 4
2.1 Product Perspective ......................................................................................... 4
2.2 Product Functions ............................................................................................ 5
2.3 User Classes and Characteristics ..................................................................... 5
2.4 Operating Environment ................................................................................... 6
2.5 Design and Implementation Constraints ......................................................... 6
2.6 User Documentation ........................................................................................ 6
2.7 Assumptions and Dependencies ...................................................................... 6
3. External Interface Requirements .................................................................... 7
3.1 User Interfaces ................................................................................................. 7
3.2 Hardware Interfaces ........................................................................................ 8
3.3 Software Interfaces .......................................................................................... 8
3.4 Communications Interfaces ............................................................................. 8
4. System Features ..............................................................................................8
4.1 System Feature 1 ............................................................................................. 8
4.2 System Feature 2 (and so on) ........................................................................ 10
5. Other Nonfunctional Requirements .......................................................... 10
5.1 Performance Requirements ........................................................................... 10
5.2 Safety Requirements…………………………………………………...…...10
5.3 Security Requirements .................................................................................. 11
5.4 Software Quality Attributes .......................................................................... 11
1. Introduction
1.1 Purpose
• To automate the library of college.
• To manage the records of book and user.
• To save the time and reduce the paper work.
• To provide the 24*7 hours service.
• To check the progress of development.
2. Overall Description
• User module: In the user module, user will check the availability of the books.
Issue book
Reserve book
Return book
Fine details
• Library module:
• Administration module: The following are the sub module in the administration:
Register user
Entry book details
Book issue.
The Product is developed using ASP. The backend database for this SQL server.
The product is accomplished with login facility so that specific function is
available to specific student.
2.6 User Documentation
The product will include user manual. The user manual will include product
overview, complete configuration of the used software (such as SQL server),
technical details, backup procedure and contact information which will include
email address. There will be no online help for the product at this moment. The
product will be compatible with the Internet Explorer 6.0 or higher. The databases
will be created in the Microsoft SQL server 2000.
The product needs following third party applications for the development of the
project:
• Android Studio (for development of android based applications)
• Net beans
• Photoshop (for editing layouts, icons, buttons, etc.)
Administrative:
Administrative interfaces will assist Library Staff in building/maintaining
collections and controlling access to them. Because of the complexity of the data
model, Library Staff will need to be able to edit multiple records simultaneously
and create links between them.
Administrative MUST be able to have multiple records open for editing.
Administrator MUST be able to create links (references) between records without
needing to type in record identifiers.
4. System Features
4.1 Database Storage
4.1.1. Description and Priority
Proposed Database is intended to store, retrieve, update, and manipulate
information related to university which includes:
a) Books availability
b) Staff information
c) Student details
d) My Account
e) Calculation of fines
4.1.2. Stimulus / Response Sequences
4.2.2.1UserInterfaces
Describes how this product interfaces with the user.
GUI
Describes the graphical user interface if present. This section should include a set
of screen dumps or mock-ups to illustrate user interface features.
1. Description
The user interface must be customizable by the administrator
2. Criticality
This issue is essential to the overall system. All the modules provided with the
software must fit into this graphical user interface and accomplish to the standard
defined.
3. Technical issues
In order to satisfy this requirement, the design should be simple and all the
different interfaces should follow a standard template. There will be the possibility
of changing colors and images.
4. Software
It is used to switch between interfaces with the minimum impact for the users.
5. Risks
To reduce the circumstances under which this requirement might not able to be
satisfied, all the designers must have been developed web sites previously and they
must be aware of html restriction and cross browsers implementations before
starting the designing. In order to reduce the probability of this occurrence the
entire design team will be trained in basic html development and macromedia
fireworks, this tool will be used instead of Photoshop.
6. Dependencies with other requirements
All user interfaces should be able to interact with the user management module and
a part of the interface must be dedicated to the login/logout module.
1. What is SRS?
Obective: Draw the use case diagram and specify the role of each of the
actors
Use case diagrams describe what a system does from the standpoint of an external
observer. The emphasis is on what a system does rather than how.
"A patient calls the clinic to make an appointment for a yearly checkup. The
receptionist finds the nearest empty time slot in the appointment book and
schedules the appointment for that time slot. "
A use case is a summary of scenarios for a single task or goal. An actor is who or
what initiates the events involved in that task. Actors are simply roles that people
or objects play. The picture below is a Make Appointment use case for the
medical clinic. The actor is a Patient. The connection between actor and use case
is a communication association (or communication for short).
Actors are stick figures. Use cases are ovals. Communications are lines that link
actors to use cases.
A use case diagram is a collection of actors, use cases, and their communications.
We've put Make Appointment as part of a diagram with four actors and four use
cases. Notice that a single use case can have multiple actors.
Objective: Identify entity sets, their attributes, and various relationships. Represent
the data model through ER diagram.
An entity set is a collection of all similar entities. For example, "Student" is an entity set that
abstracts all students. Ram, John are specific entities belonging to this set. Similarly, a
"Relationship" set is a set of similar relationships.
Attributes of Entity
Attributes are the characteristics describing any entity belonging to an entity set. Any entity in a
set can be described by zero or more attributes.
For example, any student has got a name, age, an address. At any given time a student can
study only at one school. In the school he would have a roll number, and of course a grade in
which he studies. These data are the attributes of the entity set Student.
Keys
One or more attribute(s) of an entity set can be used to define the following keys:
Super key: One or more attributes, which when taken together, helps to uniquely
identify an entity in an entity set. For example, a school can have any number of
students. However, if we know grade and roll number, then we can uniquely identify a
student in that school.
Candidate key: It is a minimal subset of a super key. In other words, a super key might
contain extraneous attributes, which do not help in identifying an object uniquely. When
such attributes are removed, the key formed so is called a candidate key.
Primary key: A database might have more than one candidate key. Any candidate key
chosen for a particular implementation of the database is called a primary key.
Prime attribute: Any attribute taking part in a super key.
Weak Entity
An entity set is said to be weak if it is dependent upon another entity set. A weak entity can't be
uniquely identified only by it's attributes. In other words, it doesn't have a super key.
For example, consider a company that allows employees to have travel allowance for their
immediate family. So, here we have two entity sets: employee and family, related by "Can claim
for". However, family doesn't have a super key. Existence of a family is entirely dependent on
the concerned employee. So, it is meaningful only with reference to employee.
Once we have identified the entity sets, we might find some similarities among them. For
example, multiple person interacts with a banking system. Most of them are customers, and rest
employees or other service providers. Here, customers, employees are persons, but with certain
specializations. Or in other way, person is the generalized form of customer and employee
entity sets.
ER model uses the "ISA" hierarchy to depict specialization (and thus, generalization).
Mapping Cardinalities
One of the main tasks of ER modeling is to associate different entity sets. Let's consider two
entity sets E1 and E2 associated by a relationship set R. Based on the number of entities in E1
and E2 are associated with, we can have the following four type of mappings:
One to one: An entity in E1 is related to at most a single entity in E2, and vice versa
One to many: An entity in E1 could be related to zero or more entities in E2. Any entity
in E2 could be related to at most a single entity in E1.
Many to one: Zero or more number of entities in E1 could be associated to a single
entity in E2. However, an entity in E2 could be related to at most one entity in E1.
Many to many: Any number of entities could be related to any number of entities in E2,
including zero, and vice versa.
ER Diagram
From a given problem statement we identify the possible entity sets, their attributes, and
relationships among different entity sets. Once we have these information, we represent them
pictorially, called an entity-relationship (ER) diagram.
Entity with
Roll is the primary key; denoted with an underline
attributes
Related enity
sets
Relationship
with weak entity
set
Importance of ER modeling
Figure - 01 shows the different steps involved in implementation of a (relational) database.
Given a problem statement, the first step is to identify the entities, attributes and relationships.
We represent them using an ER diagram. Using this ER diagram, table structures are created,
along with required constraints. Finally, these tables are normalized in order to remove
redundancy and maintain data integrity. Thus, to have data stored efficiently, the ER diagram is
to be drawn as much detailed and accurate as possible.
1. What is an ER Diagram?
2. How do you represent weak entities in ER diagrams?
3. How can cardinality be applied to relationships in ER diagrams?
4. What does it mean to generalize/specialize an object in an ER diagram?
5. What is an identifying relationship?
Experiment No-4
Objective : Identify the classes. Classify them as weak and strong classes and draw
the class diagram.
Class diagrams
A Class diagram gives an overview of a system by showing its classes and the relationships
among them. Class diagrams are static -- they display what interacts but not what happens when
they do interact.
The class diagram below models a customer order from a retail catalog. The central class is the
Order. Associated with it are the Customer making the purchase and the Payment. A Payment
is one of three kinds: Cash, Check, or Credit. The order contains OrderDetails (line items),
each with its associated Item.
UML class notation is a rectangle divided into three parts: class name, attributes, and operations.
Names of abstract classes, such as Payment, are in italics. Relationships between classes are the
connecting links.
A navigability arrow on an association shows which direction the association can be traversed or
queried. An OrderDetail can be queried about its Item, but not the other way around. The arrow
also lets you know who "owns" the association's implementation; in this case, OrderDetail has
an Item. Associations with no navigability arrows are bi-directional.
The multiplicity of an association end is the number of possible instances of the class associated
with a single instance of the other end. Multiplicities are single numbers or ranges of numbers. In
our example, there can be only one Customer for each Order, but a Customer can have any
number of Orders.
Multiplicities Meaning
Every class diagram has classes, associations, and multiplicities. Navigability and roles are
optional items placed in a diagram to provide clarity.
Activity diagrams
An activity diagram is essentially a fancy flowchart. Activity diagrams and statechart diagrams
are related. While a state chart diagram focuses attention on an object undergoing a process (or
on a process as an object), an activity diagram focuses on the flow of activities involved in a
single process. The activity diagram shows the how those activities depend on one another.
Activity diagrams can be divided into object swimlanes that determine which object is
responsible for which activity. A single transition comes out of each activity, connecting it to
the next activity.
A transition may branch into two or more mutually exclusive transitions. Guard expressions
(inside [ ]) label the transitions coming out of a branch. A branch and its subsequent merge
marking the end of the branch appear in the diagram as hollow diamonds.
A transition may fork into two or more parallel activities. The fork and the subsequent join of
the threads coming out of the fork appear in the diagram as solid bars.
Experiment No-6
Objective : Identify the classes. Classify them as weak and strong classes and draw
the class diagram.
Class diagrams
A Class diagram gives an overview of a system by showing its classes and the relationships among
them. Class diagrams are static -- they display what interacts but not what happens when they do interact.
The class diagram below models a customer order from a retail catalog. The central class is the Order.
Associated with it are the Customer making the purchase and the Payment. A Payment is one of three
kinds: Cash, Check, or Credit. The order contains OrderDetails (line items), each with its associated
Item.
UML class notation is a rectangle divided into three parts: class name, attributes, and operations. Names
of abstract classes, such as Payment, are in italics. Relationships between classes are the connecting links.
A navigability arrow on an association shows which direction the association can be traversed or queried.
An OrderDetail can be queried about its Item, but not the other way around. The arrow also lets you
know who "owns" the association's implementation; in this case, OrderDetail has an Item. Associations
with no navigability arrows are bi-directional.
The multiplicity of an association end is the number of possible instances of the class associated with a
single instance of the other end. Multiplicities are single numbers or ranges of numbers. In our example,
there can be only one Customer for each Order, but a Customer can have any number of Orders.
Multiplicities Meaning
Every class diagram has classes, associations, and multiplicities. Navigability and roles are optional items placed in
a diagram to provide clarity.
Class and object diagrams are static model views. Interaction diagrams are dynamic. They
describe how objects collaborate.
A sequence diagram is an interaction diagram that details how operations are carried out -- what
messages are sent and when. Sequence diagrams are organized according to time. The time
progresses as you go down the page. The objects involved in the operation are listed from left to
right according to when they take part in the message sequence.
Below is a sequence diagram for making a hotel reservation. The object initiating the sequence
of messages is a Reservation window.
The Reservation window sends a makeReservation() message to a HotelChain. The
HotelChain then sends a makeReservation() message to a Hotel. If the Hotel has
available rooms, then it makes a Reservation and a Confirmation.
Each vertical dotted line is a lifeline, representing the time that an object exists. Each arrow is a
message call. An arrow goes from the sender to the top of the activation bar of the message on
the receiver's lifeline. The activation bar represents the duration of execution of the message.
In our diagram, the Hotel issues a self call to determine if a room is available. If so, then the
Hotel creates a Reservation and a Confirmation. The asterisk on the self call means iteration
(to make sure there is available room for each day of the stay in the hotel). The expression in
square brackets, [ ], is a condition.
The diagram has a clarifying note, which is text inside a dog-eared rectangle. Notes can be put
into any kind of UML diagram.
Experiment No-8
Objective: Identify external entities and functionalities of any system. Identify the flow of data
across the system. Represent the flow with Data Flow Diagrams.
DFD provides the functional overview of a system. The graphical representation easily
overcomes any gap between ’user and system analyst’ and ‘analyst and system designer’ in
understanding a system. Starting from an overview of the system it explores detailed design of a
system through a hierarchy. DFD shows the external entities from which data flows into the
process and also the other flows of data within a system. It also includes the transformations of
data flow by the process and the data stores to read or write a data.
External
Name of the external entity is written inside the rectangle
entity
A left-right open rectangle is denoted as data store; name of the data store is written inside
Data store
the shape
Data flow Data flow is represented by a directed arc with its data name
Process: Processes are represented by circle. The name of the process is written into
the circle. The name of the process is usually given in such a way that represents the
functionality of the process. More detailed functionalities can be shown in the next Level
if it is required. Usually it is better to keep the number of processes less than 7 [i]. If we
see that the number of processes becomes more than 7 then we should combine some
the processes to a single one to reduce the number of processes and further
decompose it to the next level [2] .
External entity: External entities are only appear in context diagram[2]. External entities
are represented by a rectangle and the name of the external entity is written into the
shape. These send data to be processed and again receive the processed data.
Data store: Data stares are represented by a left-right open rectangle. Name of the data
store is written in between two horizontal lines of the open rectangle. Data stores are
used as repositories from which data can be flown in or flown out to or from a process.
Data flow: Data flows are shown as a directed edge between two components of a Data
Flow Diagram. Data can flow from external entity to process, data store to process, in
between two processes and vice-versa.
Note :
1. External entities only appear in context diagram[2] i.e, only at level 0.
2. Keep number of processes at each level less than 7[i].
3. Data flow is not possible in between two external entities and in between two data
stores[i].
4. Data cannot flow from an External entity to a data store and vice-versa[i].