Software Engineering Lab Manual (315323)
Software Engineering Lab Manual (315323)
To ensure that the Diploma Level Technical Education constantly matches the latest requirements
of technology industry and includes the all-round personal development of students including
social concerns and to become globally competitive, technology led organization.
Mission
To provide high quality technical and managerial manpower, information and consultancy
services to the industry and community to enable the industry and community to face the changing
technological & environmental challenges.
Quality Policy
We, at MSBTE are committed to offer the best in class academic services to the students and
institutes to enhance the delight of industry and society. This will be achieved through continual
improvement in management practices adopted in the process of curriculum design, development,
implementation, evaluation and monitoring system along with adequate faculty development
programs.
Core Values
MSBTE believes in the following:
SOFTWARE ENGINEERING
(315323)
Semester-V
‘K’ Scheme
Maharashtra State
Board of Technical Education, Mumbai
(Autonomous) (ISO 21001:2018)(ISO/IEC 27001:2013)
Maharashtra State
Board of Technical Education, Mumbai
(Autonomous) (ISO 21001:2018)(ISO/IEC 27001:2013)
4th Floor, Government Polytechnic Building, 49, Kherwadi,
Bandra (East), Mumbai -400051.
(Printed On July, 2025)
Maharashtra State
Board of Technical Education
Certificate
This is to certify that Mr. / Ms ..................................................................... Roll
No. …………., of Fifth Semester of Diploma in………………...…….
…………………………………… of Institute …………………..…......
…………………………. (Institute Code : ………………...) has completed
the term work satisfactorily in course Software Engineering (315323) for the
academic year 20………. to 20 ........................................... as prescribed in the
curriculum.
Seal of
Institution
Software Engineering (315323)
Preface
The primary focus of any engineering laboratory/field work in the technical
education system is to develop the much needed industry relevant competencies and
skills. With this in view, MSBTE embarked on this innovative ‘K’ Scheme curricula for
engineering diploma programs with outcome- based education as the focus and
accordingly, relatively large amount of time is allotted for the practical work. This
displays the great importance of laboratory work making each teacher, instructor and
student to realize that every minute of the laboratory time need to be effectively utilized
to develop these outcomes, rather than doing other mundane activities. Therefore, for the
successful implementation of this outcome-based curriculum, every practical has been
designed to serve as a ‘vehicle’ to develop this industry identified competency in every
student. The practical skills are difficult to develop through ‘Chalk and duster’ activity in
the classroom situation. Accordingly, the ‘K’ scheme laboratory manual development
team designed the practical to focus on the outcomes, rather than the traditional age old
practice of conducting practical to ‘verify the theory’ (which may become a byproduct
along the way).
This laboratory manual is designed to help all stakeholders, especially the
students, teachers and instructors to develop in the student the pre-determined outcomes.
It is expected from each student that at least a day in advance, they have to thoroughly
read through the concerned practical procedure that they will do the next day and
understand the minimum theoretical background associated with the practical. Every
practical in this manual begins by identifying the competency, industry relevant skills,
course outcomes and practical outcomes which serve as a key focal point for doing the
practical. The students will then become aware about the skills they will achieve through
procedure shown there and necessary precautions to be taken, which will help them to
apply in solving real-world problems in their professional life.
This manual also provides guidelines to teachers and instructors to effectively
facilitate student- centered lab activities through each practical exercise by arranging and
managing necessary resources in order that the students follow the procedures and
precautions systematically ensuring the achievement of outcomes in the students.
Learning Software Engineering is essential for students as it equips them with the
skills to design, develop, and maintain reliable and efficient software systems. By
mastering software engineering principles and practices, students can enhance their ability
to solve real-world problems, collaborate in development teams, and deliver high- quality
software solutions that meet user needs. These skills not only expand career opportunities
in areas such as application development, systems design, and quality assurance but also
foster critical thinking, problem-solving, and innovation in the software development
lifecycle.
Although the best possible care has been taken to check for errors (if any) in this
laboratory manual, perfection may elude us as this is the first edition of this manual. Any
errors and suggestions for improvement are solicited and highly welcome.
PO1. Basic and Discipline specific knowledge: Apply knowledge of basic mathematics,
science and engineering fundamentals and engineering specialization to solve the
engineering problems.
PO2. Problem analysis: Identify and analyze well-defined engineering problems using codified
standard methods.
PO3. Design/ development of solutions: Design solutions for well-defined technical problems
and assist with the design of systems components or processes to meet specified needs.
PO4. Engineering Tools, Experimentation, and Testing: Apply modern engineering tools
and appropriate techniques to conduct standard tests and measurements.
PO5. Engineering practices for society, sustainability, and environment: Apply appropriate
technology in the context of society, sustainability, environment, and ethical practices.
PO7. Life-long learning: Ability to analyze individual needs and engage in updating in the
context of technological changes.
Sr. Title of the Practical CO1 CO2 CO3 CO4 CO5 CO6
No.
1 *Write problem statement to define the project
title with bounded scope of the project. √
2 Select relevant process model to define √
activities and related tasks set.
3 *Gather application specific requirements for √
assimilate into RE (Requirement’s
engineering) Model.
4 *Prepare broad SRS (software requirement √
Specification) for the project.
5 *Write use-cases and draw use-case diagram. √
6 Draw the activity diagram to represent flow √
from one activity to another for software
development.
7 *Create DFDs (data flow diagram), Decision √
tables and E-R (entity-relationship) diagram.
8 Draw class diagram and Sequence diagram, √
State Transition Diagram.
9 * Create decision table for a project. √
10 *Write test cases to validate requirements from √
SRS document.
11 Prepare test cases for Black Box Testing. √
12 * Identify risks involved in the project and √
prepare RMMM (RMMM-Risk Management,
Mitigation and Monitoring) plan.
13 * Calculate size of the project using Function √
point metric.
14 *Calculate cost of the project using COCOMO √
(Constructive Cost Model) / COCOMO II
approach.
15 *Create software project scheduling charts √
using CPM (Critical Path Method) / PERT
(Project Evaluation and Review Technique)
16 Track progress of the project using Timeline √
Charts/ Gantt charts.
The aim of this course is to help the student to attain the following industry identified outcomes
through various teaching learning experiences:
Guidelines to Teachers
1. For incidental writing on the day of each practical session every student should maintain a
dated logbook for the whole semester, apart from this laboratory manual, which s/he has to
submit for assessment to the teacher in the next practical session.
2. Teachers should give opportunity to students for hands-on after the demonstration.
3. Assess the skill achievement of the students and COs of each unit.
5. List of few sample questions for reference are given. Teachers must design more such
questions so as to ensure the achievement of identified CO.
6. Teacher should ensure that the practical skill and competencies are developed in the students
after the completion of the practical exercise.
7. Teacher may provide additional knowledge and skills to the students even though it’s not
covered in the manual but are expected from the students by the industries.
8. Teacher may suggest the students to refer additional related literature of the Technical papers/
Reference books/ Seminar proceedings, etc.
9. Teacher shall assess the performance of students continuously as per norms prescribed by
MSBTE.
10. During assessment teacher is expected to ask questions to the students to tap their
Achievements grading related knowledge and skills. So that, student can prepare while
submitting record of the practical focus should be given on development of enlisted skills rather
than theoretical knowledge.
3. Listen carefully to the instructions given by the teacher about importance of relevant program
Outcomes, relevant course outcomes, practical significance, competency and practical skills,
practical outcome and the theoretical background during the practical session.
4. Write the answers of the questions allotted by the teacher during practical session.
5. Student should develop the habit of group discussion related to the practical, so that exchange
of knowledge/skills could take place.
9. Student should be well prepared while submitting the write up of the exercise.
10. Student should not hesitate to ask any difficulty faced during conduct of practical.
Contents Page
List of Practical’s and Progressive Assessment Sheet
Practical No.1: Write problem statement to define the project title with
bounded scope of the project.
I Practical Significance
Defining a problem statement is a foundational step in any software development project. It
helps students to articulate the exact issue they are solving, set clear goals, and establish
boundaries for the system. This practice is essential in software engineering to ensure that
the development process is focused, efficient, and meets user expectations. By writing a well-
structured problem statement, students gain practical skills in requirement gathering, problem
analysis, and scope definition—skills that are highly valued in the industry.
VII Exercises
Follow the procedure given below:
1. Select a meaningful and relevant project title.
2. Study the background of the problem using online resources or user feedback.
3. Identify the issue and explain why it needs a solution.
4. Propose a software solution to address the issue.
5. Clearly define the scope – what the project will include or exclude.
6. Use a software tool (e.g., MS Word, Google Docs, Notion) to create a formatted
document.
7. Review and finalize the problem statement.
Maharashtra State Board of Technical Education. 1 (‘K’ scheme)
Software Engineering (315323)
IX Required Resources
X Precautions to be followed
1. Select a project title that is realistic and achievable within the given scope.
2. Clearly define the problem and scope to avoid ambiguity.
3. Use proper formatting and save your work regularly in the chosen software tool.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Selecting a relevant process model to define activities and related task sets is a key aspect of
software engineering practice. It enables students to understand how different models
influence the planning, execution, and delivery of software projects. This approach helps in
aligning the development process with project goals, user needs, and technical constraints.
By applying the appropriate model, students learn how to manage workflows, allocate
resources effectively, and adapt to changes during development. This experience builds
essential competencies in project structuring, time management, and quality assurance—
skills that are directly applicable and highly valued in the software industry.
Prototyping Model:
A basic version of the software is built first to show users. Their feedback helps improve and
finalize the system. This model is good when the exact requirements are unclear.
Spiral Model:
This model repeats phases like planning, risk analysis, development, and evaluation in
cycles. It is useful for large or risky projects because risks are managed early.
Agile Process Model:
Development happens in short cycles called sprints, with continuous feedback and
improvements. It allows changes at any time and involves close teamwork with users.
VII Exercises
Follow the procedure given below:
1. Learn about Software Process Models
Read and take notes on models like Waterfall, Agile, Spiral, etc.
2. Assess the Needs of Stakeholders
Gather expectations from users or clients. (Google Forms, MS Forms, Word, Excel)
3. Define Activities and Related Tasks
List project phases and break them into smaller tasks. (Excel, Google Sheets, Notion)
4. Set Selection Criteria
Write down important factors like cost, time, and team size. (Word, Google Docs,
Excel Sheets)
5. Choose the Suitable Model
Compare process models and select the one that matches the project needs. (Excel,
Google Sheets, Word, and Google Docs).
Spiral Project involves risks or Useful for secure features like admin access
sensitive data and donation tracking
Agile Needs regular updates and Best choice — supports feedback, flexible
user input improvements, fast delivery
For the Online Book Donation and Request Portal, Agile is the most suitable model due to
its flexibility and user-focused development.
IX Required Resources
X Precautions to be followed
1. Select a project title that is realistic and achievable within the given scope.
2. Clearly define the problem and scope to avoid ambiguity.
3. Use proper formatting and save your work regularly in the chosen software tool.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Gathering application-specific requirements and assimilating them into a Requirements
Engineering (RE) model is a crucial phase in the software development lifecycle. It helps
students to interact with stakeholders, extract relevant information, and interpret business
needs into clear, actionable software requirements. This exercise develops critical thinking,
communication, and analytical skills necessary for defining functional and non-functional
requirements. Integrating these requirements into a structured RE model—using techniques
such as use case diagrams, data flow diagrams, or requirement traceability matrices—ensures
systematic documentation and traceability throughout the project. Practicing this process
allows students to apply industry-standard methods used in real software projects, thereby
enhancing their readiness for professional roles in software engineering and systems analysis.
VII Exercises
Follow the procedure given below:
1. Select a meaningful and relevant software project.
IX Required Resources
X Precautions to be followed
1. Select a project title that is realistic and achievable within the given scope.
2. Clearly define the problem and scope to avoid ambiguity.
3. Use proper formatting and save your work regularly in the chosen software tool.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Preparing a broad Software Requirements Specification (SRS) is a vital step in the software
development lifecycle that consolidates all gathered requirements into a comprehensive and
structured document. It enables students to articulate software functionality, performance
criteria, design constraints, and system interfaces in a clear and formal manner. By organizing
requirements according to IEEE standards or similar frameworks, students learn to
communicate technical details effectively with developers, testers, and stakeholders. The
SRS serves as a foundation for design, development, and validation processes, ensuring that
all parties share a common understanding of project scope and objectives. This process helps
students gain familiarity with documentation practices used in real-world software projects,
improving their ability to plan, negotiate, and manage software systems in professional
environments.
VII Exercises
Follow the procedure given below:
1. Select a meaningful and relevant software project.
IX Required Resources
X Precautions to be followed
1. Select a project title that is realistic and achievable within the given scope.
2. Clearly define the problem and scope to avoid ambiguity.
3. Use proper formatting and save your work regularly in the chosen software tool.
XI Conclusion
…………………………………………………………………………………………...
Maharashtra State Board of Technical Education. 16 (‘K’ scheme)
Software Engineering (315323)
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Use-cases and use-case diagrams are key tools in the software development lifecycle for
capturing system functionality from the perspective of those who interact with the system.
This process helps students identify the different participants and the ways they engage with
the system, outlining scenarios that describe how the system responds under various
conditions. Developing detailed use-case descriptions along with use-case diagrams
strengthens students’ ability to analyze and model requirements clearly and effectively. This
approach encourages critical thinking and improves communication with stakeholders by
providing a visual, user-focused representation of system behavior. Mastering use-case
modeling equips students with industry-relevant skills that support collaboration among
analysts, designers, and developers throughout the project.
VII Exercises
Follow the procedure given below:
1. Select a meaningful and relevant software project.
2. Identify system interactions and main functions.
IX Required Resources
X Precautions to be followed
1. Follow standard UML conventions in diagrams.
2. Use proper tools to draft and save diagrams.
3. Review diagrams with peers or mentors for accuracy.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
Process Product
Total (25)
Related (15) Related (10)
Practical No.6: Draw the activity diagram to represent flow from one
activity to another for software development.
I Practical Significance
Activity diagrams are useful tools in software development for showing the flow of actions
and decisions within a system. They help students visualize how processes move from one
step to another, including choices and parallel paths. This improves understanding of system
logic and workflow. Creating these diagrams develops analytical and planning skills. It also
enhances communication with stakeholders by clearly presenting process flows.
Fork Symbol: Splits a single activity flow into two concurrent activities.
Note Symbol: Adds messages or comments that don’t fit within the diagram.
VII Exercises
Draw an activity diagram for an Online Food Delivery System showing activities like
browsing menus, placing orders, making payments, order preparation, and delivery. Include
decision points for order confirmation and payment success.
VIII Procedure:
Steps to Draw an Activity Diagram for Software
Development
1. List Activities – Identify key phases (e.g.,
Requirements, Design, Coding, Testing).
2. Start Node – Use a solid circle to show the starting
point.
3. Add Actions – Draw each phase as a rounded
rectangle.
4. Connect with Arrows – Use arrows to show the
flow between actions.
5. Use Decision Nodes – Add diamonds for choices
(e.g., test pass/fail).
6. Fork/Join if needed – Show parallel activities
using bars.
7. End Node – Use a circle with a dot to mark the
end.
8. Label Clearly – Name each activity and decision.
9. Add Swim lanes – Optional: divide by roles (e.g.,
Developer, Tester).
10. Review – Check for accuracy and logical flow. Fig 7.1 Sample Activity diagram
IX Required Resources
X Precautions to be followed
1. Follow standard UML conventions in diagrams.
2. Use proper tools to draft and save diagrams.
3. Review diagrams with peers or mentors for accuracy.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
Maharashtra State Board of Technical Education. 25 (‘K’ scheme)
Software Engineering (315323)
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
Process Product
Total (25)
Related (15) Related (10)
Practical No.7: Create DFDs (data flow diagram), Decision tables and
E-R (entity-relationship) diagram.
I Practical Significance
DFDs, Decision Tables, and E-R Diagrams help visualize data flow, decision logic, and
relationships in a system. These tools improve students’ ability to analyze and design
software clearly. Using them supports better planning and problem-solving skills. Clear
visual representations simplify communication of complex system details to stakeholders.
VII Exercises
Design an Online Book Donation System where users can search for books available for
donation, donate books by providing details, request donated books, and receive
confirmation of donation or request. The system manages donor and recipient information,
checks book availability, and confirms transactions. Create Data Flow Diagrams (DFDs) to
represent the flow of data in the system.
VIII Procedure:
1. Choose a project like an Online Book Donation System.
2. Identify main data flows such as book donation, request, and approval.
3. List decision points, for example, eligibility to donate or approve requests.
4. Determine key entities like donors, books, and administrators.
5. Create a context-level DFD showing overall data movement.
6. Develop detailed DFDs for donation and request processes.
7. Construct decision tables for approval criteria.
8. Draw an E-R diagram illustrating relationships between donors, books, and requests.
9. Use tools like [Link] and review diagrams for clarity and correctness.
IX Required Resources
X Precautions to be followed
1. Follow standard UML conventions in diagrams.
2. Use proper tools to draft and save diagrams.
3. Review diagrams with peers or mentors for accuracy.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
3. Create detailed DFDs, decision tables, and E-R diagrams for an Online Shopping
System to show data flow, decision points, and entity relationships.
4. Develop DFDs and decision tables illustrating the order processing and payment
approval steps, and draw an E-R diagram for customers, products, and orders.
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Class, sequence, and state transition diagrams visualize system structure and behavior,
improving design clarity and planning. These diagrams enhance communication with
stakeholders.
Boundary
Message (Call) Message A call from one object to
another.
Return Message Return message A return value or response from
a method.
Asynchronous Asynchronous Message Message sent without waiting
Message for response.
Execution A thin rectangle showing when
Occurrence an object performs an action.
Destroy Message Indicates termination of an
object.
UML State Diagram Notations
Element Symbol /Notation Description
State Description of a specific time
span in an object's lifecycle.
VII Exercises
Design a Railway Reservation System where users can search for trains, book tickets, and
receive booking confirmation. The system checks seat availability, processes user
information, and confirms bookings after successful payment.
VIII Procedure:
1. Identify the main entities/objects involved (e.g., Passenger, Ticket, Train).
2. Determine the attributes, states, or interactions relevant to each entity.
3. Define relationships, messages, or state transitions based on system behavior.
4. Choose the diagram type and represent the elements accordingly (classes, lifelines,
states).
5. Add details like methods, messages, or events to clarify functionality.
6. Review the diagram to ensure it accurately models the Railway Reservation System.
IX Required Resources
X Precautions to be followed
1. Follow standard UML conventions in diagrams.
2. Use proper tools to draft and save diagrams.
3. Review diagrams with peers or mentors for accuracy.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Decision tables are powerful tools used to represent complex business logic or conditions in
a structured and visual format. They help in analyzing various combinations of inputs
(conditions) and their corresponding system actions (outputs). This practical introduces
students to modeling decision rules logically and systematically, improving decision-
making, system design, and validation. By developing a decision table for their selected
project, students gain insight into how software handles multiple conditions and are better
equipped to analyze and implement conditional logic accurately.
VII Exercises
Follow the procedure given below:
1. Select a meaningful and relevant software project.
2. Identify the key decision points or conditional logic within the system.
3. List all possible conditions and actions.
4. Create a decision table to represent condition combinations and their corresponding
actions.
5. Use a documentation or table tool to create a well-formatted decision table.
6. Review and refine the table to ensure completeness and correctness
IX Required Resources
X Precautions to be followed
1. Follow standard UML conventions in diagrams.
2. Use proper tools to draft and save diagrams.
3. Review diagrams with peers or mentors for accuracy.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Writing test cases based on the Software Requirements Specification (SRS) is a critical
activity in software development that ensures the system meets user expectations. This
practice helps students understand how to interpret and validate requirements through
concrete test scenarios. It improves attention to detail, logical thinking, and a structured
approach to identifying input conditions, expected outputs, and edge cases. Developing test
cases also strengthens the connection between documentation and implementation,
enhancing skills in quality assurance and ensuring reliable software performance.
VII Exercises
Write test cases for key functionalities of an Online Library Management System, such as
user login, book search, borrowing and returning books, and viewing borrowed history. Each
test case should include the scenario, input, expected output, and the related requirement ID.
VIII Procedure:
1. Select a system like Online Library Management System.
2. Identify key features: login, search, borrow, return, view history.
3. Assign a unique requirement ID to each feature.
4. Write test cases for each feature.
5. Include scenario, input, expected output, and requirement ID.
6. Use a table to organize all test cases clearly.
7. Review and improve test cases for accuracy.
IX Required Resources
X Precautions to be followed
1. Define clear, complete, and testable requirements for each functionality.
2. Use a consistent test case format and validate with stakeholders.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
Maharashtra State Board of Technical Education. 42 (‘K’ scheme)
Software Engineering (315323)
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Black Box Testing is a critical software testing technique used to validate the functionality of
an application without looking into its internal structures or workings. Preparing test cases for
Black Box Testing helps identify errors in functionality, user interface issues, input validation
problems, and incorrect or missing features. This practical enables learners to design effective
test cases that simulate real-world user inputs and evaluate system behavior, ensuring software
quality and robustness. It also helps in developing analytical skills needed to anticipate how
end-users might interact with the system.
VII Exercises
Follow the procedure given below to write the test cases of login form of
“[Link]
1. Read Requirements – Understand the system’s functional specifications.
2. Identify Inputs/Outputs – List valid inputs, expected outputs, and error conditions.
3. Select Technique – Choose a Black Box Testing method (e.g., Equivalence
Partitioning, Boundary Value Analysis).
4. Write Test Cases – Create test cases with input, expected output, and pass/fail status.
Maharashtra State Board of Technical Education 44 (‘K’ scheme)
Software Engineering (315323)
5. Execute Test Cases – Run the software using test case inputs.
6. Record Results – Compare actual vs. expected output and document the result.
VIII Example
Suppose you are testing a login system that accepts a username and password. The valid
username is "admin" and the valid password is "1234".
Using Equivalence Partitioning:
IX Required Resources
X Precautions to be followed
1.
2.
3. Record expected and actual outputs accurately – Clearly document test results to
ensure reliable pass/fail.
XI Conclusion
…………………………………………………………………………………………...
…………………………………………………………………………………………...
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….…
Maharashtra State Board of Technical Education 46 (‘K’ scheme)
Software Engineering (315323)
…………………………………..…………………………………………………….
……………………………………………..…………………………………………….
……………………………………………..…………………………………………….
…………………………………………………………………………………………...
……………………………………..…………………………………………………….
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Risk management is a vital aspect of successful project execution, especially in software
and engineering domains. Projects often face uncertainties such as technical challenges,
unrealistic timelines, changing requirements, or resource limitations. Identifying these risks
in advance and preparing a comprehensive RMMM (Risk Management, Mitigation, and
Monitoring) plan helps project teams minimize potential disruptions. This practical is
significant as it trains students to think proactively, evaluate possible threats, and build
strategies to tackle them efficiently. It enables learners to systematically list risks, assess
their potential impact and probability, and outline steps to avoid or control them. By
developing an RMMM plan, students gain real-world insight into effective project planning
and execution, improving the likelihood of completing projects successfully—on time,
within scope, and budget.
II Industry/ Employer Expected Outcome
1. To apply project management techniques in software projects.
2. Understand ethical and legal aspects of software engineering.
3. Communicate technical concepts clearly and professionally.
VIII Procedure with Example for scenario to Identified Risks and RMMM Plan for Online
Food Delivery Application Development:
1. Select a Project: Choose a sample project (e.g., online food delivery app, library
management system, or e-commerce website).
2. Understand Project Scope: Clearly define the objectives, timeline, and key
components of the selected project.
3. Identify Risks: List all possible risks that could affect the project. These may include
delays, technical failures, resource shortages, or changes in client requirements.
4. Classify Risks: Categorize each risk (e.g., technical, project, business, operational).
5. Estimate Probability and Impact: For each identified risk, estimate the probability
(likelihood of occurring) and impact (severity of the effect on the project).
6. Calculate Risk Exposure: Multiply probability by impact to get the risk exposure.
This helps prioritize risks.
7. Plan Mitigation Strategies: For each high or medium-exposure risk, plan how to reduce
or avoid it.
8. Prepare Monitoring Plan: Define how and how often each risk will be tracked during
the project (e.g., weekly meetings, status reports).
9. Document the RMMM Plan: Create a table or report listing all risks along with their
mitigation and monitoring strategies.
10. Review and Submit: Review the plan with the instructor or team, then submit the
completed exercise.
Risk
Risk Risk Probabil Impact Mitigation
Category Exposure Monitoring Plan
ID Description ity (P) (I) Strategy
(P × I)
Assign additional
Delay in Weekly progress
Project developers; use
R1 backend High High High reviews with the
Risk agile sprints to
development team
monitor progress
API Test payment
Log errors;
integration APIs in early
Technical Medium- maintain test
R2 issues with Medium High stages; consult
Risk High results and bug
payment documentation
reports
gateway thoroughly
Perform
App crashes Regular QA
extensive testing
on certain Technical testing and crash
R3 Medium Medium Medium on multiple
Android Risk monitoring using
devices and OS
versions Firebase
versions
Key team Track team status;
Document all
member Operation- Medium- regular
R4 Medium High work; maintain
leaves the al Risk High communication
backup resources
project with HR
Changes in Freeze
client Project/ requirements Conduct review
Medium-
R5 requirements Business High Medium after approval; meetings with
High
during Risk use change client regularly
development request forms
X Precautions to be followed
1. Identify only realistic and relevant risks based on the selected project.
2. Use a consistent scale for evaluating risk probability and impact.
3. Prepare an original RMMM plan without copying from other sources.
XI Conclusion
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
This practical is important because it helps us estimate the size of a software project using a
method called the Function Point (FP) metric. By knowing the size, we can better plan how
much time, cost, and effort will be needed to complete the project. It also helps in deciding
the number of people required and setting realistic deadlines. This technique is very useful
for project managers to manage software development smoothly and avoid delays or budget
issues. It gives a clear idea of what the system will do and how complex it is.
FP = 66 × 0.95 = 62.7 ≈ 63 FP
IX Required Resources
X Precautions to be Followed
1. Clearly identify all system components (EIs, EOs, EQs, ILFs, EIFs) to avoid incorrect
function counting.
2. Assign the correct complexity level (Low, Average, High) based on actual system
details, not assumptions.
3. Ensure accurate input for general system characteristics to calculate the correct Value
Adjustment Factor (VAF).
XI Conclusion
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Estimating the cost, time, and effort needed for a software project is important for good
planning and management. COCOMO and COCOMO II are popular models that help
software engineers and project managers decide how many resources are needed and how
to manage the budget. These models make it easier to check if a project is possible, set
proper deadlines, and avoid spending too much. This practical helps students learn how to
use these models in real situations and manage software projects more effectively.
Where 'a' and 'b' depend on the type of project. COCOMO II is an updated version that
introduces additional factors such as reuse, platform complexity, and personnel capability,
and allows for cost estimation during different phases of the development lifecycle. The
general formula in COCOMO II is
𝑛
where 'A' is a constant, 'Size' refers to the software size, 'E' is an exponent derived from
scale factors, and EMi are effort multipliers based on various cost drivers. Understanding
these models is crucial for applying structured and data-driven approaches to software
project estimation.
VIII Procedure with Example: to calculate the estimated effort for a software project using the
COCOMO II (Post-Architecture) model.
Given:
Size of the project = 50 KLOC, A (constant) = 2.94, E (exponent) = 1.05, ∏EMi (product
of effort multipliers) = 1.2
Step-by-Step Procedure:
1. Write the COCOMO II Effort Formula:
IX Required Resources
Sr. Name of Major Specification Qty. Remarks
No. Resource
1. Computer System Any desktop or laptop One computer
computer with CPU> system for
i3 and RAM 4GB each student
onwards
2. Software Package MS Word, Google
Docs, Notion
3. Software [Link], Decision
Design Tools Table Maker, Tiny
tools
X Precautions to be followed
1. Use accurate KLOC values for correct cost estimation.
2. Select the appropriate COCOMO/COCOMO II model and parameters.
3. Enter realistic values for effort multipliers and scale factors.
XI Conclusion
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Creating software project scheduling charts using CPM (Critical Path Method) and PERT
(Project Evaluation and Review Technique) is very useful in managing software
development projects. These methods help in planning tasks, showing task dependencies,
and finding the critical path—which is the longest chain of important tasks that decides the
total project time. With these charts, we can estimate the project duration, especially when
some tasks have uncertain timings (using PERT). They also help in managing resources,
avoiding delays, and tracking progress during the project. By using CPM/PERT charts, we
can complete projects on time and work more efficiently.
Where O is the Optimistic time, M is the most likely time, and P is the Pessimistic time.
These concepts are enough to start making scheduling charts using CPM and PERT.
VII Exercises
A software project has the following activities with their estimated durations (in Days) and
dependencies:
IX Required Resources
Sr. Name of Major Specification Qty. Remarks
No. Resource
1. Computer System Any desktop or laptop One computer
computer with CPU> system for each
i3 and RAM 4GB student
onwards
2. Software Package MS Word, Google
Docs, Notion
3. Open Project, Gantt
project 3.3
X Precautions to be followed
1. Use accurate time estimates to ensure correct project duration.
2. Verify all activity dependencies before drawing the network diagram.
3. Double-check calculations for ES, EF, LS, LF, and slack to avoid errors.
Maharashtra State Board of Technical Education 63 (‘K’ scheme)
Software Engineering (315323)
XI Conclusion
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
XIII References / Suggestions for further Reading Software/Learning Websites
1. [Link]
2. [Link]
3. [Link]
4. [Link]
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Tracking the progress of a project is important to make sure everything is going according
to the plan. Gantt charts and timeline charts help in showing the progress of different tasks
in a visual way. These charts make it easy to see which tasks are completed, which are in
progress, and which are yet to start. This helps team members and project managers stay
organized and meet deadlines. Using these charts, we can also easily identify delays and take
quick action to get the project back on track. Overall, it helps in better planning, time
management, and coordination among team members.
VII Exercises
Create a Gantt chart to plan and track the progress of a mini software project using any
charting tool (e.g., Excel, Google Sheets, or project management software like Trello or
Microsoft Project).
3. Assign Dates:
Set start and end dates for each task.
E.g., Requirements: June 1–3, Design: June 4–6, etc.
4. Create Gantt chart:
Use Excel or Google Sheets to draw bars showing task durations along a timeline.
5. Update Progress:
Mark tasks as Not Started, In Progress, or Completed using colors.
6. Review & Summarize:
Check if tasks are on schedule and write a brief status update.
IX Required Resources
X Precautions to be followed
1. Ensure all task durations and deadlines are realistic and clearly defined.
2. Regularly update the chart to reflect actual progress and changes.
3. Avoid overlapping tasks without checking for resource availability or dependencies.
XI Conclusion
………………………………………………………………………………………………
………………………………………………………………………………………………
Maharashtra State Board of Technical Education 67 (‘K’ scheme)
Software Engineering (315323)
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
……………………………………………………………………………………………….
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Preparing a Software Quality Assurance (SQA) plan is very important in any software
development project. This plan helps ensure that the final software product is reliable, works
correctly, and meets user expectations. By preparing an SQA plan, we can define how to
check the quality of the software at each step of the process, from planning to delivery. It
helps identify possible problems early, saves time and cost, and improves the overall quality
of the product. This practice also builds customer trust, reduces chances of failure, and
improves teamwork by setting clear quality goals.
VII Exercises
Prepare an SQA plan for an Online Examination System, highlighting quality attributes such
as security, reliability, and usability.
Section Details
Objective Ensure quality standards are followed in LMS development.
Quality Attributes Reliability, Usability, Maintainability
Standards Used Java coding standards, inline documentation practices
SQA Activities Unit testing, peer reviews, weekly QA meetings
Developer: Write and fix code.
Roles
QA Team: Testing and bug tracking
Tools Git (Version Control), JUnit (Testing), Google Docs (Reports)
Defect Process Bug logged → Assigned → Fixed → Verified → Closed
Approval Reviewed and signed by QA Lead and Project Manager
IX Required Resources
X Precautions to be followed
1. Ensure all roles and responsibilities are clearly defined.
2. Follow standard coding and documentation guidelines.
3. Regularly review and update the plan as the project progresses.
XI Conclusion
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Process Product
Total (25)
Related (15) Related (10)
I Practical Significance
Creating a Software Quality Assurance (SQA) plan is very important in software
development. It helps ensure that the final product is reliable, easy to use, and meets user
expectations. The SQA plan lists the steps and checks needed to maintain the quality of the
software throughout the project. This includes testing, code reviews, standards to follow,
and ways to fix issues early. By preparing a good SQA plan, we can reduce bugs, save time
and cost, and deliver a better product that performs well in the real world..
VII Exercises
Prepare an SQA plan for a simple software project that ensures quality attributes like
reliability, usability, and maintainability.
VIII Procedure:
1. Understand the project:
Choose a simple software project, such as a "Student Attendance Management
System."
2. Identify quality attributes:
List key quality attributes you want to ensure, e.g., reliability (system works
Maharashtra State Board of Technical Education 74 (‘K’ scheme)
Software Engineering (315323)
correctly), usability (easy to use), maintainability (easy to update).
3. Define SQA activities:
Decide on activities like code reviews, testing types (unit, integration, system),
documentation, and standards to follow.
4. Assign roles and responsibilities:
Specify who will perform each SQA activity (tester, developer, reviewer).
5. Schedule and tools:
Plan when each activity will happen and mention tools to use (e.g., test management
software).
6. Write the plan:
Prepare a simple document outlining all above points.
E.g. Simple SQA Plan Handout for Project: Student Attendance Management System
Category Details
Project Student Attendance Management System
Quality Attributes Reliability, Usability, Maintainability
- Code reviews before merging
- Unit testing for each module
SQA Activities
- Usability testing with sample users
- Document coding standards
- Developer: Write code and tests
Roles - Tester: Execute tests and report bugs
- Lead: Review code and approve releases
- Code reviews weekly
Schedule
- Testing at end of each sprint
- Git for version control
Tools
- JIRA for bug tracking
IX Required Resources
X Precautions to be followed
1. Always keep backups of all project files and documents.
2. Follow coding standards strictly to avoid errors.
3. Test code thoroughly before merging into the main branch..
XI Conclusion
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Process Product
Total (25)
Related (15) Related (10)
Data flow diagrams help in system development by illustrating how data moves through a system and how it interacts with various components. In the context of an Online Shopping System, DFDs can be used to show the processes involved in order processing, payment approval, decision points, and entity relationships such as customers, products, and orders. They serve as a visual tool to understand and design system architecture .
Effective communication and standardization in diagram drawing significantly impact the accuracy of software models by ensuring consistency and clarity across the development team. Using standard UML conventions when creating diagrams like class, sequence, and state transition diagrams helps avoid misunderstandings, allowing all stakeholders to have a mutual understanding of the system architecture and functionality. This leads to more precise and efficient system design and implementation .
The primary focus of Requirements Engineering for the Online Book Donation and Request Portal is to collect, analyze, and document specific functional and non-functional requirements from potential users, donors, and administrators. This ensures the development process is aligned with user expectations. Tools used to document these requirements include use case diagrams and data flow diagrams .
A Software Quality Assurance (SQA) plan is critical in software development as it ensures the final product meets specified quality standards. Its significance lies in providing a structured approach to validate software at each development stage, reducing bugs, ensuring conformance to user expectations, and saving time and cost. An effective SQA plan includes activities like testing, audits, code reviews, and adherence to standards, leading to reliable, maintainable, and user-friendly software .
Gantt charts are visual project management tools that represent the timeline of a project. They illustrate task dependencies, start and end dates, and progress, allowing project managers to track deadlines, align team efforts, and effectively allocate resources. In software projects, Gantt charts help in monitoring tasks and ensuring timely project completion .
Class diagrams in software design serve to illustrate the static structure of a system by depicting classes, their attributes, methods, and the relationships between them. They are instrumental in defining the system architecture as they provide a blueprint for building the system, highlighting the interactions and dependencies between different system components. This enhances understanding of system functionality and guides developers in creating a modular and maintainable design .
Preventive quality assurance activities focus on avoiding issues in the software development process by setting standards, conducting risk assessments, and implementing process improvements before errors occur. Examples include code inspections and design reviews. Corrective quality assurance activities, on the other hand, address issues after they occur, focusing on fixing defects and non-conformances, such as performing bug fixes and re-testing affected functionalities. Both are essential for maintaining software quality .
Decision tables represent complex business logic by organizing various combinations of inputs (conditions) and their corresponding outputs (actions) into a tabular form. For an Online Booking System, decision tables can be used to systematically evaluate decision points such as eligibility rules for booking or refund policies, helping in clearly defining system behavior under different scenarios .
A timeline chart provides a simple sequential representation of key events or milestones in a project without detailing task durations or dependencies. In contrast, a Gantt chart offers a more detailed view, showing task durations, dependencies, and progress over time, allowing for the management and scheduling of tasks within a project. This makes Gantt charts more suitable for complex project management .
Gathering application-specific requirements is crucial because it establishes a clear understanding of the user's needs and expectations, which guides the development process in creating a system that meets these needs. These requirements are integrated into a Requirements Engineering model by categorizing them into functional and non-functional aspects and using tools like use case diagrams to model user interactions, ensuring a structured approach to system design that aligns with user goals .