0% found this document useful (0 votes)
35 views

21CS61 Set2

Uploaded by

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

21CS61 Set2

Uploaded by

4pa21cs063
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

21CS61

Model Question Paper-1/2 with effect from 2021(CBCS Scheme)

US
N
Sixth Semester B.E. Degree Examination Software
Engineering & Project Management

TIME: 03 Hours SET - 2 Max. Marks:


100

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

Q.01 a Define Software & Software Engineering. Why is it L2 CO1 10


important. Explain the Software Process in Software
Engineering.

Define Software & Software Engineering

Definition of Software Engineering


Software engineering is a framework for the activities,
actions, and tasks required to build high-quality software.
It encompasses technologies, technical methods,
automated tools, and the creative adaptation by
Page 01 of 02
07082024
21CS61
knowledgeable individuals to tailor mature processes to
the needs of the products and market demands.

Importance of Software Engineering

Software engineering is important due to its pervasive


impact on nearly every aspect of our lives, influencing
commerce, culture, and everyday activities. It allows for
the timely development of high-quality software,
addressing a wide range of technology and application
areas. Modern software engineering approaches must be
agile, adapting to project teams' needs and the products
being produced.

Generic Process Model


- A software process is a collection of work activities,
actions, and tasks within a framework that defines their
relationships.
- The software process involves five framework
activities: communication, planning, modeling,
construction, and deployment.
- Umbrella activities like project tracking, risk
management, quality assurance, configuration
management, and technical reviews are applied
throughout the process.
- Process flow describes how activities are organized with
respect to sequence and time, such as linear, iterative,
evolutionary, or parallel flows.

Actions and Tasks in Software Engineering


- Each software engineering action is defined by a task
set that includes work tasks, work products, quality
assurance points, and milestones.
- The software process is represented by a schematic
framework where each framework activity is populated
by software engineering actions.

Importance of Software Engineering


- Software engineering is a layered technology resting on
an organizational commitment to quality.
- It serves as the foundation for developing computer
software, enabling rational and timely development
through a focus on process improvement.
- It encompasses a process, methods for managing and
engineering software, and various tools for effective
software development.

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.

b Demonstrate the waterfall model spiral and model with L2 CO1 10


real time example.

Waterfall Model and Spiral Model Overview

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

David Hooker’s Seven Principles of Software


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.

2. KISS (Keep It Simple, Stupid!)


- Software design should be as simple as possible but not
simpler.
- Simplifying design facilitates a better-understood and
maintained system.

3. Plan Ahead for Reuse


- Reuse of code and designs saves time and effort.
- Achieving a high level of reuse requires forethought
and planning.

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.

Five Activities of a Generic Process Framework for

Software Engineering

Generic Process Framework Activities:


1. Communication:
- Involves collaborating with stakeholders to
understand project objectives and gather requirements.

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.

Process Flow Variations:


- Linear process flow executes activities in sequence,
iterative flow repeats activities, evolutionary flow
completes circuits through activities for improved
software versions, and parallel flow executes activities
concurrently.

These activities form the core structure of a software


engineering process, ensuring effective project
management and successful software development.

Page 01 of 02
07082024
21CS61
Module-2
DOWNLOAD
Q. 03 a Explain the different tasks which Requirements L2 CO2 10
Engineering encompasses.

Requirements Engineering Tasks

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

UML Use Case Diagram for Home Security Function

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

For a visual representation, refer to Figure 5.2 in the


document.

OR
Q.04 a Explain the activities and steps involved in Negotiation L2 CO2 10
Software Requirements.

Activities and Steps Involved in Negotiating Software


Requirements

Negotiation Process Overview:


- Negotiation of software requirements involves the
software team and project stakeholders discussing the
priority, availability, and cost of each requirement to
develop a realistic project plan.
- The negotiation aims to ensure that each requirement
aligns with customer needs and that the overall
requirements model reflects the right system to be built.

Key Steps in Negotiating Software Requirements:


1. Identification of Key Stakeholders: Define the
system or subsystem's key stakeholders.
2. Determination of Win Conditions: Identify
stakeholders' win conditions.
3. Negotiation of Win Conditions : Reconcile
stakeholders' win conditions into a set of win-win
conditions for all parties involved.
4. Collaborative Requirements Gathering: Conduct
meetings attended by software engineers and
stakeholders, establish rules for preparation and
participation, create an agenda, appoint a facilitator,
and use a definition mechanism.
5. Balancing Functionality, Performance, and
Constraints: Stakeholders balance system
characteristics against cost and time-to-market.
Page 01 of 02
07082024
21CS61
6. Mapping Out Negotiation Strategy: Define desired
outcomes, understand the other party's interests, and
plan negotiation approaches.
7. Actively Listening: Focus on listening to gain
insights that can help in negotiations.
8. Avoiding Personalization: Concentrate on
problem-solving rather than personal conflicts.
9. Committing to Agreements: Once an agreement is
reached, commit to it and move forward.

