Skill Development Lab
Skill Development Lab
CONTENTS
1
EXPERIMENT NO 1
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.
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.
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:
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
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.
Screen resolution of at least 800 x 600 required for proper and complete viewing of screens. Higher
resolution would not be a problem.
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.
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.
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.
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.
● 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.
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.
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.
Aim / Title: Do requirement analysis and develop Software Requirement Specification Sheet
(SRS) for suggested system.
Outcomes: Student will be able to make a proper SRS based on their projects
Theory:
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.
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.
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.
• 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
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.
5
EXPERIMENT NO.4
Aim / Title: To draw a sample ENTITY RELATIONSHIP DIAGRAM for real project or system.
Objectives:
1.To identify entity and attributes for the system
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.
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.
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.
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
10
11
EXPERIMENT NO 5
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.
Theory:
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.
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 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.
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.
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 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.
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.
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.
Problem Statement: Prepare 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
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.
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.
Constraint is an extension mechanism that enables you to refine the semantics of a UML model
element.
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.
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.
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
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.
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).
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.
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..
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.
Theory:
Activity diagrams are the perfect UML solution for visualizing process flows.
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.