21CS61 Set2
21CS61 Set2
US
N
Sixth Semester B.E. Degree Examination Software
Engineering & Project Management
Note: Answer any FIVE full questions, choosing at least ONE question from each
MODULE. THESE ANSWERS FROM TEXTBOOK
Bloom ’s COs
Module -1 Taxonomy Marks
DOWNLOAD Level
Conclusion
Page 01 of 02
07082024
21CS61
Software engineering is a structured approach that guides
the development, operation, and maintenance of software
through defined processes, activities, and tasks, involving
a combination of technology, methodologies, and human
expertise.
Waterfall Model:
- The waterfall model is the oldest paradigm for software
engineering, suggesting a systematic, sequential approach
to software development.
- It follows a linear progression from customer
requirements specification through planning, modeling,
construction, deployment, and ongoing support of the
completed software.
- It can cause issues due to the sequential flow not
aligning with real project progress, difficulty in explicitly
stating all requirements upfront, and the lengthy time
span until a working program is available.
- Projects rarely follow the strict sequential flow
proposed by the model, making it challenging to
accommodate changes and uncertainties.
- The waterfall model is more suitable for situations
where requirements are fixed and work can proceed
linearly, such as in well-defined adaptations or
Page 01 of 02
07082024
21CS61
enhancements to existing systems.
Spiral Model:
- The spiral model is an evolutionary software process
model combining the iterative nature of prototyping with
the controlled aspects of the waterfall model.
- Proposed by Barry Boehm, the spiral model features
incremental releases, with early iterations possibly being
models or prototypes.
- The model involves multiple iterations around a spiral
path, each focusing on specific activities like developing
product specifications, prototypes, and progressively
advanced software versions.
- It is a realistic approach for developing large-scale
systems and software, enabling risk reduction and
continuous adaptation to evolving requirements.
- The spiral model allows for the application of
prototyping at any stage of the product evolution and
demands a direct consideration of technical risks
throughout the project.
Real-Time Example:
- In a real-time scenario, the waterfall model is suitable
when project requirements are fixed, and work can
progress linearly from start to finish without significant
changes.
- On the other hand, the spiral model is more appropriate
for fast-paced software work with a continuous stream of
changes, enabling risk reduction and flexibility through
iterative development cycles.
OR
Q.02 a Discuss the David Hooker’s seven principles of software L2 CO1 10
engineering
Practice
Overview
David Hooker proposed seven principles focusing on
software engineering practice as a whole. These principles
aim to guide software engineers in their work. Let's delve
into each of these principles:
Principles
1. The Reason It All Exists
- A software system exists to provide value to its users.
Page 01 of 02
07082024
21CS61
- All decisions should prioritize adding real value to the
system.
4. Think!
- Placing clear, complete thought before action leads to
better results.
- Clear thought enhances the system's value and the
application of the other six principles.
Importance of Principles
- Following these principles can eliminate difficulties in
building complex computer-based systems.
- A commonsense approach to software engineering,
guided by these principles, establishes a solid foundation
for practice.
Conclusion
David Hooker's seven principles provide a comprehensive
framework for effective software engineering practice,
emphasizing the importance of value, simplicity, planning
for reuse, and thoughtful action.
Page 01 of 02
07082024
21CS61
b Describe the five activities that a generic process L2 CO1 10
framework for software engineering encompasses.
Software Engineering
2. Planning:
- Develops a software project plan outlining technical
tasks, risks, resources, work products, and schedule.
3. Modeling:
- Utilizes models to understand software requirements
and design solutions.
4. Construction:
- Involves code generation and testing to identify errors
in the code.
5. Deployment:
- Delivers the software to the customer for evaluation
and feedback.
Page 01 of 02
07082024
21CS61
Additional Umbrella Activities:
- Project tracking and control, risk management, quality
assurance, configuration management, technical reviews,
among others, are applied throughout the process to
support the framework activities.
Page 01 of 02
07082024
21CS61
Module-2
DOWNLOAD
Q. 03 a Explain the different tasks which Requirements L2 CO2 10
Engineering encompasses.
Overview
Requirements engineering encompasses various tasks
essential for establishing a solid foundation for design and
construction. It involves seven distinct functions carried
out by software team members: inception, elicitation,
elaboration, negotiation, specification, validation, and
management.
Tasks
1 . Inception : Stakeholders define basic problem
requirements, project constraints, and major system
features.
2 . Elicitation : Gathering requirements using
facilitated meetings , QFD , and developing
usage scenarios.
3 . Elaboration : Expanding requirements in a model
with scenario-based, class-based, behavioral, and flow-
oriented elements.
4. Negotiation : Prioritizing, assessing availability, and
relative cost of each requirement for a realistic project
plan.
5. Specification : Defining requirements in detail to
create a clear understanding of stakeholder needs.
6. Validation : Ensuring that each requirement and the
requirements model align with customer needs.
7 . Management : Handling and overseeing
requirements throughout the project lifecycle.
Additional Details
- The requirements model is continuously refined and
expanded during the requirements engineering process.
- Analysis patterns are used to simplify the requirements
model and provide solutions for recurring analysis
problems.
- Requirements engineering tasks are crucial for ensuring
that the system meets stakeholder needs and forms a
strong basis for design.
b L2 CO2 10
Develop a UML use case diagram for home security
function.
Page 01 of 02
07082024
21CS61
Overview
A UML use case diagram for a home security function
was developed during a meeting where various
stakeholders discussed system requirements and
functionalities. The diagram includes actors like the
homeowner, system administrator, and sensors, along with
use cases such as arming/disarming the system,
responding to alarm events, accessing the system via the
internet, encountering error conditions, and reconfiguring
sensors and related system features.
Key Points
1. Actors :
- Homeowner
- System administrator
- Sensors
2. Use Cases :
- Arms/disarms system
- Responds to alarm event
- Accesses system via Internet
- Encounters an error condition
- Reconfigures sensors and related system features
3. Representation :
- Home security function represented by a big box with
ovals inside, representing use cases.
- Stick figures represent actors interacting with the
system.
- Use of labeled squares for actors that are not people,
like sensors.
Page 01 of 02
07082024
21CS61
4. Use Case Narratives :
- Use case narratives were discussed for each oval on the
diagram.
- Detailed template-based narratives could be developed
later for further clarity.
Diagram Elements
- Actors: Homeowner, System administrator, Sensors
- Use Cases: Arms/disarms system, Responds to alarm
event, Accesses system via Internet, Encounters an error
condition, Reconfigures sensors and related system
features
OR
Q.04 a Explain the activities and steps involved in Negotiation L2 CO2 10
Software Requirements.
Negotiation Techniques:
- Establishing common goals and priorities.
- Building trust and rapport with stakeholders.
- Clarifying expectations and requirements clearly.
- Seeking mutually beneficial solutions through
compromise.
- Maintaining open communication channels throughout
the negotiation process.
Page 01 of 02
07082024
21CS61
b Write the UML activity diagrams for eliciting L2 CO2 10
requirements.
Page 01 of 02
07082024
21CS61
Additional Information
- Requirements modeling with UML involves creating
scenarios through use cases, activity diagrams, and
swimlane diagrams.
- Elaboration expands requirements in a model with
scenario-based, class-based, and behavioral elements.
- The requirements model is validated against customer
needs to ensure the right system is built.
Page 01 of 02
07082024
21CS61
Module-3
DOWNLOAD
Q. 05 a Explain Adaptive Software Development (ASD) Model L2 CO3 10
with sketch
Competence
- Competence in innate talent, specific software-related
skills, and overall knowledge of the chosen process is
crucial.
- Skill and process knowledge can be taught to all team
members.
Common Focus
- All team members should be focused on delivering a
working software increment to the customer within the
agreed time.
- The team's focus should also include continual
adaptations to make the process fit the team's needs.
Collaboration
- Collaboration is essential for assessing, analyzing, and
using communicated information effectively.
- Agile teams must collaborate with each other and all
stakeholders for successful outcomes.
Decision-Making Ability
- Agile teams should have autonomy in decision-making
for technical and project issues.
- Allowing the team the freedom to control its own
destiny is vital for agile team success.
Page 01 of 02
07082024
21CS61
Communication Skills
- Effective communication within the team and with
external stakeholders is key.
- Face-to-face conversations and clear information
exchange are emphasized for agile team success.
Motivation
- Building projects around motivated individuals is
important.
- Providing the right environment and support to team
members is essential for achieving project goals.
Adaptability
- Agile teams must be adaptable to changes in
requirements and project dynamics.
- Embracing change and making necessary adjustments
are fundamental aspects of agile team functioning.
Continuous Improvement
- Agile teams should focus on sustainable development
and continuous progress.
- Seeking ways to enhance processes and outcomes is
integral to the agile team's success.
OR
Q. 06 a Effective communication is among the most challenging L3 CO3 10
activities that you will confront. Justify this statement by
discussing about the
principles that apply for communication within a
software project
Key Principles:
1. Effective communication in a software project is
challenging due to the need to interact with technical
peers, customers, stakeholders, and project managers.
2. Listening attentively is a fundamental principle for
successful communication within a software project.
3. Involving stakeholders in communication activities is
crucial to ensure alignment and understanding.
4. Communication should be focused and modularized to
prevent discussions from becoming scattered.
5. Visual aids like sketches or drawings can enhance
clarity in communication where words might fall short.
6. Moving on from unresolved issues or unclear topics is
essential to maintain communication agility.
Page 01 of 02
07082024
21CS61
7. Negotiation in communication should aim for mutually
beneficial outcomes rather than treating it as a contest.
8. Collaboration and joint understanding between
customers and developers are emphasized for effective
requirements gathering and communication.
Importance of Principles:
- These principles are vital for establishing clear channels
of communication, fostering collaboration, and ensuring
project success.
- Following these guidelines can help mitigate
misunderstandings, enhance team dynamics, and improve
the overall efficiency of software projects.
Relevance:
- Given the complexity of software projects, adherence to
these communication principles can help navigate
challenges, promote transparency, and foster a productive
work environment.
Page 01 of 02
07082024
21CS61
Module-4
DOWNLOAD
Q. 07 a Illustrate the Project Management life cycle. L2 CO4 10
Stakeholders in a Project
- Individuals or groups with an interest in the project's
outcome.
- Their objectives must be identified, understood, and met
for project success.
Page 01 of 02
07082024
21CS61
- Challenges in Software Development Projects:
- Software projects harder to manage due to specific
characteristics
- Differences from managing building construction
projects
OR
Q. 08 a Elucidate the concepts in activity planning in software L2 CO4 10
project management.
4. Risk Management :
- Involves risk identification, analysis, and abatement
planning.
5. Miscellaneous Plans :
- Developing plans like quality assurance and
configuration management plans.
Conclusion:
Activity planning in software project management
encompasses various key elements like project
objectives, management activities, risk management, and
stakeholder involvement. Effective planning, monitoring,
and control are crucial for the success of software
projects amidst their unique challenges and complexities.
SMART Objectives
Definition:
Page 01 of 02
07082024
21CS61
- Objectives focus on the desired outcomes of the project
rather than the tasks within it.
- Objectives are the 'post-conditions' of the project and
are crucial for project success.
SMART Criteria:
- Specific: Objectives need to be concrete and well-
defined.
- Measurable: There should be measures of
effectiveness to gauge success.
- Achievable: Objectives must be within the realm of
possibility for individuals or groups.
- Relevant: Objectives must align with the true
purpose of the project.
- Time-Constrained: Objectives should have defined
completion timelines.
Page 01 of 02
07082024
21CS61
Module-5
DOWNLOAD
Q. 09 a Explain Quality Management Systems with Principles of L2 CO5 10
BS EN ISO 9001:2000
OR
Q. 10 a What are the advantages of carrying out Inspection? List L2 CO5 10
the general principles to be followed during inspection.
Page 02 of 02
07082024
21CS61
1. Early Error Detection : Inspections help identify
defects early in the software development lifecycle,
reducing the cost and effort required for later corrections.
Page 02 of 02
07082024
21CS61
6. Statistical Monitoring : Maintain statistics to track the
effectiveness of the inspection process and identify areas
for improvement.
b Explain the Following i)Quality Management. ii) Quality L2 CO5 10
plan L2 CO5 (08 Marks) c Compare Product Quality and
Process Quali
Quality Management
Quality management involves the systematic process of
ensuring that products and services meet established
quality standards. It includes activities such as quality
planning, quality control, quality assurance, and quality
improvement. Different organizations operate at various
levels of quality management maturity, ranging from
basic practices to advanced optimization.
Differences:
- Product Metrics measure the attributes of the final
product, while Process Metrics evaluate the
performance of the development processes.
- Examples of Product Metrics: Correction time,
productivity, number of failures detected during testing
. - Examples of Process Metrics: Effort information
about processes, number of defects per line of code.
Importance of Metrics:
- Computation of process and product metrics helps in
developing quality products by providing insights into
process effectiveness, identifying areas for improvement,
and ensuring that quality goals are achieved.
Bloom’s Taxonomy Level: Indicate as L1, L2, L3, L4, etc. It is also desirable to indicate the
COs and POs to be attained by every bit of questions.
Page 02 of 02
07082024