0% found this document useful (0 votes)
13 views15 pages

21CS61 Set2

Uploaded by

dmprashanth6
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)
13 views15 pages

21CS61 Set2

Uploaded by

dmprashanth6
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/ 15

21CS61 21CS61

Model Question Paper-1/2 with effect from 2021(CBCS Scheme) knowledgeable individuals to tailor mature processes to
the needs of the products and market demands.
US
N Importance of Software Engineering
Sixth Semester B.E. Degree Examination Software
Engineering & Project Management
Software engineering is important due to its pervasive
impact on nearly every aspect of our lives, influencing
TIME: 03 Hours SET - 2 Max. Marks: commerce, culture, and everyday activities. It allows for
100 the timely development of high-quality software,
addressing a wide range of technology and application
Note: Answer any FIVE full questions, choosing at least ONE question from each areas. Modern software engineering approaches must be
MODULE. THESE ANSWERS FROM TEXTBOOK agile, adapting to project teams' needs and the products
being produced.
Bloom ’s COs
Module -1 Taxonomy Marks
DOWNLOAD Level Generic Process Model
- A software process is a collection of work activities,
Q.01 a Define Software & Software Engineering. Why is it L2 CO1 10
actions, and tasks within a framework that defines their
important. Explain the Software Process in Software
relationships.
Engineering.
- The software process involves five framework
activities: communication, planning, modeling,
Define Software & Software Engineering
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.
Definition of Software Engineering - It encompasses a process, methods for managing and
Software engineering is a framework for the activities, engineering software, and various tools for effective
actions, and tasks required to build high-quality software. software development.
It encompasses technologies, technical methods,
automated tools, and the creative adaptation by Conclusion
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
Software engineering is a structured approach that guides enhancements to existing systems.
the development, operation, and maintenance of software
through defined processes, activities, and tasks, involving Spiral Model:
a combination of technology, methodologies, and human - The spiral model is an evolutionary software process
expertise. 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
b Demonstrate the waterfall model spiral and model with L2 CO1 10 continuous adaptation to evolving requirements.
real time example. - 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
Waterfall Model and Spiral Model Overview for fast-paced software work with a continuous stream of
changes, enabling risk reduction and flexibility through
Waterfall Model: iterative development cycles.
- The waterfall model is the oldest paradigm for software
engineering, suggesting a systematic, sequential approach OR
to software development. Q.02 a Discuss the David Hooker’s seven principles of software L2 CO1 10
- It follows a linear progression from customer engineering
requirements specification through planning, modeling, Practice
construction, deployment, and ongoing support of the
completed software. David Hooker’s Seven Principles of Software
- It can cause issues due to the sequential flow not Engineering Practice
aligning with real project progress, difficulty in explicitly
stating all requirements upfront, and the lengthy time Overview
span until a working program is available. David Hooker proposed seven principles focusing on
- Projects rarely follow the strict sequential flow software engineering practice as a whole. These principles
proposed by the model, making it challenging to aim to guide software engineers in their work. Let's delve
accommodate changes and uncertainties. into each of these principles:
- The waterfall model is more suitable for situations
where requirements are fixed and work can proceed Principles
linearly, such as in well-defined adaptations or 1. The Reason It All Exists
- A software system exists to provide value to its users.
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
- All decisions should prioritize adding real value to the b Describe the five activities that a generic process L2 CO1 10
system. framework for software engineering encompasses.

2. KISS (Keep It Simple, Stupid!) Five Activities of a Generic Process Framework for
- 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. Software Engineering

Conclusion Generic Process Framework Activities:


David Hooker's seven principles provide a comprehensive 1. Communication:
framework for effective software engineering practice, - Involves collaborating with stakeholders to
emphasizing the importance of value, simplicity, planning understand project objectives and gather requirements.
for reuse, and thoughtful action.
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 Page 01 of 02
07082024 07082024
21CS61 21CS61
Additional Umbrella Activities: Module-2
DOWNLOAD
- Project tracking and control, risk management, quality
assurance, configuration management, technical reviews, Q. 03 a Explain the different tasks which Requirements L2 CO2 10
among others, are applied throughout the process to Engineering encompasses.
support the framework activities.
Requirements Engineering Tasks
Process Flow Variations:
- Linear process flow executes activities in sequence, Overview
iterative flow repeats activities, evolutionary flow Requirements engineering encompasses various tasks
completes circuits through activities for improved essential for establishing a solid foundation for design and
software versions, and parallel flow executes activities construction. It involves seven distinct functions carried
concurrently. out by software team members: inception, elicitation,
elaboration, negotiation, specification, validation, and
These activities form the core structure of a software management.
engineering process, ensuring effective project
management and successful software development. 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 Page 01 of 02
07082024 07082024
21CS61 21CS61
4. Use Case Narratives :
UML Use Case Diagram for Home Security Function - 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.
Overview
A UML use case diagram for a home security function OR
was developed during a meeting where various Q.04 a Explain the activities and steps involved in Negotiation L2 CO2 10
stakeholders discussed system requirements and Software Requirements.
functionalities. The diagram includes actors like the
homeowner, system administrator, and sensors, along with Activities and Steps Involved in Negotiating Software
use cases such as arming/disarming the system, Requirements
responding to alarm events, accessing the system via the
internet, encountering error conditions, and reconfiguring Negotiation Process Overview:
sensors and related system features. - Negotiation of software requirements involves the
software team and project stakeholders discussing the
Key Points priority, availability, and cost of each requirement to
1. Actors : develop a realistic project plan.
- Homeowner - The negotiation aims to ensure that each requirement
- System administrator aligns with customer needs and that the overall
- Sensors requirements model reflects the right system to be built.

2. Use Cases : Key Steps in Negotiating Software Requirements:


- Arms/disarms system 1. Identification of Key Stakeholders: Define the
- Responds to alarm event system or subsystem's key stakeholders.
- Accesses system via Internet 2. Determination of Win Conditions: Identify
- Encounters an error condition stakeholders' win conditions.
- Reconfigures sensors and related system features 3. Negotiation of Win Conditions : Reconcile
stakeholders' win conditions into a set of win-win
3. Representation : conditions for all parties involved.
- Home security function represented by a big box with 4. Collaborative Requirements Gathering: Conduct
ovals inside, representing use cases. meetings attended by software engineers and
- Stick figures represent actors interacting with the stakeholders, establish rules for preparation and
system. participation, create an agenda, appoint a facilitator,
- Use of labeled squares for actors that are not people, and use a definition mechanism.
like sensors. 5. Balancing Functionality, Performance, and
Constraints: Stakeholders balance system
characteristics against cost and time-to-market.
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
6. Mapping Out Negotiation Strategy: Define desired b Write the UML activity diagrams for eliciting L2 CO2 10
outcomes, understand the other party's interests, and requirements.
plan negotiation approaches.
7. Actively Listening: Focus on listening to gain UML Activity Diagrams for Eliciting Requirements
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 Overview of Use Cases and Activity Diagrams
win-win solutions. - Use cases are contracts for behavior that define how
- Commitment to agreements is necessary for successful actors use a computer-based system to achieve goals.
outcomes. - Use cases capture interactions between producers,
consumers of information, and the system itself.
Negotiation Techniques: - Preliminary use cases are developed based on
- Establishing common goals and priorities. information gathered during inception and elicitation
- Building trust and rapport with stakeholders. phases.
- Clarifying expectations and requirements clearly. - Activity diagrams provide graphical representation of
- Seeking mutually beneficial solutions through interaction flows within specific scenarios.
compromise. - They use rounded rectangles for system functions,
- Maintaining open communication channels throughout arrows for flow, decision diamonds for branching
the negotiation process. 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 Page 01 of 02
07082024 07082024
21CS61 21CS61
Module-3
DOWNLOAD
Limitations of Use Cases and Supplementary UML
Q. 05 a Explain Adaptive Software Development (ASD) Model L2 CO3 10
Models
- Use cases may be unclear or ambiguous if poorly with sketch
authored.
- They focus on functional and behavioral requirements, . ASD Model Overview
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.
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 Page 01 of 02
07082024 07082024
21CS61 21CS61
4. Time-boxed release plan Communication Skills
5. Components implemented/tested - Effective communication within the team and with
6. Focus groups for feedback external stakeholders is key.
7. Formal technical reviews - Face-to-face conversations and clear information
8. Postmortems exchange are emphasized for agile team success.
9. Requirements gathering techniques like JAD and mini-
specs Motivation
- Building projects around motivated individuals is
ASD's emphasis on self-organizing teams, collaboration, important.
and learning enhances the success potential of software - Providing the right environment and support to team
projects. members is essential for achieving project goals.
b Explain the key traits must exist among the people on L2 CO3 10
an agile team and the team itself. Adaptability
- Agile teams must be adaptable to changes in
Key Traits for an Agile Team requirements and project dynamics.
- Embracing change and making necessary adjustments
Competence are fundamental aspects of agile team functioning.
- Competence in innate talent, specific software-related
skills, and overall knowledge of the chosen process is Continuous Improvement
crucial. - Agile teams should focus on sustainable development
- Skill and process knowledge can be taught to all team and continuous progress.
members. - Seeking ways to enhance processes and outcomes is
integral to the agile team's success.
Common Focus
- All team members should be focused on delivering a OR
working software increment to the customer within the Q. 06 a Effective communication is among the most challenging L3 CO3 10
agreed time. activities that you will confront. Justify this statement by
- The team's focus should also include continual discussing about the
adaptations to make the process fit the team's needs. principles that apply for communication within a
software project
Collaboration
- Collaboration is essential for assessing, analyzing, and Principles of Communication Within a Software
using communicated information effectively. Project
- Agile teams must collaborate with each other and all
stakeholders for successful outcomes. Key Principles:
1. Effective communication in a software project is
Decision-Making Ability challenging due to the need to interact with technical
- Agile teams should have autonomy in decision-making peers, customers, stakeholders, and project managers.
for technical and project issues. 2. Listening attentively is a fundamental principle for
- Allowing the team the freedom to control its own successful communication within a software project.
destiny is vital for agile team success. 3. Involving stakeholders in communication activities is
crucial to ensure alignment and understanding.
Fuzzy Problem-Solving Ability 4. Communication should be focused and modularized to
- Agile teams must be adept at dealing with ambiguity prevent discussions from becoming scattered.
and changing circumstances. 5. Visual aids like sketches or drawings can enhance
- Being able to adapt to evolving problems and lessons clarity in communication where words might fall short.
learned is crucial for agile team performance. 6. Moving on from unresolved issues or unclear topics is
essential to maintain communication agility.
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
7. Negotiation in communication should aim for mutually and customer satisfaction through iterative development
beneficial outcomes rather than treating it as a contest. cycles. Here is an explanation of XP with a neat diagram:
8. Collaboration and joint understanding between
customers and developers are emphasized for effective Key Principles of Extreme Programming:
requirements gathering and communication. 1 . Customer Involvement : Customers are actively
involved throughout the development process to
Importance of Principles: ensure alignment with their needs.
- These principles are vital for establishing clear channels 2. Iterative Development: Software is developed and
of communication, fostering collaboration, and ensuring delivered in short iterations, allowing for frequent
project success. feedback and adjustments.
- Following these guidelines can help mitigate 3. Pair Programming: Two programmers work
misunderstandings, enhance team dynamics, and improve together at one workstation, enhancing code quality
the overall efficiency of software projects. and knowledge sharing.
4. Test-Driven Development: Tests are written before
Application in Software Projects: code implementation to ensure functionality and
- Understanding and applying these communication facilitate continuous testing.
principles can lead to improved project planning, 5. Continuous Integration: Code changes are
development processes, and customer satisfaction. integrated and tested frequently to detect issues early.
- Effective communication within a software project 6. Sustainable Pace: Encourages a sustainable work
facilitates the exchange of ideas, requirements, and pace to maintain productivity and quality over time.
feedback, ultimately contributing to the project's success. 7. Simple Design: Promotes simplicity in design to
avoid unnecessary complexity and facilitate easier
Relevance: maintenance.
- Given the complexity of software projects, adherence to 8. Refactoring: Code is continuously improved
these communication principles can help navigate without changing its external behavior to enhance
challenges, promote transparency, and foster a productive readability and maintainability.
work environment.
Diagram of Extreme Programming (XP):
b Summarize the Extreme Programming(XP) of Agility L2 CO3 10 ![XP Diagram](insert_diagram_here)

Overview of Extreme Programming (XP) 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.

