0% found this document useful (0 votes)
3 views37 pages

SE Lab

The document outlines the lab file for the Software Engineering course (BCS 651) at Pranveer Singh Institute of Technology, detailing the department's vision, mission, program educational objectives, and course outcomes. It includes a list of experiments for students to complete, focusing on software requirements specifications (SRS) and various UML diagrams. The document serves as a guide for third-year B.Tech students in the Artificial Intelligence & Machine Learning department during the Even Semester of 2025-26.

Uploaded by

harshit7383
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views37 pages

SE Lab

The document outlines the lab file for the Software Engineering course (BCS 651) at Pranveer Singh Institute of Technology, detailing the department's vision, mission, program educational objectives, and course outcomes. It includes a list of experiments for students to complete, focusing on software requirements specifications (SRS) and various UML diagrams. The document serves as a guide for third-year B.Tech students in the Artificial Intelligence & Machine Learning department during the Even Semester of 2025-26.

Uploaded by

harshit7383
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

PSIT-Pranveer Singh Institute of Technology

Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

PRANVEER SINGH INSTITUTE OF TECHNOLOGY, KANPUR


DEPARTMENT OF
ARTIFICIAL INTELLIGENCE & MACHINE LEARNING

Even Semester 2025-26

B. Tech.- Third Year

Semester - VI

Lab File
Software Engineering
(BCS 651)

Submitted To: Submitted By:


Faculty Name :_________________ Name :_________________
Designation :_________________ Roll No. :_________________
Section :_________________

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

Table of Contents
 Vision and Mission Statements of the Institute

 Vision and Mission Statements of the Department

 PEOs, POs, PSOs of the Department

 Course Objective and Outcomes

 List of Experiments

 Index

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

Department Vision Statement


To be recognized, the Department of Artificial Intelligence & Machine Learning produces versatile
computer engineers, capable of adapting to the changing needs of computer and related industry.

Department Mission Statements


The mission of the Department of Artificial Intelligence & Machine Learning is:

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.

Program Educational Objectives (PEOs)


i. The graduates will be efficient leading professionals with knowledge of Artificial Intelligence &
Machine Learning discipline that enables them to pursue higher education and/or successful careers in
various domains.

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

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

Department Program Outcomes (POs)

The students of the Artificial Intelligence & Machine Learning Department will be able:

1. Engineering knowledge: Apply the knowledge of mathematics, science, Artificial Intelligence


& Machine Learning fundamentals, and an engineering specialization to the solution of
complex engineering problems.

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.

3. Design/development of solutions: Design solutions for complex Artificial Intelligence &


Machine Learning problems and design system components or processes that meet the specified
needs with appropriate consideration for public health and safety, and the cultural, societal, and
environmental considerations.

4. Investigation: Use research-based knowledge and research methods including design of


experiments, analysis and interpretation of data, and synthesis of the information to provide
valid conclusions.

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.

6. Engineering and Society: Apply reasoning informed by contextual knowledge to assess


societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to
the professional engineering practice in the field of Artificial Intelligence & Machine Learning.

7. Environment and sustainability: Understand the impact of the professional Artificial


Intelligence & Machine Learning solutions in societal and environmental contexts, and
demonstrate the knowledge of, and need for sustainable development.

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.

10. Communication: Communicate effectively on complex Artificial Intelligence & Machine


Learning activities with the engineering community and with society at large, such as being
able to comprehend and write effective reports and design documentation, making effective
presentations, and giving and receiving clear instructions.

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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.

Department Program Specific Outcomes (PSOs)


The students will be able to:

1. Use algorithms, data structures/management, software design, concepts of programming


languages and computer organization and architecture.

2. Understand the processes that support the delivery and management of information systems
within a specific application environment.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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

CO Number Course Outcomes


BCS-651.1 Define [1. Remember] the basic concepts of Software Engineering Lab, IEEE
standards of SRS, and symbols used in UML, DFD and ER diagrams.
BCS-651.2 Explain [2. Understand] the requirements of a software system by identifying
actors, use cases, classes, relationships, activities and states for real-life problems.
BCS-651.3 Apply [3. Apply] software design concepts and CASE tools to prepare SRS
documents and draw UML/ER diagrams such as Use Case, Activity, Class, Sequence,
Collaboration, State Chart, Component and Deployment diagrams for a project.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

