[go: up one dir, main page]

0% found this document useful (0 votes)
92 views42 pages

Skill Development Lab

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)
92 views42 pages

Skill Development Lab

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
You are on page 1/ 42

Course: B.

Tech (AI&ML) Subject: Skill Development Lab Subject Code AL-705(D)

CONTENTS

S.No. Date Experiment Name of Experiment Page Date of Sign &


of Remark
No. Evaluation

1 Software Development Life Cycle

2 Understanding UML and formulate


complete problem statement on any real life
problem

3 Do requirement analysis and develop Software


Requirement Specification (SRS) for suggested
system

4 To draw a sample entity relationship


diagram for real project or system

5 Data Flow Diagram

6 Use Case Diagram

7 State Chart Diagram

8 Develop Class Diagram

9 Develop Sequence Diagram

10 Draw Activity Diagram

1
EXPERIMENT NO 1

Aim / Title: Software development life cycle

Problem Statement: Illustrate strategies and stages of software development life cycle and compare
them. identify the role of the software in today’s world across a few significant domains related to
day to day life.

Objectives: To develop methods and procedures for software development that can scale up
for large systems and that can be used consistently to produce high-quality software at low cost
and with a small cycle of time.

Outcomes: After going through this section, you should be able to develop and conduct appropriate
experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.

Pre-requisite: Basic knowledge about Software.

Hardware requirements: Intel G645 Dual Core 3.0 GHz

4 GB RAM, 500 GB Hitachi HDD