Explanation with Diagram


Extreme Programming (XP) is a software development
methodology that emphasizes flexibility, adaptability,
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
Module-4 - Meeting stakeholder objectives and satisfying real
DOWNLOAD
needs.
Q. 07 a Illustrate the Project Management life cycle. L2 CO4 10 - 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.

Project Management Life Cycle Stages b Explain different ways of categorizing Software project. L2 CO4 10
1. Feasibility Study: Assessing the project's viability and
business case. Categorizing Software Projects
2. Planning: Involves estimating project attributes like
cost, duration, and effort. Ways of Categorizing Software Projects:
3. Staffing: Organizing staff and resource plans. 1. Compulsory vs. Voluntary Users:
4. Risk Management: Identify, analyze, and plan for - Systems that staff must use vs. voluntary systems like
project risks. computer games
5. Miscellaneous Plans: Developing quality assurance - Eliciting precise requirements differs between the two
and configuration management plans. types

Project Monitoring and Control 2. Information Systems vs. Embedded Systems:


- Activities undertaken after initiating development to - Information systems enable office processes;
ensure project progress aligns with the plan. embedded systems control machines
- Involves adapting to specific situations and updating - Examples: Stock control system vs. process control
plans as necessary. system for air conditioning
- Parameters are periodically re-estimated based on
evolving project understanding. Managing Software Projects:
- Outsourcing vs. Product Development:
Modern Project Management Practices - Outsourced projects usually smaller, completed in few
- Focus on code reuse, compression of project durations, months
and incremental delivery. - Managing outsourced projects presents special
- Encourage client feedback, customer participation, and challenges
accommodating change requests.
- Emphasize rapid application development, deployment, - Modern vs. Traditional Software Project Management:
and adaptive planning over long-term planning. - Key aspects where modern practices differ from
traditional ones
Success Criteria for a Project
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
- Challenges in Software Development Projects: for manpower and resources is critical for project
- Software projects harder to manage due to specific planning.
characteristics
- Differences from managing building construction 4. Risk Management :
projects - Involves risk identification, analysis, and abatement
planning.
Essential Planning in Software Projects:
- Method vs. Methodology: 5. Miscellaneous Plans :
- Difference between a method and a methodology - Developing plans like quality assurance and
- Essential items to plan before carrying out a method or configuration management plans.
methodology
6. Project Monitoring and Control :
Additional Aspects of Software Projects: - - Essential activities to ensure that software
Timing involved in project completion development progresses as planned.
- Resources allocation and coordination - Project managers may need to adjust plans based on
- Impact of project size on difficulty level specific situations and new project data.

OR 7. Importance of Software Project Management :


Q. 08 a Elucidate the concepts in activity planning in software L2 CO4 10 - Software projects have unique challenges like
project management. complexity, invisibility, flexibility, and conformity.