Negotiation Principles and Guidelines:


- Negotiation is not a competition; both parties should
feel like they have achieved something.
- Strategies should be mapped out to address each party's
objectives effectively.
- Active listening is crucial to understanding the other
party's perspective and needs.
- Focusing on interests rather than positions can help in
avoiding conflicts.
- Creativity and flexibility are essential in negotiating
win-win solutions.
- Commitment to agreements is necessary for successful
outcomes.

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.

UML Activity Diagrams for Eliciting Requirements

Overview of Use Cases and Activity Diagrams


- Use cases are contracts for behavior that define how
actors use a computer-based system to achieve goals.
- Use cases capture interactions between producers,
consumers of information, and the system itself.
- Preliminary use cases are developed based on
information gathered during inception and elicitation
phases.
- Activity diagrams provide graphical representation of
interaction flows within specific scenarios.
- They use rounded rectangles for system functions,
arrows for flow, decision diamonds for branching
decisions, and solid horizontal lines for activity sequences.

Developing Use Cases and Activity Diagrams


- Use cases describe specific usage scenarios from the
actor's perspective.
- Requirements gathering meetings and mechanisms like
QFD help identify stakeholders and define problem scope.
- Stakeholders write use cases to describe software usage.
- Descriptive nouns in use-case scripts can help identify
candidate classes for isolation.
- Activity diagrams supplement use cases to depict
interaction flow.
- Activity diagrams use UML graphical models to convey
information clearly and concisely.
- They are particularly beneficial for scenario-based
modeling in software engineering.

Page 01 of 02
07082024
21CS61

Limitations of Use Cases and Supplementary UML


Models
- Use cases may be unclear or ambiguous if poorly
authored.
- They focus on functional and behavioral requirements,
not nonfunctional ones.
- Use cases may not provide sufficient detail and precision
for certain situations like safety critical systems.
- However, properly developed use cases offer substantial
benefits as modeling tools.

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

. ASD Model Overview

Adaptive Software Development (ASD) Model


Adaptive Software Development (ASD) is a technique
proposed by Jim Highsmith for building complex
software and systems. It emphasizes human collaboration
and team self-organization. The ASD life cycle includes
three phases: speculation, collaboration, and learning.
During speculation, projects are initiated, and adaptive
cycle planning is conducted using project initiation
information like the customer's mission statement and
project constraints. ASD teams learn through focus
groups, technical reviews, and project postmortems.

Key Elements of ASD:


1. Emphasis on human collaboration and team self-
organization.
2. ASD life cycle phases: speculation, collaboration, and
learning.
3. Adaptive cycle planning based on project initiation
information.
4. Learning through focus groups, technical reviews, and
project postmortems.
5. Focus on individualism, trust, and effective
communication within teams.

ASD Model Components:


1. Mission statement
2. Project constraints
3. Basic requirements
Page 01 of 02
07082024
21CS61
4. Time-boxed release plan
5. Components implemented/tested
6. Focus groups for feedback
7. Formal technical reviews
8. Postmortems
9. Requirements gathering techniques like JAD and mini-
specs

ASD's emphasis on self-organizing teams, collaboration,


and learning enhances the success potential of software
projects.
b Explain the key traits must exist among the people on L2 CO3 10
an agile team and the team itself.

Key Traits for an Agile Team

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.

Fuzzy Problem-Solving Ability


- Agile teams must be adept at dealing with ambiguity
and changing circumstances.
- Being able to adapt to evolving problems and lessons
learned is crucial for agile team performance.

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

Principles of 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.

Application in Software Projects:


- Understanding and applying these communication
principles can lead to improved project planning,
development processes, and customer satisfaction.
- Effective communication within a software project
facilitates the exchange of ideas, requirements, and
feedback, ultimately contributing to the project's success.

Relevance:
- Given the complexity of software projects, adherence to
these communication principles can help navigate
challenges, promote transparency, and foster a productive
work environment.

b Summarize the Extreme Programming(XP) of Agility L2 CO3 10

Overview of Extreme Programming (XP)

Explanation with Diagram


Extreme Programming (XP) is a software development
methodology that emphasizes flexibility, adaptability,
Page 01 of 02
07082024
21CS61
and customer satisfaction through iterative development
cycles. Here is an explanation of XP with a neat diagram:

Key Principles of Extreme Programming:


1 . Customer Involvement : Customers are actively
involved throughout the development process to
ensure alignment with their needs.
2. Iterative Development: Software is developed and
delivered in short iterations, allowing for frequent
feedback and adjustments.
3. Pair Programming: Two programmers work
together at one workstation, enhancing code quality
and knowledge sharing.
4. Test-Driven Development: Tests are written before
code implementation to ensure functionality and
facilitate continuous testing.
5. Continuous Integration: Code changes are
integrated and tested frequently to detect issues early.
6. Sustainable Pace: Encourages a sustainable work
pace to maintain productivity and quality over time.
7. Simple Design: Promotes simplicity in design to
avoid unnecessary complexity and facilitate easier
maintenance.
8. Refactoring: Code is continuously improved
without changing its external behavior to enhance
readability and maintainability.

Diagram of Extreme Programming (XP):


![XP Diagram](insert_diagram_here)

In the diagram, you can visualize the iterative nature of


XP, starting from customer involvement and
requirements gathering, moving through pair
programming and test-driven development, and
culminating in continuous integration and refactoring for
sustainable software development.

Page 01 of 02
07082024
21CS61
Module-4
DOWNLOAD
Q. 07 a Illustrate the Project Management life cycle. L2 CO4 10

Project Management Life Cycle Stages


1. Feasibility Study: Assessing the project's viability and
business case.
2. Planning: Involves estimating project attributes like
cost, duration, and effort.
3. Staffing: Organizing staff and resource plans.
4. Risk Management: Identify, analyze, and plan for
project risks.
5. Miscellaneous Plans: Developing quality assurance
and configuration management plans.

Project Monitoring and Control


- Activities undertaken after initiating development to
ensure project progress aligns with the plan.
- Involves adapting to specific situations and updating
plans as necessary.
- Parameters are periodically re-estimated based on
evolving project understanding.

Modern Project Management Practices


- Focus on code reuse, compression of project durations,
and incremental delivery.
- Encourage client feedback, customer participation, and
accommodating change requests.
- Emphasize rapid application development, deployment,
and adaptive planning over long-term planning.

Success Criteria for a Project


Page 01 of 02
07082024
21CS61
- Meeting stakeholder objectives and satisfying real
needs.
- Ensuring project completion within estimated cost,
duration, and effort.
- Adaptation to changing project requirements and risks.

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.

Need for Careful Planning, Monitoring, and Control -


Crucial for ensuring project success and meeting
stakeholder expectations.
- Involves detailed estimation, scheduling, staffing, and
risk management activities.
- Key to adapting to evolving project requirements and
maintaining project alignment.

b Explain different ways of categorizing Software project. L2 CO4 10

Categorizing Software Projects

Ways of Categorizing Software Projects:


1. Compulsory vs. Voluntary Users:
- Systems that staff must use vs. voluntary systems like
computer games
- Eliciting precise requirements differs between the two
types

2. Information Systems vs. Embedded Systems:


- Information systems enable office processes;
embedded systems control machines
- Examples: Stock control system vs. process control
system for air conditioning

Managing Software Projects:


- Outsourcing vs. Product Development:
- Outsourced projects usually smaller, completed in few
months
- Managing outsourced projects presents special
challenges

- Modern vs. Traditional Software Project Management:


- Key aspects where modern practices differ from
traditional ones

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

Essential Planning in Software Projects:


- Method vs. Methodology:
- Difference between a method and a methodology
- Essential items to plan before carrying out a method or
methodology

Additional Aspects of Software Projects: -


Timing involved in project completion
- Resources allocation and coordination
- Impact of project size on difficulty level

OR
Q. 08 a Elucidate the concepts in activity planning in software L2 CO4 10
project management.

Elucidating Concepts in Activity Planning in Software


Project Management

Key Concepts in Activity Planning:


1. Project Objectives in Software Projects :
- Delivering the agreed functionality, quality, on time,
and within budget are crucial project objectives.
- Success is measured not just by meeting project
targets but also by achieving business value.

2. Project Management Activities :


- Planning involves deciding what needs to be done.
- Organizing includes making necessary arrangements.
- Staffing requires selecting suitable personnel for the
job.
- Directing involves providing instructions to the team.
- Monitoring is crucial for checking progress.
- Controlling is about taking actions to address any
delays.
- Innovating refers to coming up with new solutions.
- Representing entails liaising with various stakeholders
like clients, users, and suppliers.

3. Activities in Project Planning :


- Estimation of project attributes such as cost, duration,
and effort is essential.
- Scheduling based on effort and duration estimations
Page 01 of 02
07082024
21CS61
for manpower and resources is critical for project
planning.