Software requirements: Any window-based operating system (Windows 95/98/2000/XP/NT


Theory:

Software Development Life Cycle (SDLC) is a framework that defines the steps involved in
the development of software at each phase. It covers the detailed plan for building, deploying
and maintaining the software.

Software has made the world a global village today. The impact of software spans across almost all
aspect of human life. All organizations, Institutions and companies are leveraging the potentials of
software in automating the critical functions and eliminating manual interventions. Software is also
a predominant are for trade and export especially for the countries like India. Domains like health
care, Airlines , financial Services, Insurance , retails, Education, and many more have exploited
software and still there a lot of the scope for software to create impact and add values in multiple
dimensions.
Conclusion: The Software Development Life Cycle (SDLC) provides a structured approach to
designing, developing, and maintaining high-quality software efficiently. Its application across various
domains highlights the transformative impact of software in automating processes and enhancing
human life.

Sample Viva Questions and Answers:

Q1. What Is The Purpose Of SDLC?

Ans- The purpose of SDLC is to provide a structured framework for developing high-quality software
that meets user requirements within a specified time and budget. It ensures consistency, efficiency,
and reliability throughout the software development process.

Q2. Who are the people involved in the phases of Waterfall Model.

Ans- The people involved in the phases of the Waterfall Model include:

1. Requirement Analysis: Business analysts, stakeholders, and end-users.

2. System Design: System architects and design engineers.

3. Implementation (Coding): Software developers and programmers.

4. Testing: Quality assurance (QA) engineers and testers.

5. Deployment: DevOps engineers and system administrators.

6. Maintenance: Support engineers and maintenance teams.

Q3. What Is Feasibility Study?

Ans- A feasibility study is an evaluation process conducted at the initial stage of a project to assess its
practicality and viability. It examines technical, economic, legal, operational, and scheduling aspects
to determine whether the project is achievable and worth pursuing.

Q5.Explain TELOS ?

Ans- TELOS is an acronym used in feasibility studies to evaluate the viability of a project based on five
key aspects:

1. Technical Feasibility: Assesses whether the project can be developed with the available
technology, tools, and technical expertise.

2. Economic Feasibility: Evaluates the financial aspects, including cost-benefit analysis, return
on investment (ROI), and budget constraints.

3. Legal Feasibility: Ensures the project complies with relevant laws, regulations, and
contractual obligations.

4. Operational Feasibility: Determines if the project aligns with organizational workflows, goals,
and user requirements.

5. Schedule Feasibility: Analyzes whether the project can be completed within the stipulated
time frame and deadlines.
Roll Name of Date of Date of Grade Sign of Sign of

No. Student Performance Evaluation Student Faculty

3
EXPERIMENT NO. 2

Aim / Title: Understanding UML and Formulate complete problem statement on any real
life problem.

Problem Statement: Introduction to UML. Formulate complete problem statement on any real life
problem.

Objectives:

1. Explain what UML is, why it is relevant to the process of developing software intensive systems.

2. Write complete problem statement of any real life problem.

Outcomes: Student will be able to formulate correct problem statement.

Pre-requisite: Basic Knowledge of software engineering and UML.

Hardware requirements: Pentium(R) 4 CPU 2.26 GHz, 128 MB RAM

Screen resolution of at least 800 x 600 required for proper and complete viewing of screens. Higher
resolution would not be a problem.

Software requirements: Any window-based operating system (Windows 95/98/2000/XP/NT)


WordPad or Microsoft Word

Theory: The Unified Modelling Language (UML) is a standard language for specifying, visualizing,
constructing, and documenting the artifacts of software systems, as well as for business modelling
and other non-software systems. The UML represents a collection of best engineering practices that
have proven successful in the modelling of large and complex systems. The UML is a very important
part of developing object oriented software and the software development process. The UML uses
mostly graphical notations to express the design of software projects. Using the UML helps project
teams communicate, explore potential designs, and validate the architectural design of the
software.

A problem statement is a short explanation of a problem a business is facing and a


proposed solution to the problem. Problem statements can be effective ways to define an issue
and communicate a solution within a short span of time. Before you write your problem
statement, think about the problem and your proposed solution. Follow the Steps to write your
problem Statement:

1. Describe the "ideal" state of affairs.

2. Explain what is your problem

3. One of the most important goals of any problem statement is to define the problem
being addressed in a way that's clear and precise. Its aim is focus the process improvement team’s
activities and steer the scope of the project.

4. Ensure that the problems include the customer’s perspective.

5. Ensure that the statement focuses on existing problems.

6. Try to include the time frame over which the problem has been occurring. 7. Review your problem
statement against following criteria:
● It should focus on only one problem.

● It should be one or two sentences long.

● It should not suggest a solution.

Instructions: Not Applicable

Problem Statement:

In the midst of pandemic, one of the most negatively impacted sectors is educational
sector. Learners are facing problem in getting proper education while the trainers are unable to
impart education efficiently. Developing a platform where all the needs, be it library, fees, and
other departments in an institute, of both learners and trainer are catered, will help in striking a
balance in the education system.

Output: NA

Conclusion: Understanding UML equips individuals with the ability to visually model complex
systems, enhancing clarity and communication in software development. By formulating real-life
problem statements, such as addressing challenges in the education sector during a pandemic, we
can develop effective solutions that bridge gaps and create impactful systems for societal benefit.

Sample Viva Questions and Answers:

● Explain software.

Ans- Software is a collection of programs, data, and instructions that enable a computer to perform
specific tasks or solve problems. It acts as a bridge between the user and the hardware, powering
applications, systems, and devices to fulfil various functions.

● List application areas where software is used.

Ans- Software is used in a wide range of application areas, including:

1. Healthcare: Medical diagnostics, patient management, and telemedicine systems.

2. Education: E-learning platforms, virtual classrooms, and administrative systems.

3. Finance: Online banking, trading platforms, and financial management tools.

4. Retail: E-commerce websites, inventory management, and POS systems.

5. Transportation: Navigation systems, fleet management, and ticketing platforms.

● What are the basic requirements to write a good problem statement?

Ans- A good problem statement should clearly define the issue, provide context, and outline the
scope of the problem while avoiding suggested solutions. It should focus on a single problem and
consider the perspective of the customer or end-user.

● Define UML and its use in software engineering

Ans- UML (Unified Modeling Language) is a standardized modeling language used to specify,
visualize, and document the design of software systems. In software engineering, it helps in
modeling the structure, behavior, and interactions of the system, enhancing communication and
understanding across development teams.

Roll Name of Date of Date of Grade Sign of Sign of

No. Student Performance Evaluation Student Faculty


EXPERIMENT NO. 3

Aim / Title: Do requirement analysis and develop Software Requirement Specification Sheet
(SRS) for suggested system.

Problem Statement: Write the Software Requirement Specification document Objectives:


3. To understand the clear vision of the customer

4. To avoid/remove ambiguity and inconsistency in requirements

Outcomes: Student will be able to make a proper SRS based on their projects

Pre-requisite: Basic Knowledge of Software Development Life Cycle

Hardware requirements: Pentium(R) 4 CPU 2.26 GHz, 128 MB RAM


Screen resolution of at least 800 x 600 required for proper and complete viewing of screens. Higher
resolution would not be a problem.

Software requirements: Any window-based operating system (Windows 95/98/2000/XP/NT)


WordPad or Microsoft Word

Theory:

How to write a good SRS for your Project

What is SRS?
A software requirements specification (SRS) is a description of a software system to be developed.
It lays out functional and non-functional requirements, and may include a set of use cases that
describe user interactions that the software must provide.

Quality Characteristics of a good SRS

1. Correctness:
User review is used to ensure the correctness of requirements stated in the SRS. SRS is
said to be correct if it covers all the requirements that are actually expected from the system.
2. Completeness:
Completeness of SRS indicates every sense of completion including the numbering of all
the pages, resolving the to be determined parts to as much extent as possible as well as
covering all the functional and non-functional requirements properly.
3. Consistency:
Requirements in SRS are said to be consistent if there are no conflicts between any set of
requirements.
4. Unambiguousness:
An SRS is said to be unambiguous if all the requirements stated have only 1 interpretation.
1
5. Modifiability:
SRS should be made as modifiable as possible and should be capable of easily accepting
changes to the system to some extent.
6. Verifiability:
An SRS is verifiable if there exists a specific technique to quantifiably measure the extent
to which every requirement is met by the system.
7. Traceability:
One should be able to trace a requirement to a design component and then to a code
segment in the program. Similarly, one should be able to trace a requirement to the
corresponding test cases.
8. Design Independence:
There should be an option to choose from multiple design alternatives for the final
system. More specifically, the SRS should not include any implementation details.
9. Testability:
An SRS should be written in such a way that it is easy to generate test cases and test plans
from the document.
10. Understandable by the customer:
An end user maybe an expert in his/her specific domain but might not be an expert in
computer science. Hence, the use of formal notations and symbols should be avoided to
as much extent as possible. The language should be kept easy and clear.
11. Right level of abstraction:
If the SRS is written for the requirements phase, the details should be explained
explicitly. Whereas, for a feasibility study, fewer details can be used. Hence, the level of
abstraction varies according to the purpose of the SRS.

Instructions: Every point should be clearly mentioned in the SRS Document


Problem Statement:

In the midst of pandemic, one of the most negatively impacted sectors is educational sector.
Learners are facing problem in getting proper education while the trainers are unable to impart
education efficiently. Developing a platform where all the needs, be it library, fees, and other
departments in an institute, of both learners and trainer are catered, will help in striking a balance
in the education system.

2
PROPOSED SOLUTION

• Attendance System

Most of the schools and colleges are adopting the technologically automated attendance
system. It eliminates the time consuming traditional system and helps the teachers to
keep a track of student in the classroom. Also, the inbuilt leave management system
keeps a track record of leaves/absents of students.

• E-notes
Teachers will be able to post any study material or any other resources which will be
helpful for the learner.

All the notes of a particular subject will be stored in a systematic manner to make
searching easier.

This saves time for both the educator and learner

• Fee Department
Students will be able to view their fee status and interact with the department officials in
case of any query. This will help the students tremendously as they don’t have to go to
the institution personally or call any incharge (administrator) to get the updates of their
fee structure. Every information regarding their fees will be accessible to the students
and a query chat box will be made available for their convenience.

• Push Notifications
Students will get important updates and notifications about upcoming events, exam
schedule, courses and syllabus, and an important announcement. Real-time updates will
be sent to all the students.

3
CONCLUSION:-
The proposed educational platform aims to address the challenges faced during the pandemic by
integrating essential features like attendance tracking, e-notes, fee management, and push
notifications. This system enhances efficiency for educators and learners by automating
processes, improving accessibility, and enabling real-time communication. By catering to various
institutional needs, the platform provides a balanced and effective solution to ensure seamless
learning and administration in educational institutions.

Output: NA

Sample Viva Questions and Answers:

1. What Is A Software Requirements Specification?


A Software Requirements Specification (SRS) is a comprehensive document that defines
a system’s functional and non-functional requirements, design constraints, interfaces, and
performance criteria. It serves as a roadmap for developers, testers, and stakeholders
throughout the project lifecycle.

2. How the SRS is useful in Software Engineering ?


The SRS is crucial in software engineering as it provides a clear, detailed blueprint for
development, ensuring all stakeholders share a common understanding of the project
requirements, reducing ambiguities, and aiding in planning, validation, and maintenance.

3. What Is The Requirement Gathering?


Requirement gathering is the process of collecting, analyzing, and documenting
stakeholders' needs and expectations for a software project. It ensures the system meets
user demands and aligns with business goals, forming the foundation for development.

4. What Is The Need For SRS Document?


The SRS document is essential as it defines clear requirements, reduces
misunderstandings, serves as a reference for developers and testers, ensures alignment
among stakeholders, and provides a basis for system validation, cost estimation, and
future maintenance.

4
5. What Are The Features Of Srs?
Key features of an SRS include:
• Clear and Unambiguous: Requirements are precise and easily understood.
• Complete: Covers all functional and non-functional requirements.
• Consistent: Avoids contradictions in requirements.
• Verifiable: Requirements can be tested for correctness.
• Modifiable: Can accommodate changes easily.
• Traceable: Links each requirement to its origin and implementation.

Roll Name of Date of Date of Grade Sign of Sign of


No. Student Performance Evaluation Student Faculty

5
EXPERIMENT NO.4

Aim / Title: To draw a sample ENTITY RELATIONSHIP DIAGRAM for real project or system.

Problem Statement: Draw the ENTITY RELATIONSHIP diagram.

Objectives:
1.To identify entity and attributes for the system

2.To identify the relationships between entities Outcomes: Students will be

able to draw E-R diagram.

Pre-requisite: Basic Knowledge of attributes and entities.

Hardware requirements: Pentium(R) 4 CPU 2.26 GHz, 128 MB RAM


Screen resolution of at least 800 x 600 required for proper and complete viewing of screens. Higher
resolution would not be a problem.

Software requirements: Any window-based operating system (Windows 95/98/2000/XP/NT)


WordPad or Microsoft Word

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.

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

AN ENTITY RELATIONSHIP DIAGRAM METHODOLOGY

Instructions: Use Star UML or Rational Rose Tools to draw UML diagrams.
Problem Statement: Draw the ENTITY RELATIONSHIP diagram.

7
Output:

Conclusion:

Entity-Relationship Diagrams (ERDs) play a critical role in designing structured and efficient
databases. By visually representing entities, attributes, and relationships, ERDs simplify the
understanding of system data requirements and eliminate ambiguities. For the given problem, the
ERD highlights core entities such as Students, Teachers, Courses, Fees, and their attributes. For
example, Student has attributes like StudentID (Primary Key), Name, and Email, while Teacher
includes attributes like TeacherID and Specialization.

The relationships between entities, such as "A Student enrolls in a Course" or "A Teacher teaches
a Course," showcase how entities interact. Cardinalities, such as one-to-many or many-to-many,
provide clarity on these interactions. By capturing these details, the ERD ensures that the
database design minimizes redundancy, maintains data integrity, and supports the system's
functional requirements.

Creating an ERD is a fundamental step in database development as it provides a clear framework


for structuring data. It enables developers and stakeholders to visualize the data flow, ensuring
alignment with system objectives. Tools like Star UML or Rational Rose help create professional
diagrams, fostering effective communication and collaboration. Overall, ERDs provide the
foundation for building robust, scalable, and maintainable database systems.

8
Sample Viva Questions and Answers:

1. What is Entity?
An entity is a real-world object or concept in a system that has distinct, identifiable
characteristics. It represents a thing or object about which data is stored in a database.
Entities can be physical objects like "Employee," "Book," or "Car," or abstract concepts
like "Order," "Payment," or "Course." Each entity has attributes (properties or
characteristics) that define its characteristics, such as an "Employee" having attributes
like "EmployeeID," "Name," and "Department." Entities form the core components of an
Entity-Relationship Diagram (ERD), where they are linked to represent relationships
within a system.
2. What is Attribute?
An attribute is a characteristic or property of an entity in a database. It defines specific
details about the entity, such as "Name," "Age," or "EmployeeID" for an entity like
"Employee." Attributes help describe and store information relevant to each instance of
the entity.

3. What do you mean by E-R diagram?


An Entity-Relationship (E-R) diagram is a visual representation of the relationships
between entities in a database system. It illustrates entities, their attributes, and the
relationships between them. E-R diagrams help in structuring and organizing data,
ensuring a clear database design that supports efficient data storage and retrieval.
4. Draw E-R diagram for employee and company.

9
5. What can be the attributes for a student?
Attributes for the Student entity could include:
• Student_ID (Primary Key)
• Name
• Date_of_Birth
• Email
• Phone_Number
• Enrollment_Date
• Department
• Year_of_Study
• GPA

Roll Name of Date of Date of Grade Sign of Sign of


No. Student Performance Evaluation Student Faculty

10
11
EXPERIMENT NO 5

Aim / Title: Data Flow Diagrams

Problem Statement: Draw data flow diagrams at level 0 and level 1.

Objectives: To get familiarity with the scope and boundaries of a system as a whole. It may be
used as a communication tool between a system analyst and any person who plays a part in the
order that acts as a starting point for redesigning a system

Outcomes: After going through this section, you should be able to: maps out the flow of
information for any process or system.
Pre-requisite: Basic knowledge about Software Design.

Hardware requirements: Intel G645 Dual Core 3.0 GHz


4 GB RAM, 500 GB Hitachi HDD

Software requirements: Any window-based operating system (Windows 95/98/2000/XP/NT),


Star UML or Rational Rose Software.

Theory:

A data-flow diagram (DFD) is a way of representing a flow of a data of a process or a system


(usually an information system). The DFD also provides information about the outputs and inputs
of each entity and the process itself.

Data flow diagrams illustrate how data is processed by a system in terms of inputs and
Data Flow Diagram Notations: You can use two different types of notations on your data flow
diagrams

Process Notations

Process A process transforms incoming data flow into outgoing data flow.

DataStore :Datastores are repositories of data in the system

Dataflow: Dataflows are pipelines through which packets of information flow.

Data Flow:
Instructions: Use Star UML or Rational Rose Tools to draw UML diagrams.

Program: Draw level 0(context diagram), level 1 and level 2 Data Flow diagrams.

Output: DF 0 level (Context Diagram):

Output: DF 1 level:

Output: DF 2 level:

Conclusion: Data Flow Diagrams (DFDs) provide a structured approach to understanding and visualizing
the flow of information within a system. A Level 0 DFD offers a high-level overview, showing the system as
a single process interacting with external entities. Level 1 DFD breaks down this process into major sub-
processes, providing more detail on system functionality. Level 2 DFD delves deeper, illustrating the finer
details of specific sub-processes.

Sample Viva Questions and Answers:

Q1. Write concept of data flow Diagram.


A Data Flow Diagram (DFD) visually represents the flow of data within a system. It shows how data
moves between processes, data stores, and external entities. DFDs help in understanding system
functionality and data interaction.

Q2. What is a Context Diagram?


A Context Diagram is a high-level DFD (Level 0) that shows the system as a single process. It highlights
external entities and their interactions with the system. It provides a simplified overview of the system's
boundaries.

Q3. What are the benefits of creating DFD?


DFDs help in understanding system processes and data flow clearly. They simplify communication
between stakeholders and support better system design. DFDs also help identify redundancies and
inefficiencies in a system.

Q4. What are the roles of DFD as a documentation aid?


DFDs serve as visual documentation to explain system processes and data flows. They provide a
consistent reference for system analysis and design. DFDs help future developers and maintainers
understand the system easily.

Roll Name of Date of Date of Grade Sign of Sign of


No. Student Performance Evaluation Student Faculty
EXPERIMENT NO 6

Aim / Title: Use case diagram.

Problem Statement: Draw Use case diagram of online academic system.

Objectives: To understand the user’s view online academic system.

Outcomes: After going through this section, you should understand the 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.
Pre-requisite: Basic knowledge about Software Design.

Hardware requirements: Intel G645 Dual Core 3.0 GHz


4 GB RAM, 500 GB HDD

Software requirements: Any window-based operating system (Windows 95/98/2000/XP/NT),


Star UML or Rational Rose Software.

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 Diagram Notations:

Use cases
Horizontally shaped ovals that represent the different uses that a user might have.

Actors Stick figures that represent the people actually employing the use cases.
Associations:
A line between actors and use cases. In complex diagrams, it is important to know which actors
are associated with which use cases.

Include relationship:

In UML modeling, an include relationship is a relationship in which one use case (the base use
case) includes the functionality of another use case (the inclusion use case). The include
relationship supports the reuse of functionality in a use-case model.

Extend relationship:
Extend is a directed relationship that specifies how and when the behaviour defined in usually
supplementary (optional) extending use case can be inserted into the behaviour defined in the
extended use case.

Generalization:
In the context of use case modelling the use case generalization refers to the relationship which
can exist between two use cases and which shows that one use case (child) inherits the structure,
behavior, and relationships of another actor (parent).
System boundary boxes
A box that sets a system scope to use cases.

Instructions: Use Star UML or Rational Rose Tools to draw UML diagrams.

Program: Draw a Use Case Diagram.

Output: Use Case Diagram:

Conclusion: Use case diagrams are essential for visualizing the interactions between actors and
the system. They help in capturing functional requirements and provide a clear understanding
of the system's behavior. Use case diagrams aid in designing and documenting the system's use
cases effectively. Overall, they are crucial for system analysis, development, and
communication among stakeholders.

Sample Viva Questions and Answers:

Q1. What is a use case?


A use case describes a specific interaction between a user (actor) and a system to achieve a
goal. It defines the sequence of actions and conditions for successful completion. Use cases
help in understanding functional requirements.

Q2. What is the difference between a use case diagram and a use case?
A use case diagram is a visual representation of actors and their interactions with the system.
A use case is a detailed description of a specific interaction. Diagrams provide an overview,
while use cases offer detailed explanations.

Q3. What is Generalization?


Generalization is a relationship where a child element inherits behavior and attributes from a
parent element. It promotes reusability and hierarchy in system design. For example, in
UML, subclasses generalize a superclass.

Q4. What are the roles of Include and Extend relationships?


Include represents mandatory behavior shared by multiple use cases. Extend adds optional or
conditional behavior to a use case. Both relationships improve modularity and clarity in use
case diagrams.

Roll Name of Date of Date of Grade Sign of Sign of


No. Student Performance Evaluation Student Faculty
EXPERIMENT NO 7

Aim / Title: STATE CHART DIAGRAM

Problem Statement: Prepare STATE CHART DIAGRAM for online academic system.

Objectives: To understand STATE CHART DIAGRAM for online academic system.

Outcomes: state chart diagram shows a state machine, which specifies the sequences of states
that an object can be in, the events and conditions which cause

Pre-requisite: Basic knowledge about Software Design.

Hardware requirements: Intel G645 Dual Core 3.0 GHz


4 GB RAM, 500 GB HDD

Software requirements:Any window-based operating system (Windows 95/98/2000/XP/NT), Star


UML or Rational Rose 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 a transition can or cannot occur.
● Process that occur while an object is in certain state are called actions.

STATE CHART Notations:


State defines current condition of an event or activity. State diagram is often used to describe state
changes triggered by events.
Start state symbol signals the first step of a process.
End state symbol stands for the result of a process.

Transition takes operation from one state to another and represents the response to a particular
event. A single transition comes out of each state or activity, connecting it to the next state or
activity.

Decision were introduced in UML to support conditionals in activities.

Constraint is an extension mechanism that enables you to refine the semantics of a UML model
element.

History refers to the development of object-oriented methods and notation.

Output:
Conclusion:
The State Chart Diagram effectively models the dynamic behavior of an object within the online
academic system. By showcasing various states, transitions, and actions triggered by events, it
offers a clear understanding of how the system behaves under different conditions.
Key benefits include:
Visualizing system behavior: It provides an overview of the states and transitions that occur due
to user interactions or internal processes.
Clarifying event-driven transitions: Guard conditions and decision points ensure that transitions
are explicitly defined and logical.
Highlighting processes: Actions associated with specific states reveal system functionalities during
those phases.
For the online academic system, the State Chart Diagram outlines:
Initial and final states of processes (e.g., login to session end).
Transitions like course registration, viewing materials, or submitting assignments.
Responses to user events such as errors or successful completions.
This diagram is a crucial tool for developers to ensure the system responds correctly to user actions
and internal events.

Sample Viva Questions and Answers:

Q1. What is a STATE CHART DIAGRAM?


Answer:
A State Chart Diagram is a UML diagram used to model the states of an object during its lifecycle
and the transitions that occur due to events or conditions. It shows how an object changes state in
response to external stimuli or internal operations and highlights the events that trigger those
transitions.
Q2. What are the elements utilized in a STATE CHART DIAGRAM?
Answer:
The elements used in a State Chart Diagram include:

1. States: Represent the conditions or situations of an object during its lifecycle.


2. Initial State: Represented by a solid black circle, it signifies the starting point of the lifecycle.
3. Final State: Represented by a black circle with a surrounding ring, it marks the end of the
lifecycle.
4. Transitions: Arrows connecting states, representing the changes triggered by events or
conditions.
5. Events: Occurrences that trigger transitions between states.
6. Actions: Processes that happen during or after a state transition.
7. Guard Conditions: Conditions enclosed in square brackets [ ] that control when a transition
occurs.

Q3. What is a Transition?


Answer:
A Transition in a State Chart Diagram represents the movement of an object from one state to
another in response to an event or a condition. It is depicted as an arrow between states and may
include a triggering event, a guard condition, and an action. For example, a transition might occur
when a "Login" event triggers a change from the "Logged Out" state to the "Logged In" state.

Roll Name of Date of Date of Grade Sign of Sign of


No. Student Performance Evaluation Student Faculty
EXPERIMENT NO 8

Aim / Title: Develop Class diagram.

Problem Statement: Draw Class diagram for online academic system.

Objectives: To show diagrammatically the objects required and the relationships between
them while developing a software product.

Outcomes: The purpose of class diagram is to model the static view of an application. Class
diagrams are the only diagrams which can be directly mapped with object-oriented languages and
thus widely used at the time of construction.

Pre-requisite: Basic knowledge about Software Design.

Hardware requirements: Intel G645 Dual Core 3.0 GHz


4 GB RAM, 500 GB HDD

Software requirements:Any window-based operating system (Windows 95/98/2000/XP/NT),


Star UML or Rational Rose Software.

Theory:

The UML Class diagram is a graphical notation used to construct and visualize object oriented
systems. A class diagram in the Unified Modeling Language (UML) is a type of static structure
diagram that describes the structure of a system by showing the system's:
● classes,
● their attributes,
● operations (or methods),
● and the relationships among objects.

Class Diagram Notations:


A class represent a concept which encapsulates state (attributes) and behaviour (operations). Each
attribute has a type. Each operation has a signature. The class name is the only mandatory
information.

Class
A class represents a relevant concept from the domain, a set of persons, objects, or ideas that are
depicted in the IT system:
Attribute
An attribute of a class represents a characteristic of a class that is of interest for the user of the IT
system:
Generalization

Generalization is a relationship between two classes: a general class and a special class:

Association
An association represents a relationship between two classes:

Multiplicity
A multiplicity allows for statements about the number of objects that are involved in an
association:
Aggregation
An aggregation is a special case of an association (see above) meaning “consists of”:

Output :
Conclusion:

The Class Diagram for the online academic system provides a detailed static view of the system's
architecture. It highlights the core components (classes), their attributes, behaviors (methods), and
the relationships between them.
Key insights from the class diagram include:
1. Understanding structure: The diagram outlines the major classes such as User, Student, Teacher,
Course, Library, etc., each encapsulating relevant attributes and operations.
2. Relationships: Associations, aggregations, and generalizations show the interactions and
hierarchies between classes. For instance, a Teacher is a specialization of User, while a Course
aggregates multiple Materials.
3. Scalability: Multiplicity ensures that the system can handle multiple entities, such as many
Students enrolling in a Course or one Teacher handling several Courses.
The Class Diagram is instrumental in bridging the gap between analysis and design phases by
mapping the system's structure directly to object-oriented programming constructs. It provides a
strong foundation for developers to implement a robust and scalable academic management
system.

Sample Viva Questions and Answers:

Q1. What is a Class Diagram?


Answer:
A Class Diagram is a type of static structure diagram in UML that represents the classes, attributes,
methods, and relationships between objects in a system. It provides a blueprint of the structure of a
system, detailing how different classes interact with each other and the data they manage.

Q2. What is a Static Diagram in UML?


Answer:
A Static Diagram in UML focuses on the structure of a system rather than its dynamic behavior. It
represents the static components of a system, such as classes, objects, attributes, and relationships, at
a particular point in time. Examples of static diagrams include Class Diagrams, Object Diagrams,
and Component Diagrams.

Q3. Difference Between Aggregation vs. Composition.


Answer:

 Aggregation:

 Represents a "whole-part" relationship where the part can exist independently of the whole.
 Denoted by a hollow diamond.
 Example: A "Car" has "Wheels" (wheels can exist without the car).
 Composition:

 Represents a stronger "whole-part" relationship where the part cannot exist without the whole.
 Denoted by a filled diamond.
 Example: A "House" has "Rooms" (rooms cannot exist without the house).

Q4. What are the Essential Elements of a UML Class Diagram?


Answer:
The essential elements of a UML Class Diagram include:

1. Class: Represents a blueprint for objects, with attributes and methods.


2. Attributes: Characteristics or properties of the class.
3. Methods: Functions or operations of the class.
4. Relationships: Connections between classes, such as association, aggregation, composition,
and inheritance.
5. Multiplicity: Indicates how many objects of a class are associated with another class.
6. Visibility: Specifies access modifiers for attributes and methods (e.g., + for public, - for
private).
7. Generalization: Shows inheritance relationships.
8. Associations: Represents a connection between two or more classes.

Roll Name of Date of Date of Grade Sign of Sign of


No. Student Performance Evaluation Student Faculty
EXPERIMENT NO 9

Aim / Title: Develop sequence diagram.

Problem Statement: Draw sequence diagram for online academic system.

Objectives: To understand the interactions between objects that are represented as lifelines in a
sequential order of a project using Sequence Diagram.

Outcomes: A sequence diagram simply depicts interaction between objects in a sequential order
i.e. the order in which these interactions take place. We can also use the terms event diagrams or
event scenarios to refer to a sequence diagram.
Pre-requisite: Basic knowledge about Software Design.

Hardware requirements: Intel G645 Dual Core 3.0 GHz


4 GB RAM, 500 GB HDD

Software requirements:Any window-based operating system (Windows 95/98/2000/XP/NT), Star


UML or Rational Rose Software.

Theory:

Sequence diagrams are a popular dynamic modeling solution in UML because they specifically
focus on lifelines, or the processes and objects that live simultaneously, and the messages
exchanged between them to perform a function before the lifeline ends. Along with our UML
diagramming tool, use this guide to learn everything there is to know about sequence diagrams in
UML.
Sequence Diagram Notations:

Object symbol
Class roles describe the way an object will behave in context. Use the UML object symbol to
illustrate class roles, but don't list object attributes..

Activation or Execution Occurrence


Activation boxes represent the time an object needs to complete a task. When an object is busy
executing a process or waiting for a reply message, use a thin gray rectangle placed vertically on
its lifeline.
Messages
Messages are arrows that represent communication between objects. Use half-arrowed lines to
represent asynchronous messages. Asynchronous messages are sent from an object that will not
wait for a response from the receiver before continuing its tasks. For message types, see below

Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over time
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle. Place the condition for
exiting the loop at the bottom left corner in square brackets [ ].

Output :

Conclusion:
The Sequence Diagram for the online academic system provides a dynamic view of the system by
illustrating the flow of interactions between objects over time.
Key insights from the sequence diagram include:
1. Interactions in order: The diagram shows the sequence of messages exchanged between objects,
such as Student, Teacher, Course, Library, and Admin, highlighting their roles in the system.
2. Lifelines and activations: Lifelines represent the duration of an object's existence during the
interaction, while activation bars show periods when an object is performing a task. For example,
a Student sending a request for course material and receiving a response from the System.
3. Efficient communication: The diagram ensures that critical interactions such as authentication,
resource access, and updates are mapped and verified for smooth implementation.
4. Loops and conditions: Features like repetitive actions (e.g., iterating through available courses
or updating notifications) are depicted, providing clarity for system behavior in various
scenarios.
The Sequence Diagram aids in designing and validating system workflows, ensuring that all
functional interactions are accurately captured before development.

Sample Viva Questions and Answers:

Q1. What is a Sequence Diagram?


Answer:
A Sequence Diagram is a type of UML diagram that models the interaction between objects in a
system over time. It represents objects as lifelines and their interactions as messages exchanged in a
specific sequence to accomplish a function or process.

Q2. What is a Lifeline?


Answer:
A Lifeline in a Sequence Diagram represents the existence of an object or participant during the
interaction process. It is depicted as a vertical dashed line under the object symbol, showing the
duration the object is active and participating in the interaction.

Q3. Difference Between Sequence Diagram and Use Case Diagram.


Answer:
 Sequence Diagram:
Focuses on the sequence of interactions between objects or components over time.
Represents dynamic behavior.
Shows the flow of messages and the timeline of interactions.
 Use Case Diagram:
Focuses on the functionalities or use cases of the system and their relationship with actors.
Represents static behavior.
Illustrates "what" the system does without detailing "how" it is done.

Q4. What Does a Message Mean?


Answer:
In a Sequence Diagram, a message represents communication between objects or lifelines. It shows
the request for an action or a response between participants.
Synchronous Message: The sender waits for a response before proceeding.
Asynchronous Message: The sender continues its process without waiting for a response.
Messages are represented as arrows pointing from the sender to the receiver.

Roll Name of Date of Date of Grade Sign of Sign of


No. Student Performance Evaluation Student Faculty
EXPERIMENT NO 10

Aim / Title: Draw Activity diagram

Problem Statement: Draw Activity diagram for real time problem.

Objectives: To understand Activity diagram.

Outcomes: Student will be able to explain and draw Activity diagrams


Pre-requisite: Basic knowledge about Software Design.

Hardware requirements: Intel G645 Dual Core 3.0 GHz


4 GB RAM, 500 GB HDD

Software requirements: Any window-based operating system (Windows 95/98/2000/XP/NT),


Star UML or Rational Rose Software.

Theory:

Activity diagrams are the perfect UML solution for visualizing process flows.

Activity diagrams describe the workflow behavior of a system.

◻ It illustrate the flow of control from activity to activity.


◻ It focus on operations rather than an objects as in sequence diagram
◻ The diagrams describe the state of activitiesby showing the sequence of activities
performed.
◻ They can show activities that are conditional or parallel

How to Draw an Activity Diagram


• Diagrams are read from top to bottom and have branches and forks to describe
conditions and parallel activities.
◻ A fork is used when multiple activities are occurring at the same time.
◻ A branch describes what activities will take place based on a set of conditions.
◻ All branches at some point are followed by a merge to indicate the end of the
conditional behavior started by that branch.
◻ After the merge all of the parallel activities must be combined by a join before
transitioning into the final activity state.

Output:
Conclusion:
The Activity Diagram provides a clear representation of the workflow behavior for solving a real-
time problem.
Key insights include:
1. Workflow visualization: The activity diagram effectively maps out the sequence of operations
and decision points, allowing a clear understanding of the process flow.
2. Conditional and parallel activities: The use of branches and forks enables modeling of
conditional paths and simultaneous activities, ensuring that complex workflows are accurately
captured.
3. Decision and synchronization points: Merges and joins help to represent the convergence of
conditions or parallel activities, bringing clarity to process termination and synchronization.
4. Focus on processes: Unlike other diagrams (e.g., sequence diagrams), activity diagrams
emphasize actions and workflows rather than interactions between objects.
By illustrating the flow of control, the activity diagram aids in analyzing, designing, and refining
real-time system processes, ensuring better understanding and implementation.

Sample Viva Questions and Answers:

Q1. What is an Activity Diagram?


An Activity Diagram is a UML tool that shows the flow of activities or actions in a system or
process, including control flow and decision points.

Q2. What are the components of an Activity Diagram?


 Initial Node: Start point.
 Activity: Task or action.
 Decision Node: For conditional branching.
 Merge Node: Combines flows.
 Fork/Join Node: Splits/combines parallel flows.
 Final Node: End point.
 Edges: Arrows showing flow.

Q3. Why use Activity Diagrams?


To model workflows and processes.
To show conditional and parallel behaviors.
To represent business processes or use-case scenarios.

Roll Name of Date of Date of Grade Sign of Sign of


No. Student Performance Evaluation Student Faculty

You might also like