List of Experiments

Lab No. Lab Experiment Corresponding CO


Prepare a SRS document in line with the IEEE recommended
1 standards. CO1
Draw the Use case diagram and specify the role of each of the
2 actors. Also state the precondition, post condition and function CO2
of each use case.
3 Draw the activity diagram. CO2
Identify the classes. Classify them as weak and strong classes
4 and draw the class diagram. CO2

5 Draw the sequence diagram for any two scenarios. CO3

6 Draw the collaboration diagram. CO3

7 Draw the state chart diagram. CO3

8 Draw the component diagram. CO3


Draw the Deployment Diagram using Star UML.
9 CO3
To draw a sample E-R diagram of project.
10 CO3

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

EXPERIMENT 1

Aim: To Prepare a SRS document in line with the IEEE recommended Standards

Requirements:

Software Requirements:

Star UML, Windows XP,

Theory:

An SRS is basically an organization's understanding (in writing) of a customer or potential


client's system requirements and dependencies at a particular point in time (usually) prior to any
actual design or development work. It's a two-way insurance policy that assures that both the
client and the organization understand the other's requirements from that perspective at a given
point in time.
SRSs are typically developed during the first stages of "Requirements Development," which is
the initial product development phase in which information is gathered about what requirements
are needed--and not. This information-gathering stage can include onsite visits, questionnaires,
surveys, interviews, and perhaps a return-on-investment (ROI) analysis or needs analysis of the
customer or client's current business environment. The actual specification, then, is written after
the requirements have been gathered and analyzed.

SRS should address the following


The basic issues that the SRS shall address are the following:
a) Functionality. What is the software supposed to do?

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

A sample of basic SRS Outline


1. Introduction
1.1 Purpose
1.2 Document conventions
1.3 Intended audience
1.4 Additional information
1.5 Contact information/SRS team members
1.6 References

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

3. External Interface Requirements


3.1 User interfaces
3.2 Hardware interfaces
3.3 Software interfaces
3.4 Communication protocols and interfaces

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

5. Other Non-Functional Requirements


5.1 Performance requirements
5.2 Safety requirements
5.3 Security requirements
5.4 Software quality attributes
5.5 Project documentation
5.6 User documentation

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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).

1.3 Definitions, Acronyms, and Abbreviations


● ML: Machine Learning
● SVM: Support Vector Machine
● NEPSE: Nepal Stock Exchange (used as a sample dataset)
● API: Application Programming Interface
2. Overall Description
2.1 Product Perspective
This is a standalone web-based healthcare application designed to predict diseases and
recommend relevant medicines using Machine Learning and Deep Learning models. It is
intended for patients, healthcare professionals, and medical researchers to assist in early
diagnosis and medication suggestions.
2.2 Product Functions
● Accept and preprocess health-related data (symptoms, medical history, test results, etc.).
● Train predictive models (Logistic Regression, Random Forest, CNN, etc.).
● Predict diseases based on input data.
● Recommend appropriate medicines based on predicted disease.
● Provide visual insights like risk level graphs and recovery suggestions.

2.3 User Classes and Characteristics


● Patients – Individuals seeking disease predictions and medical suggestions with basic digital
literacy.
● Doctors/Clinicians – Use the tool to assist diagnosis and provide more personalized treatment.
● Researchers – Use predictions and patterns for research and analytics.

2.4 Operating Environment


● Platform: Web-based (Windows 10 or higher)
● Backend: Python (Scikit-learn, TensorFlow, Keras, Flask/Django)

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

● Hardware: Minimum 4GB RAM, 500GB HDD, Dual-Core processor or better

2.5 Design and Implementation Constraints


● Variability in symptoms and user-reported data
● High responsibility for prediction accuracy due to health implications
● Compliance with medical data protection laws (e.g., HIPAA)
3. System Features
3.1 Data Preprocessing
● Handle missing values
● Encode categorical inputs (e.g., gender, symptoms)
● Normalize numerical features (e.g., age, test results)

3.2 Feature Selection


● Select attributes such as symptoms, blood test results, vital signs, previous medical conditions

3.3 Model Building and Training