4. Risk Management :
- Involves risk identification, analysis, and abatement
planning.

5. Miscellaneous Plans :
- Developing plans like quality assurance and
configuration management plans.

6. Project Monitoring and Control :


- Essential activities to ensure that software
development progresses as planned.
- Project managers may need to adjust plans based on
specific situations and new project data.

7. Importance of Software Project Management :


- Software projects have unique challenges like
complexity, invisibility, flexibility, and conformity.

Stakeholders and Project Success Criteria:


- Identification of stakeholders and their objectives is
vital for project success.
- Defining success criteria for a project helps in
evaluating its outcomes and meeting stakeholder
expectations.

Management Aspects in Software Project


Management:
- Management activities in software project management
involve planning, organizing, staffing, directing,
monitoring, controlling, innovating, and representing.

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.

b Write short notes on : i) SMART objectives ii) L2 CO4 10


Management control with project control cycle.

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.

Importance of SMART Objectives:


- Helps in clarifying project goals and expectations.
- Facilitates effective communication among project
stakeholders.
- Enables better monitoring and evaluation of project
progress.

Management Control with Project Control Cycle

Stakeholders and Objectives:


- Stakeholders play a vital role in project ownership and
setting objectives.
- Objectives define what the project team must achieve
for project success.
- Project authority, like a steering committee, is
responsible for setting, monitoring, and modifying
objectives.

Sub-Objectives and Goals:


- Sub-objectives are steps towards achieving the main
objectives.
- Goals or sub-objectives should be realistic and within
the control of individuals or teams.

Project Planning and Control:


- Project planning is essential for successful project
management.
- Activities like estimation, cost, duration, effort, and
scheduling are crucial aspects of project planning.
- Accurate estimation of project parameters is vital for
effective project management.
Page 01 of 02
07082024
21CS61

Communication and Coordination:


- Coordination of stakeholders' efforts is crucial for
project success.
- Establishing a communication plan at the project's
outset is a recommended practice.

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

Quality Management Systems Principles of BS EN


ISO 9001:2000

Principles of BS EN ISO 9001:2000


1. Understanding customer requirements to meet or
exceed them.
2. Leadership providing unity of purpose and direction
for quality objectives.
3. Involvement of staff at all levels.
4. Focus on individual processes creating deliverable
products and services.
5. Emphasis on interrelated processes that deliver
products and services.

Quality Management System (QMS) Components


1. ISO 9000 describes fundamental features of a QMS
and its terminology.
2. ISO 9001 explains how a QMS applies to product
creation and service provision.
3. ISO 9004 focuses on process improvement.
4. Continuous improvement of processes is a key aspect.
5. Decision-making based on factual evidence.
6. Building beneficial relationships with suppliers.

Implementation of QMS Principles


1. Determining customer needs and expectations.
2. Establishing a quality policy and defining quality
objectives.
3. Designing processes to meet quality objectives.
4. Allocating responsibilities for meeting requirements.
5. Ensuring resources for proper process execution.
6. Measuring process effectiveness and efficiency.
7. Gathering and analyzing measurements for
improvement.
8. Identifying and eliminating causes of discrepancies.
9. Continual improvement for an effective QMS.

ISO 9001 Requirements


1. Documentation of objectives, procedures, plans, and
records.
2. Management responsibility for actively managing
QMS and processes.
Page 02 of 02
07082024
21CS61
3. Allocation of adequate resources and trained staff.
4. Production planning and review of customer
requirements.
5. Effective communication between customers and
suppliers.
6. Controlled design and development processes.
7. Proper control of design changes.
8. Measures for specifying and evaluating purchased
components.

Benefits and Concerns


- Controversy over standards' value and certification
costs.
- Concern about certification distracting from actual
product quality problems.
- Standards applicable to all production, not just software
development.

Precautionary Steps for Work Contracted to ISO


9001 Accredited Organizations
- Ensure alignment of quality standards and expectations.
- Monitor and evaluate quality performance.
- Address any discrepancies promptly.
- Maintain open communication for quality assurance.

b List and Explain the Techniques to enhance Software L2 CO5 10


Quality and Software Reliability.

Techniques to Enhance Software Quality and


Software Reliability

Software Quality Enhancement Techniques:


1. Code Reviews : Conducting systematic
examination of code to identify defects and
improve overall quality.
2. Unit Testing : Testing individual units or components
of software to ensure they function correctly.
3. Integration Testing : Testing the integration of
software modules to identify interface issues.
4. Regression Testing : Repeatedly testing software to
ensure new changes do not adversely affect existing
functionality.
5. Automated Testing : Using tools and scripts to
automate testing processes for efficiency and accuracy
6.
. Static Analysis : Analyzing code without
executing it to identify potential defects early in
the development cycle.
7. Continuous Integration : Regularly integrating
Page 02 of 02
07082024
21CS61
code changes into a shared repository to detect
integration errors quickly.
8. Performance Testing : Evaluating software
performance under various conditions to ensure
optimal functioning.
9. User Acceptance Testing (UAT) : Involving end-
users to validate that the software meets business
requirements and user needs.
10. Quality Assurance (QA) Processes : Implementing
structured QA processes to maintain and improve
software quality consistently.

Software Reliability Enhancement Techniques:


1. Defect Reduction : Addressing and minimizing
defects to improve software reliability.
2. Error Handling : Implementing robust error-
handling mechanisms to enhance software resilience
.3. Fault Tolerance : Designing software to continue
functioning in the presence of faults.
4. Backup and Recovery : Establishing procedures for
data backup and recovery to mitigate potential failures
.
5. Version Control : Managing software versions
effectively to track changes and facilitate error correction
.6. Monitoring and Alerting : Implementing systems to
monitor software performance and alert on potential
issues.
7. Documentation : Maintaining comprehensive
documentation to aid in understanding and
troubleshooting software.
8. Reliability Testing : Conducting specific tests to
assess and improve software reliability metrics.

These techniques collectively contribute to ensuring high


software quality and reliability, crucial for successful
software development and deployment.

OR
Q. 10 a What are the advantages of carrying out Inspection? List L2 CO5 10
the general principles to be followed during inspection.

Advantages of Carrying Out Inspection

Inspections offer numerous benefits in software


development processes, ensuring quality and reliability
through rigorous examination. Here are the advantages of
carrying out inspections:

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.

2. Improved Quality : By systematically reviewing


documents and code, inspections enhance the overall
quality of the software product.

3. Enhanced Team Collaboration : The inspection


process fosters teamwork and collaboration among team
members, promoting knowledge sharing and improving
collective skills.

4. Reduced Defects : Through meticulous examination,


inspections lead to a decrease in the number of defects in
software, enhancing its reliability and performance.

5. Knowledge Transfer : Inspections facilitate


knowledge transfer within the team, enabling
individuals to learn from each other's work and best
practices.
General Principles to Follow During Inspection

When conducting inspections, adhering to specific


principles is crucial for the effectiveness of the process.
Here are the general principles to be followed during an
inspection:

1. Limited Duration : Inspection meetings should not


exceed two hours to maintain focus and productivity.

2. Moderator Leadership : The inspection should be led


by a trained moderator who guides the process and
ensures efficiency.

3 . Defined Roles : Participants should have clearly


defined roles , such as recorder and reader , to
streamline the inspection process.

4 . Checklists Usage : Utilize checklists to assist in


identifying faults and maintaining consistency during
inspections.

5. Optimal Inspection Rate : Inspect material at an


optimal rate of around 100 lines per hour to balance
thoroughness with efficiency.

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 and Quality Plan Overview

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.

Levels of Quality Management:


1. Level 2: Repeatable - Basic project management
practices are followed, including planning, tracking
costs and schedules, and using configuration
management tools.
2 . Level 3: Defined - Processes for management and
development activities are defined and documented, with
a common understanding of roles and responsibilities.
3. Level 4: Managed - Focus on effective
management of development tasks, setting
quantitative quality goals for products and processes.
4. Level 5: Optimizing - Organizations collect and
analyze process and product metrics to identify areas
for improvement and strive for continuous process
enhancement.

Quality Plan L2 CO5


A quality plan outlines the specific measures and
procedures that will be implemented to ensure that
quality standards are met throughout a project or process.
It typically includes details on quality objectives, criteria
for quality measurement, quality control activities, and
strategies for quality improvement.

Example of Process Optimization:


In a Level 5 organization, process optimization involves
analyzing process metrics to identify improvement
opportunities. For instance, if code reviews are found to
be ineffective and errors are detected only during unit
testing, the review process would be fine-tuned for better
Page 02 of 02
07082024
21CS61
effectiveness. Lessons learned from projects are
incorporated into the process, and continuous
improvement is achieved through analysis and
assimilation of innovative ideas and technologies.

Comparing Product Quality and Process Quality


- Product Quality focuses on the attributes and
characteristics of the final product or service, ensuring
it meets customer requirements and specifications.
- Process Quality refers to the quality of the processes
used to develop the product, aiming to ensure that the
activities and steps followed lead to the desired product
quality.

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

You might also like