SE Lab
SE Lab
Semester - VI
Lab File
Software Engineering
(BCS 651)
Table of Contents
Vision and Mission Statements of the Institute
List of Experiments
Index
i. To provide broad-based education with knowledge and attitude to succeed in Artificial Intelligence &
Machine Learning careers.
ii. To prepare students for emerging trends in computer and related industry.
iii. To develop competence in students by providing them with skills and aptitude to foster culture of
continuous and lifelong learning.
iv. To develop practicing engineers who investigate research, design, and find workable solutions to
complex engineering problems with awareness & concern for society as well as the environment.
ii. Graduates will possess the capability of designing successful innovative solutions to real life
problems that are technically sound, economically viable and socially acceptable.
iii. Graduates will be competent team leaders, effective communicators and capable of working in
multidisciplinary teams following ethical values.
iv. The graduates will be capable of adapting to new technologies/tools and constantly upgrading their
knowledge and skills with an attitude for lifelong learning
The students of the Artificial Intelligence & Machine Learning Department will be able:
2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and Artificial Intelligence & Machine Learning sciences.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modelling to complex Artificial Intelligence
& Machine Learning activities with an understanding of the limitations.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the Artificial Intelligence & Machine Learning practice.
9. Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.
11. Project management and finance: Demonstrate knowledge and understanding of the Artificial
Intelligence & Machine Learning and management principles and apply these to one’s own
work, as a member and leader in a team, to manage projects and in multidisciplinary
environments.
12. Life-long learning: Recognize the need for and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change.
2. Understand the processes that support the delivery and management of information systems
within a specific application environment.
Course Outcomes
*Level of Bloom’s Taxonomy Level to be met *Level of Bloom’s Taxonomy Level to be met
L1: Remember 1 L2: Understand 2
L3: Apply 3 L4: Analyze 4
L5: Evaluate 5 L6: Create 6
List of Experiments
INDEX
Date of Date of Faculty
S No Lab Experiment Marks
Experiment Submission Signature
To Prepare a SRS document in line
1 with the IEEE recommended
Standards
Draw the Use Case diagram and
specify the role of each of the actors.
2 Also state the precondition, post
condition and function of each use
case.
To draw a activity diagram for a real
3
project or system.
Identify the classes. Classify them as
4 weak and strong classes and draw the
class diagram.
Draw the sequence diagram for any
5
two scenarios.
Draw the collaboration diagram using
6
Star UML.
To prepare State Chart diagram for
7
project.
Draw the Component Diagram using
8
Star UML
Draw the Deployment Diagram using
9
Star UML.
To draw a sample E-R diagram of
10
project.
EXPERIMENT 1
Aim: To Prepare a SRS document in line with the IEEE recommended Standards
Requirements:
Software Requirements:
Theory:
b) External interfaces. How does the software interact with people, the system’s hardware, other
hardware, and other software?
c) Performance. What is the speed, availability, response time, recovery time of various software
functions, etc.?
d) Attributes. What are the portability, correctness, maintainability, security, etc. considerations?
e) Design constraints imposed on implementation. Are there any required standards in effect,
language implementation, policies for database integrity, resource limits, operating
environment(s) etc.
2. Overall Description
3. 2.1 Product perspective
2.2 Product functions
2.3 User classes and characteristics
2.4 Operating environment
2.5 User environment
2.6 Design/implementation constraints
2.7 Assumptions and dependencies
4. System Features
5. 4.1 System feature
4.1.1 Description and priority
4.1.2 Action/result
4.1.3 Functional requirements
4.2 System feature B
6. Other Requirements
7. Appendix A: Terminology/Glossary/Definitions list
Appendix B: To be determined
Conclusion: The SRS was made successfully by following the steps described above.
SAMPLE SRS
1. Introduction
1.1 Purpose
The purpose of this project is to develop a predictive health care system that utilizes machine
learning and deep learning algorithms to accurately diagnose diseases based on user-provided
symptoms and medical data. Additionally, the system recommends appropriate medicines for the
predicted condition. This system aims to assist patients and healthcare professionals in making
informed medical decisions, improving early diagnosis, and enhancing treatment efficiency.
1.2 Scope
● Forecast stock returns using past data and numerical indicators.
● Apply supervised learning methods like Linear Regression and Support Vector Machines.
● Build a web application interface for data analysis and visualization.
● Provide short-term price predictions (not long-term forecasting).
6. Other Requirements
6.1 Legal and Ethical Considerations
● Do not offer diagnosis without disclaimer
● Maintain data accuracy and confidentiality
● Clearly state AI as an assistant, not a replacement for doctors
7. Appendix
7.1 Tools Used
● Python Libraries: NumPy, Pandas, SciPy, Scikit-learn, TensorFlow, Keras
● Technologies: Python, Web Frameworks (optional: Flask/Django)
References
• Gujar, D., Biyani, R., Bramhane, T., Bhosale, S. and Vaidya, T.P., 2018. Disease prediction
and doctor recommendation system. International Research Journal of Engineering and
Technology (IRJET), 5, pp.3207-3209.
• Yashudas, A., Gupta, D., Prashant, G.C., Dua, A., AlQahtani, D. and Reddy, A.S.K., 2024.
Deep-cardio: Recommendation system for cardiovascular disease prediction using iot network.
IEEE Sensors Journal.
• Priyadarshini, R., Abdullah, A.S., Sakthivel, R., Monish, S. and Thamarai, M., 2024, February.
Disease Prediction and Evaluation in Medical data upon suitable Drug Recommendation
system. In 2024 2nd International Conference on Computer, Communication and Control (IC4)
(pp. 1-6). IEEE.
• Singh, K.N. and Mantri, J.K., 2024. An intelligent recommender system using machine learning
association rules and rough set for disease prediction from incomplete symptom set. Decision
Analytics Journal, 11, p.100468.
• Sharma, D., Singh Aujla, G. and Bajaj, R., 2021. Deep neuro‐fuzzy approach for risk and
severity prediction using recommendation systems in connected health care. Transactions on
Emerging Telecommunications Technologies, 32(7), p.e4159
• WHO & Healthline databases for symptom-to-disease mappings and medicine knowledge base.
EXPERIMENT 2
Aim: Draw the use case diagram and specify the role of each of the actors. Also state the
precondition, post condition and function of each use case.
Software Requirements:
We start by identifying as many actors as possible. You should ask how the actors interact with
the system to identify an initial set of use cases. Then, on the diagram, you connect the actors
with the use cases with which they are involved. If actor supplies information, initiates the use
case, or receives any information as a result of the use case, then there should be an association
between them.
EXPERIMENT 3
AIM :- To draw a activity diagram for a real project or system.
THEORY
UML 2 activity diagrams are typically used for business process modeling, for modeling the
logic captured by a single use case or usage scenario, or for modeling the detailed logic of a
business rule. Although UML activity diagrams could potentially model the internal logic of a
complex operation it would be far better to simply rewrite the operation so that it is simple
enough that you don’t require an activity diagram. In many ways UML activity diagrams are the
object-oriented equivalent of flow charts and data flow diagrams (DFDs) from structured
development.
Basic notation:
Initial node. The filled in circle is the starting point of the diagram. An initial node isn’t
required although it does make it significantly easier to read the diagram.
Activity final node. The filled circle with a border is the ending point. An activity
diagram can have zero or more activity final nodes.
Activity. The rounded rectangles represent activities that occur. An activity may be
physical, such as Inspect Forms, or electronic, such as Display Create Student Screen.
Flow/edge. The arrows on the diagram. Although there is a subtle difference between
flows and edges never a practical purpose for the difference.
Fork. A black bar with one flow going into it and several leaving it. This denotes the
beginning of parallel activity.
Join. A black bar with several flows entering it and one leaving it. All flows going into
the join must reach it before processing may continue. This denotes the end of parallel
processing.
Condition. Text such as[Incorrect Form] on a flow, defining a guard which must
evaluate to true to traverse the node.
Decision. A diamond with one flow entering and several leaving. The flows leaving
include conditions although some modelers will not indicate the conditions if it is
obvious.
Merge. A diamond with several flows entering and one leaving. The implication is that
one or more incoming flows must reach this point until processing continues, based on
any guards on the outgoing flow.
Partition. If figures are organized into three partitions, it is also called swimlanes,
indicating who/what is performing the activities (either the Applicant, Registrar, or
System).
Sub-activity indicator. The rake in the bottom corner of an activity, such as in the Apply
to University activity, indicates that the activity is described by a more finely detailed
activity diagram.
Flow final. The circle with the X through it. This indicates that the process stopsat this
point.
[Link]
[Link] Points
[Link]
[Link] Activities
[Link] Guidelines
[Link]-Object Guidelines
Conclusion: The activity diagram was made successfully by following the steps described
above.
EXPERIMENT 4
AIM: Identify the classes. Classify them as weak and strong classes and draw the class diagram.
REQUIREMENTS:
Software Interfaces
THEORY:
A class diagram is a type of static structure diagram that describes the structure of a system by showing the
system's classes, their attributes, and the relationships between the classes.
Class diagrams show the classes n of operations and attributes of the classes. all at once, to:
Explore domain concepts in the form of a domain model
Analyze requirements in the form of a conceptual/analysis model
Depict the detailed design of object-oriented or object-based software
A class model is comprised of one or more class diagrams and the supporting specifications that describe
model elements including classes, relationships between classes, and interfaces. There are guidelines:
1. General issues
Because class diagrams are used for a variety of purposes – from understanding requirements to
describing your detailed design – it is needed to apply a different style in each circumstance. This
section describes style guidelines pertaining to different types of class diagrams.
2. Classes
A class in the software system is represented by a box with the name of the class written inside it. A
compartment below the class name can show the class's attributes (i.e. its properties). Each attribute
is shown with at least its name, and optionally with its type, initial value, and other properties
3. Interfaces
An interface is a collection of operation signature and/or attributes definitions that ideally define
a cohesive set of behaviors. Interface a class or component must implement the operations and
attributes defined by the interface. Any given class or component may implement zero or more
interfaces, and one or more classes or components can implement the same interface.
4. Relationships
A relationship is a general term covering the specific types of logical connections found in a
class and object diagram.
Class diagrams also display relationships such as containment, inheritance, associations and
others.
The association relationship is the most common relationship in a class diagram. The
association shows the relationship between instances of classes.
When designing classes the attributes and operations it will have are observed. Then determining
how instances of the classes will interact with each other. These are the very first steps of many in
developing a class diagram. However, using just these basic techniques one can develop a complete
view of the software system. There are various steps in the analysis and design of an object oriented
system.
EXPERIMENT 5
Aim: Draw the sequence diagram for any two scenarios.
Software Requirements:
Star UML, Windows XP
Theory:
UML sequence diagrams model the flow of logic within the system in a visual manner, enabling the
user both to document and validate the logic, and are commonly used for both analysis and design
purposes. Sequence diagrams are the most popular UML artifact for dynamic modeling, which
focuses on identifying the behavior within your system. Sequence diagrams, along with class
diagrams and physical data models are the most important design-level models for modern
application development.
1. Usage scenarios. A usage scenario is a description of a potential way the systemis used. The
logic of a usage scenario may be part of a use case, perhaps an alternate course. It may also
be one entire pass through a use case, such as the logic described by the basic course of
action or a portion of the basic course of action, plus one or more alternate scenarios. The
logic of a usage scenario may also be a pass through the logic contained in several use cases.
For example, a student enrolls in university, and then immediately enrolls in three seminars.
2. The logic of methods. Sequence diagrams can be used to explore the logic of a complex
operation, function, or procedure. One way to think of sequence diagrams, particularly highly
detailed diagrams, is as visual object code.
3. The logic of services. A service is effectively a high-level method, often one that can be
invoked by a wide variety of clients. This includes web-services as well as business
transactions implemented by a variety of technologies such as CICS/COBOL or CORBA-
compliant object request brokers (ORBs).
Sequence diagramming really is visual coding, even when you are modeling a usage scenario via a
system-level sequence diagram.
While creating a sequence diagram, start by identifying the scope of what you are trying to model.
You should typically tackle small usage scenarios at the system level or a single method/service at
the detailed object level.
You should then work through the logic with at least one more person, laying out classifiers across
the top as you need them. The heart of the diagram is in the messages, which you add to the diagram
one at a time as you work through the logic. You should rarely indicate return values, instead you
should give messages intelligent names which often make it clear what is being returned.
It is interesting to note that as you sequence diagram you will identify new responsibilities for classes
and objects, and, sometimes, even new classes. The implication is that you may want to update your
class model appropriately, agile modelers will follow the practice Create Several Models in Parallel,
something that CASE tools will do automatically. Remember, each message sent to a class invokes a
static method/operation on that class each message sent to an object invokes an operation on that
object.
Regarding style issues for sequence diagramming, prefer drawing messages going from left-to-right
and return values from right-to-left, although that doesn’t always work with complex objects/classes.
Justify the label on messages and return values, so they are closest to the arrowhead. Also prefer to
layer the sequence diagrams: from left-to-right. indicate the actors, then the controller class(es), and
then the user interface class(es), and, finally, the business class(es). During design, you probably
need to add system and persistence classes, which you should usually put on the right-most side of
sequence diagrams. Laying your sequence diagrams in this manner often makes it easier to read and
also makes it easier to find layering logic problems, such as user interface classes directly accessing
persistence.
EXPERIMENT 6
Hardware Requirements:
Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard keyboard and mouse, colored monitor.
Software Requirements:
Star UML, Windows XP
THEORY
Collaboration diagrams are also relatively easy to draw. They show the relationship between
objects and the order of messages passed between them. The objects are listed as icons and
arrows indicate the messages being passed between them. The numbers next to the messages are
called sequence numbers. As the name suggests, they show the sequence of the messages as they
are passed between the objects. There are many acceptable sequence numbering schemes in
UML. A simple 1, 2, 3... format can be used, as the example below shows, or for more detailed
and complex diagrams a 1, 1.1 ,1.2, 1.2.1... scheme can be used.
The example below shows a simple collaboration diagram for placing an order use case. This
time the names of the objects appear after the colon, such as :Order Entry Window following the
objectName:className naming convention. This time the class name is shown to demonstrate
that all of objects of that class will behave the same way.
EXPERIMENT 7
REQUIREMENTS:
Software Interfaces
Any window-based operating system (Windows98/2000/XP/NT)
IBM Star UML Software
THEORY:
State Chart Diagrams provide a way to model the various states in which an object can exist.
There are two special states: the start state and the stop state.
The Start state is represented by a block dot.
The Stop state is represented by a bull’s eye.
A condition enclosed in square brackets is called a guard condition and controls when
transition can or cannot occur.
Process that occur while an object is in a certain state are called actions.
STEPS TO DRAW STATE CHART DIAGRAM IN STAR UML SOFTWARE
To insert new state diagram secondary click on Logical View.
Select---New----State chart Diagram.
A new diagram will be created, type in a name for the new diagram.
Now double click on the new diagram to open it on the stage. To begin the diagram click on
Conclusion: The state chart diagram was made successfully by following the steps described
above.
EXPERIMENT 8
Aim:
Steps to draw the Component Diagram using Star UML.
Software Requirements:
Star UML, Windows XP
THEORY
A component is something required to execute a stereotype function. Examples of stereotypes in
components include executables, documents, database tables, files, and library files. Components are
wired together by using an assembly connector to connect the required interface of one component
with the provided interface of another component. This illustrates the service consumer - service
provider relationship between the two components. An assembly connector is a "connector between
two components that defines that one component provides the services that another component
requires. An assembly connector is a connector that is defined from a required interface or port to a
provided interface or port." When using a component diagram to show the internal structure of a
component, the provided and required interfaces of the encompassing component can delegate to the
corresponding interfaces of the contained components.
Component is represented by a rectangle with either the keyword "component" or a stereotype in the
top right corner: a small rectangle with two even smaller rectangles jutting out on the left.
Example
EXPERIMENT 9
Aim:
Steps to draw the Deployment Diagram using Star UML.
Software Requirements:
Star UML, Windows XP
THEORY
Deployment diagram visualizes the topological view of an entire system. It represents the
deployment of a system.A deployment diagram consists of nodes which describe the physical
devices used inside the system. On these nodes, artifacts are deployed. We can also have node
instances on which artifact instances are going to be implemented.
Node and artifacts of a system participate in the final execution of a system. A deployment diagram
plays a critical role during the administrative process, and it must satisfy the following parameters:
High performance
Maintainability
Scalability
Portability
Easily understandable
Nodes and artifacts are the essential elements of deployment. Before actually drawing the
deployment diagram, all nodes and the relationship between every node of the system must be
identified.
You must know the architecture of a system, whether an application is a web application, cloud
application, desktop application, or a mobile application. All these things are critical and plays a
vital role during the development of a deployment diagram.
If all the nodes, relations, and artifacts are known, then it becomes easy to develop a
deployment diagram.
EXPERIMENT 10
AIM :- To draw a sample E-R diagram of project .
Software Requirements:
Star UML, Windows XP,
THEORY
Entity Relationship Diagrams are a major data modelling tool and will help organize the data in
your project into entities and define the relationships between the entities. This process has
proved to enable the analyst to produce a good database structure so that the data can be stored
and retrieved in a most efficient manner.
Entity
A data entity is anything real or abstract about which we want to store data. Entity types fall into
five classes: roles, events, locations, tangible things or concepts. E.g. employee, payment,
campus, book. Specific examples of an entity are called instances. E.g. the employee John Jones,
Mary Smith's payment, etc.
Relationship
A data relationship is a natural association that exists between one or more entities. E.g.
Employees process payments. Cardinality defines the number of occurrences of one entity for a
single occurrence of the related entity. E.g. an employee may process many payments but might
not process any payments depending on the nature of her job.
Attribute
A data attribute is a characteristic common to all or most instances of a particular entity.
Synonyms include property, data element, field. E.g. Name, address, Employee Number, pay rate
are all attributes of the entity employee. An attribute or combination of attributes that uniquely
identifies one and only one instance of an entity is called a primary key or identifier. E.g.
Employee Number is a primary key for Employee.
Conclusion: The entity relationship diagram was made successfully by following the steps
described above.