Elucidating Concepts in Activity Planning in Software Stakeholders and Project Success Criteria:
Project Management - Identification of stakeholders and their objectives is
vital for project success.
Key Concepts in Activity Planning: - Defining success criteria for a project helps in
1. Project Objectives in Software Projects : evaluating its outcomes and meeting stakeholder
- Delivering the agreed functionality, quality, on time, expectations.
and within budget are crucial project objectives.
- Success is measured not just by meeting project Management Aspects in Software Project
targets but also by achieving business value. Management:
- Management activities in software project management
2. Project Management Activities : involve planning, organizing, staffing, directing,
- Planning involves deciding what needs to be done. monitoring, controlling, innovating, and representing.
- Organizing includes making necessary arrangements.
- Staffing requires selecting suitable personnel for the Conclusion:
job. Activity planning in software project management
- Directing involves providing instructions to the team. encompasses various key elements like project
- Monitoring is crucial for checking progress. objectives, management activities, risk management, and
- Controlling is about taking actions to address any stakeholder involvement. Effective planning, monitoring,
delays. and control are crucial for the success of software
- Innovating refers to coming up with new solutions. projects amidst their unique challenges and complexities.
- Representing entails liaising with various stakeholders
like clients, users, and suppliers. b Write short notes on : i) SMART objectives ii) L2 CO4 10
Management control with project control cycle.
3. Activities in Project Planning :
- Estimation of project attributes such as cost, duration, SMART Objectives
and effort is essential.
- Scheduling based on effort and duration estimations Definition:
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
- Objectives focus on the desired outcomes of the project
rather than the tasks within it. Communication and Coordination:
- Objectives are the 'post-conditions' of the project and - Coordination of stakeholders' efforts is crucial for
are crucial for project success. project success.
- Establishing a communication plan at the project's
SMART Criteria: outset is a recommended practice.
- 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 Page 01 of 02
07082024 07082024
21CS61 21CS61
3. Allocation of adequate resources and trained staff.
Module-5 4. Production planning and review of customer
DOWNLOAD
requirements.
Q. 09 a Explain Quality Management Systems with Principles of L2 CO5 10 5. Effective communication between customers and
BS EN ISO 9001:2000 suppliers.
6. Controlled design and development processes.
Quality Management Systems Principles of BS EN 7. Proper control of design changes.
ISO 9001:2000 8. Measures for specifying and evaluating purchased
components.
Principles of BS EN ISO 9001:2000
1. Understanding customer requirements to meet or
Benefits and Concerns
exceed them. - Controversy over standards' value and certification
2. Leadership providing unity of purpose and direction costs.
for quality objectives. - Concern about certification distracting from actual
3. Involvement of staff at all levels. product quality problems.
4. Focus on individual processes creating deliverable - Standards applicable to all production, not just software
products and services. development.
5. Emphasis on interrelated processes that deliver
products and services.
Precautionary Steps for Work Contracted to ISO
9001 Accredited Organizations
Quality Management System (QMS) Components - Ensure alignment of quality standards and expectations.
1. ISO 9000 describes fundamental features of a QMS - Monitor and evaluate quality performance.
and its terminology. - Address any discrepancies promptly.
2. ISO 9001 explains how a QMS applies to product - Maintain open communication for quality assurance.
creation and service provision.
3. ISO 9004 focuses on process improvement. b List and Explain the Techniques to enhance Software L2 CO5 10
4. Continuous improvement of processes is a key aspect. Quality and Software Reliability.
5. Decision-making based on factual evidence.
6. Building beneficial relationships with suppliers.
Techniques to Enhance Software Quality and
Software Reliability
Implementation of QMS Principles
1. Determining customer needs and expectations.
Software Quality Enhancement Techniques:
2. Establishing a quality policy and defining quality
1. Code Reviews : Conducting systematic
objectives.
3. Designing processes to meet quality objectives. examination of code to identify defects and
4. Allocating responsibilities for meeting requirements. improve overall quality.
2. Unit Testing : Testing individual units or components
5. Ensuring resources for proper process execution.
6. Measuring process effectiveness and efficiency. of software to ensure they function correctly.
3. Integration Testing : Testing the integration of
7. Gathering and analyzing measurements for
improvement. software modules to identify interface issues.
4. Regression Testing : Repeatedly testing software to
8. Identifying and eliminating causes of discrepancies.
9. Continual improvement for an effective QMS. ensure new changes do not adversely affect existing
functionality.
5. Automated Testing : Using tools and scripts to
ISO 9001 Requirements
automate testing processes for efficiency and accuracy
1. Documentation of objectives, procedures, plans, and
.6. Static Analysis : Analyzing code without
records.
2. Management responsibility for actively managing executing it to identify potential defects early in
QMS and processes. the development cycle.
7. Continuous Integration : Regularly integrating
Page 02 of 02 Page 02 of 02
07082024 07082024
21CS61 21CS61
code changes into a shared repository to detect 1. Early Error Detection : Inspections help identify
integration errors quickly. defects early in the software development lifecycle,
8. Performance Testing : Evaluating software reducing the cost and effort required for later corrections.
performance under various conditions to ensure
optimal functioning. 2. Improved Quality : By systematically reviewing
9. User Acceptance Testing (UAT) : Involving end- documents and code, inspections enhance the overall
users to validate that the software meets business quality of the software product.
requirements and user needs.
10. Quality Assurance (QA) Processes : Implementing 3. Enhanced Team Collaboration : The inspection
structured QA processes to maintain and improve process fosters teamwork and collaboration among team
software quality consistently. members, promoting knowledge sharing and improving
collective skills.
Software Reliability Enhancement Techniques:
1. Defect Reduction : Addressing and minimizing 4. Reduced Defects : Through meticulous examination,
defects to improve software reliability. inspections lead to a decrease in the number of defects in
2. Error Handling : Implementing robust error- software, enhancing its reliability and performance.
handling mechanisms to enhance software resilience
3.
. Fault Tolerance : Designing software to continue
functioning in the presence of faults. 5. Knowledge Transfer : Inspections facilitate
4. Backup and Recovery : Establishing procedures for knowledge transfer within the team, enabling
data backup and recovery to mitigate potential failures individuals to learn from each other's work and best
. practices.
5. Version Control : Managing software versions General Principles to Follow During Inspection
effectively to track changes and facilitate error correction
.6. Monitoring and Alerting : Implementing systems to When conducting inspections, adhering to specific
monitor software performance and alert on potential principles is crucial for the effectiveness of the process.
issues. Here are the general principles to be followed during an
7. Documentation : Maintaining comprehensive inspection:
documentation to aid in understanding and
troubleshooting software. 1. Limited Duration : Inspection meetings should not
8. Reliability Testing : Conducting specific tests to exceed two hours to maintain focus and productivity.
assess and improve software reliability metrics.
2. Moderator Leadership : The inspection should be led
These techniques collectively contribute to ensuring high by a trained moderator who guides the process and
software quality and reliability, crucial for successful ensures efficiency.
software development and deployment.
3 . Defined Roles : Participants should have clearly
OR defined roles , such as recorder and reader , to
Q. 10 a What are the advantages of carrying out Inspection? List L2 CO5 10 streamline the inspection process.
the general principles to be followed during inspection.
4 . Checklists Usage : Utilize checklists to assist in
Advantages of Carrying Out Inspection identifying faults and maintaining consistency during
inspections.
Inspections offer numerous benefits in software
development processes, ensuring quality and reliability 5. Optimal Inspection Rate : Inspect material at an
through rigorous examination. Here are the advantages of optimal rate of around 100 lines per hour to balance
carrying out inspections: thoroughness with efficiency.