● Models Used: Logistic Regression, Random Forest, Naive Bayes, CNN (for image-based
diagnosis), etc.
● Tools: Python libraries (Pandas, NumPy, Scikit-learn, TensorFlow, etc.)
3.4 Prediction Output
● Predict likely diseases
● Recommend medicines based on predictions
● Provide graphical outputs (confidence score, symptom severity trends)

4. External Interface Requirements


4.1 Hardware Interfaces
● Standard computing device with browser
● Minimum 4GB RAM, preferably 8GB

4.2 Software Interfaces


● Python environment (Anaconda preferred)
● Libraries: NumPy, Pandas, Matplotlib, Scikit-learn, TensorFlow, Keras

4.3 Communications Interfaces


● Web-based interface via browser
● Optionally integrate APIs (e.g., drug databases, symptom checkers)
5. Non-Functional Requirements
5.1 Performance Requirements
● Handle real-time and bulk predictions
● Efficient with large patient datasets

5.2 Security Requirements

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

● Data privacy with secure login and encrypted storage


● Comply with healthcare regulations
5.3 Maintainability and Portability
● Modular architecture to support future updates
● Portable across platforms supporting Python

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

6.2 Risk Management


● Risks: Incorrect predictions, ethical liability
● Mitigation: Regular model updates, human-in-loop validation

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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:

Star UML, Windows XP,


Theory:
According to the UML specification a use case diagram is “a diagram that shows the
relationships among actors and use cases within a system.” Use case diagrams are often used to:
 Provide an overview of all or part of the usage requirements for a system or organization
in the form of an essential model or a business model
 Communicate the scope of a development project
 Model your analysis of your usage requirements in the form of a system use case model
Use case models should be developed from the point of view of your project stakeholders and
not from the (often technical) point of view of developers. There are guidelines for:
Use Cases
Actors
Relationships
System Boundary Boxes
1. Use Cases
A use case describes a sequence of actions that provide a measurable value to an actor. A use
case is drawn as a horizontal ellipse on a UML use case diagram.
1. Use Case Names Begin with a Strong Verb
2. Name Use Cases Using Domain Terminology
3. Place Your Primary Use Cases in the Top-Left Corner of The Diagram
4. Imply Timing Considerations by Stacking Use Cases.
2. Actors
An actor is a person, organization, or external system that plays a role in one or more interactions
with your system (actors are typically drawn as stick figures on UML Use Case diagrams).
1. Place Your Primary Actor(S) In the Top-Left Corner of the Diagram
2. Draw Actors to the Outside of a Use Case Diagram
3. Name Actors with Singular, Business-Relevant Nouns
4. Associate Each Actor with One Or More Use Cases
5. Actors Model Roles, Not Positions
6. Use <<system>> to Indicate System Actors
7. Actors Don’t Interact With One Another
8. Introduce an Actor Called “Time” to Initiate Scheduled Events
3. Relationships
There are several types of relationships that may appear on a use case diagram:

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

 An association between an actor and a use case


 An association between two use cases
 A generalization between two actors
 A generalization between two use cases
Associations are depicted as lines connecting two modeling elements with an optional open-
headed arrowhead on one end of the line indicating the direction of the initial invocation of the
relationship. Generalizations are depicted as a close-headed arrow with the arrow pointing
towards the more general modeling element.
1. Indicate An Association Between an Actor and a Use Case If the Actor Appears within
the Use Case Logic
2. Avoid Arrowheads on Actor-Use Case Relationships
3. Apply <<include>> When You Know Exactly When to Invoke the Use Case
4. Apply <<extend>> When A Use Case May Be Invoked Across Several Use Case Steps
5. Introduce <<extend>> associations sparingly
6. Generalize Use Cases When a Single Condition Results in Significantly New Business
Logic
7. Do Not Apply <<uses>>, <<includes>>, or <<extends>>
8. Avoid More Than Two Levels of Use Case Associations
9. Place An Included Use Case to the Right of the Invoking Use Case
10. Place An Extending Use Case Below the Parent Use Case
11. Apply the “Is Like” Rule to Use Case Generalization
12. Place an Inheriting Use Case Below the Base Use Case
13. Apply the “Is Like” Rule to Actor Inheritance
14. Place an Inheriting Actor Below the Parent Actor
4. System Boundary Boxes
The rectangle around the use cases is called the system boundary box and as the name suggests it
indicates the scope of your system – the use cases inside the rectangle represent the functionality
that you intend to implement.
1. Indicate Release Scope with a System Boundary Box.
2. Avoid Meaningless System Boundary Boxes.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