Page 02 of 02 Page 02 of 02
07082024 07082024
21CS61 21CS61
6. Statistical Monitoring : Maintain statistics to track the effectiveness. Lessons learned from projects are
effectiveness of the inspection process and identify areas incorporated into the process, and continuous
for improvement. improvement is achieved through analysis and
b Explain the Following i)Quality Management. ii) Quality L2 CO5 10 assimilation of innovative ideas and technologies.
plan L2 CO5 (08 Marks) c Compare Product Quality and
Process Quali Comparing Product Quality and Process Quality
- Product Quality focuses on the attributes and
Quality Management and Quality Plan Overview characteristics of the final product or service, ensuring
it meets customer requirements and specifications.
Quality Management - Process Quality refers to the quality of the processes
Quality management involves the systematic process of used to develop the product, aiming to ensure that the
ensuring that products and services meet established activities and steps followed lead to the desired product
quality standards. It includes activities such as quality quality.
planning, quality control, quality assurance, and quality
improvement. Different organizations operate at various Differences:
levels of quality management maturity, ranging from - Product Metrics measure the attributes of the final
basic practices to advanced optimization. product, while Process Metrics evaluate the
performance of the development processes.
Levels of Quality Management: - Examples of Product Metrics: Correction time,
1. Level 2: Repeatable - Basic project management productivity, number of failures detected during testing
practices are followed, including planning, tracking . - Examples of Process Metrics: Effort information
costs and schedules, and using configuration about processes, number of defects per line of code.
management tools.
2 . Level 3: Defined - Processes for management and Importance of Metrics:
development activities are defined and documented, with - Computation of process and product metrics helps in
a common understanding of roles and responsibilities. developing quality products by providing insights into
3. Level 4: Managed - Focus on effective process effectiveness, identifying areas for improvement,
management of development tasks, setting and ensuring that quality goals are achieved.
quantitative quality goals for products and processes.
4. Level 5: Optimizing - Organizations collect and Bloom’s Taxonomy Level: Indicate as L1, L2, L3, L4, etc. It is also desirable to indicate the
analyze process and product metrics to identify areas COs and POs to be attained by every bit of questions.
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 Page 02 of 02
07082024 07082024

You might also like