Creating Use Case Diagrams

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

EXPERIMENT 3
AIM :- To draw a activity diagram for a real project or system.

To draw a activity diagram for a real project or system.


Software Requirements: Star UML, Windows XP,

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

 Flow final. The circle with the X through it. This indicates that the process stopsat this
point.

GUIDELINES ASSOCIATED FOR DRAWING AN ACTIVITY DIAGRAM


[Link] Guidelines

[Link]

[Link] Points

[Link]

[Link] Activities

[Link] Guidelines

[Link]-Object Guidelines

Conclusion: The activity diagram was made successfully by following the steps described
above.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

EXPERIMENT 4
AIM: Identify the classes. Classify them as weak and strong classes and draw the class diagram.
REQUIREMENTS:

Software Interfaces

 Any window-based operating system (Windows98/2000/XP/NT)


 IBM Star UML Software

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

Another common relationship in class diagrams is generalization. A generalization is used


when two classes are similar but have some differences.

5. Aggregation and Composition

Aggregation is a variant of the "has a" or association relationship; composition is more


specific than aggregation. Aggregation occurs when a class is a collection or container of
other classes, but where the contained classes do not have a strong life cycle dependency on
the container-- essentially, if the container is destroyed, its contents are not.

TO DRAW CLASS DIAGRAM

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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.

Sequence diagrams are typically used to model:

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).

To Draw Sequence Diagrams

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

EXPERIMENT 6

Aim:- Draw the collaboration diagram using Star UML.

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

EXPERIMENT 7

AIM: To prepare state chart diagram for project.

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

the “START STATE” button.


Place a start state icon on the diagram by clicking the mouse once.
Now add states to the diagram, these make up the content of the diagram.
Click on the state button. Place the instances for each state into the diagram and
type in names for them.
 Now arrange the states to fill the diagram better. Drag the states to new positions to make the
easiest layout to work with.
 Add an end state to the diagram by clicking the “END STATE” button. Place an instance into
the diagram. Now add relationships to the diagram.
 Click on the “STATE TRANSITION” button and drag arrows between the appropriate states.
 To edit the specification secondary click on the relation lines and select
“OPENSPECIFICATION” button. Add a name for the event in the specification. Then click
on “apply” and then on “OK” button.
 Add details to the specifications of the other relationships in the same way.
 There may be instances on the diagram where a state can join more than one state. In this case
add a relationship in the same way. Then enter the specification for the new state.

Conclusion: The state chart diagram was made successfully by following the steps described
above.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

Example of a Deployment diagram


Following deployment diagram represents the working of HTML5 video player in the browser:

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

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.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

AN ENTITY RELATIONSHIP DIAGRAM METHODOLOGY:

Identify the roles, events, locations, tangible things or


1. Identify Entities concepts about which the end-users want to store data.
Find the natural associations between pairs of entities using
2. Find Relationships a relationship matrix.
Put entities in rectangles and relationships on line segments
3. Draw Rough ERD connecting the entities.
Determine the number of occurrences of one entity for a
4. Fill in Cardinality single occurrence of the related entity.
Identify the data attribute(s) that uniquely identify one and
5. Define Primary Keys only one occurrence of each entity.
Eliminate Many-to-Many relationships and include primary
6. Draw Key-Based ERD and foreign keys in each entity.
Name the information details (fields) which are essential to
7. Identify Attributes the system under development.
For each attribute, match it with exactly one entity that it
8. Map Attributes describes.
Draw fully attributed Adjust the ERD from step 6 to account for entities or
9. ERD relationships discovered in step 8.
Does the final Entity Relationship Diagram accurately
10. Check Results depict the system data?

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651


PSIT-Pranveer Singh Institute of Technology
Kanpur-Delhi National Highway (NH-19), Bhauti, Kanpur-209305(U.P.), India

Conclusion: The entity relationship diagram was made successfully by following the steps
described above.

DEPARTMENT OF ARTIFICIAL INTELLIGENCE & MACHINE LEARNING BCS-651

You might also like