0% found this document useful (0 votes)
56 views26 pages

21CS61 Set3

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)
56 views26 pages

21CS61 Set3

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/ 26

21CS61

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

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

TIME: 03 Hours SET - 3 Max. Marks:


100

Note:01.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 Software has characteristics that are considerably different L2 CO1 10


than those of
hardware. Justify. Also Explain various software myths.

Characteristics of Software vs. Hardware and Software


Myths

Characteristics of Software vs. Hardware:


1. Software is intangible and can't wear out like hardware
does over time due to environmental factors.
2. Software costs are concentrated in engineering compared
to hardware projects.
3. Software can be quickly modified and updated compared
to hardware changes.
4. Software requires intense thought and adherence to
specific principles for successful development.
5. Software defects can lead to high failure rates early in
the program's life but can be corrected with updates.
6. Software development depends heavily on effective and
continuous communication between customers and
developers.

Software Myths:
1. Myths about software stem from erroneous beliefs about
the software development process.
2. Software myths often appear reasonable, intuitive, and
are perpetuated by experienced practitioners.
3. Examples of software myths include beliefs about
standards and procedures, schedule management, and the
impact of adding more programmers.
4. Some myths revolve around the assessment of software
Page 01 of 02
07082024
21CS61
quality, the deliverables of successful projects, and the
necessity of documentation in software engineering.
5. The impact of software requirements changes varies with
timing, with early changes incurring lower costs.
6. The misconception that software engineering leads to
voluminous and unnecessary documentation is debunked,
emphasizing the focus on creating a quality product.
7. A prevalent myth among software practitioners is the
belief that the job is done once the program is working,
while industry data shows ongoing efforts post-delivery.
8. Effective software quality assurance mechanisms like
technical reviews are crucial from the project's inception.

b Briefly explain Concurrent models and Specialized L2 CO1 10


Process Models

. Brief Explanation of Concurrent Models and Specialized


Process Models

Concurrent Models
Concurrent modeling in software development allows for
iterative and concurrent elements to be represented across
various process models. It involves triggering transitions
based on events among different software engineering
activities simultaneously. For instance, modeling activities
can transition between states based on events triggered
during the design phase. Concurrent modeling is applicable
to all software development types and provides a
comprehensive view of project states through a process
network, allowing for simultaneous existence of multiple
activities.

Specialized Process Models


Specialized process models are utilized when a specific or
narrowly defined software engineering approach is chosen.
These models typically incorporate characteristics from
traditional models but are tailored to specific project
requirements. An example of a specialized process model is
Component-Based Development, where software is built
using pre-defined components that can be integrated to
create complex systems efficiently.

OR

Page 01 of 02
07082024
21CS61
Q.02 a Explain the Incremental Development Process model L2 CO1 10
with a neat diagram. Also, mention the benefits of this
model compared to the waterfall model.

Incremental Development Process Model and Benefits


compared to Waterfall Model

Incremental Development Process Model:


The incremental process model focuses on delivering an
operational product in increments. Early increments are
simplified versions of the final product that provide basic
functionality for user evaluation and serve as a platform
for future development. It is particularly useful when
staffing is limited, allowing for gradual implementation
based on user feedback and technical considerations. The
process involves iterative cycles of planning,
modification, and delivery of new features until the
complete product is achieved.

Benefits of Incremental Model over Waterfall Model:


1 . Flexibility : The incremental model accommodates
changes and evolving requirements more effectively than
the rigid waterfall model.
2. Early Delivery of Functionality : Users receive basic
functionality quickly with incremental releases, allowing
for early feedback and validation.
3. Risk Management : Technical risks can be managed by
planning increments to avoid dependencies or
uncertainties, ensuring timely delivery of partial
functionalities.
4. Operational Product with Each Increment : Users can
benefit from operational products with each increment,
providing value early in the development process.
5. Resource Optimization : Incremental development
allows for flexibility in staffing, enabling the
implementation of early increments with fewer resources
initially.
6. Iterative Evaluation and Improvement : Each

Page 01 of 02
07082024
21CS61
increment serves as a platform for user evaluation and
feedback, leading to continuous improvement in
subsequent iterations.
7. Adaptability to Business Deadlines : Incremental
development can align with business deadlines by
delivering core functionalities early and adding
supplementary features progressively.
8. Enhanced User Involvement : Users can actively
participate in the development process through
incremental releases, fostering collaboration and ensuring
the product meets their needs effectively.

Diagram:
The incremental model applies linear sequences in a
staggered fashion as calendar time progresses, producing
deliverable increments of the software. The diagram
visually represents how each increment adds functionality
over time, leading to the complete product.

b Explain characteristics that differentiate WebApps from L2 CO1 10


other software

. Characteristics Differentiating WebApps from Other


Software

Network-Centric Nature
- WebApps are network-centric software applications
designed to serve a diverse community of clients.
- They reside on a network, providing worldwide or limited
access and communication.
- Must cater to varying patterns of usage among end users.

User Load and Performance


- WebApps may experience unpredictable load , with
the number of users varying significantly day by day.
- Concurrency is a key feature, allowing a large number of
users to access the WebApp simultaneously.
- Performance is crucial, as delays may lead users to seek
alternatives, emphasizing the importance of timely
access .

Content Delivery and Aesthetics


- WebApps primarily function to present text, graphics,
audio, and video content to users.
- Content sensitivity is vital, influencing the overall
quality and appeal of the WebApp.
- Aesthetics play a significant role in the success of
WebApps, influencing user engagement and satisfaction.
Page 01 of 02
07082024
21CS61

Continuous Evolution and Immediacy


- Unlike traditional software, WebApps evolve continuously
rather than through planned releases.
- Immediacy is a defining characteristic, emphasizing
the swift deployment and updates of WebApps.
- Content updates can occur on a minute-by-minute basis,
reflecting the need for real-time adjustments and
enhancements.

Security and Data-Driven Design


- Security is a critical concern due to network
accessibility, necessitating robust measures to
protect sensitive content.
- WebApps often rely on data-driven design, accessing
information from external databases for functionality and
content delivery.

Availability and User Demand


- Users expect availability around the clock, with
demands for 24/7/365 access to popular WebApps.
- User demand can vary across different time zones,
highlighting the need for continuous service provision.

Integration and Business Applications


- WebApps are increasingly integrated with
corporate databases and business applications ,
expanding their functionality beyond standalone
- They serve as sophisticated computing tools, bridging the
features.
gap between marketing, computing, and data transmission.

Page 01 of 02
07082024
21CS61
Module-2
DOWNLOAD

Q. 03 a What are the basic guidelines for conducting a L2 CO2 10


collaborative requirements gathering meeting . Write a
short note on negotiating and validating requirements.

Basic Guidelines for Conducting a Collaborative


Requirements Gathering Meeting

Key Guidelines for Conducting a Collaborative


Requirements Gathering Meeting:
- Meetings should include both software engineers and other
stakeholders.
- Establish rules for preparation and participation.
- Formally suggest an agenda that covers all essential points
but informally encourages the free flow of ideas.
- Appoint a facilitator to control the meeting.
- Utilize a "definition mechanism" such as work sheets, flip
charts, or electronic platforms for collaboration.

Negotiating and Validating Requirements:


- Negotiation involves determining the priority, availability,
and relative cost of each requirement in collaboration with
project stakeholders.
- The negotiation aims to develop a realistic project plan.
- Validation ensures that each requirement and the
requirements model align with customer needs to ensure the
right system is built.

Additional Information on Collaborative Requirements


Gathering:
- Stakeholders work together to identify the problem,
propose solutions, negotiate approaches, and specify
solution requirements.
- Different approaches to collaborative requirements
gathering have been proposed, all following similar
fundamental guidelines.
- Mini-specifications are developed for entries on lists to
elaborate on objects or services, facilitating stakeholder
discussion and refinement.

Page 01 of 02
07082024
21CS61
b Illustrate Scenario Based Modeling with Safe Home L3 CO2 10
Surveillance
example.

Scenario Based Modeling with Safe Home Surveillance

SafeHome Surveillance Functionality


- The SafeHome surveillance subsystem allows
homeowners to perform various functions such as selecting
cameras, requesting thumbnails, displaying camera views,
controlling pan and zoom, recording output, and accessing
surveillance via the Internet.
- Use cases are developed for each function identified,
initially in an informal narrative style and later in a
structured format for more formality.

Example Scenario: Accessing Camera Surveillance via


the Internet
- Primary Actor: Homeowner
- Goal: View camera output from anywhere via the
Internet
- Preconditions: System fully configured, valid user ID
and passwords obtained
- Trigger: Homeowner decides to check the house
remotely
- Scenario Steps:
1. Homeowner logs onto SafeHome Products website.
2. Enters user ID and two valid passwords.
3. System displays major function buttons.
4. Selects "surveillance" from the buttons.
5. Picks a camera from the floor plan.
6. System shows the house floor plan.
7. Selects a camera icon from the floor plan.
8. Selects the "view" button.
9. Viewing window displays camera output identified by
the camera ID.
10. Video output is displayed at one frame per second.

Exceptions and Additional Information


- Exceptions:
1. Incorrect or unrecognized ID/passwords - see use case
Validate ID and passwords.
2. Surveillance function not configured - system shows
error message, see use case Configure surveillance
function.
3. No floor plan or not configured - system displays error,
see use case Configure floor plan.
4. Alarm condition encountered - see use case Alarm
Page 01 of 02
07082024
21CS61
condition encountered.
- Priority: Moderate, to be implemented after basic
functions.
- Available in: Third increment.
- Frequency of Use: Moderate.
- Channel to Actor: Via PC-based browser and
Internet connection.
- Secondary Actors: System administrator, cameras.
- Open Issues: Mechanisms to protect unauthorized
use by SafeHome employees.

Use Case Details: System Activation


- InitiateMonitoring Use Case:
- Primary Actor: Homeowner
- Goal: Set system to monitor sensors when leaving or
staying inside
- Preconditions: System programmed with password
and sensor recognition
- Trigger: Homeowner decides to activate alarm
functions
- Scenario Steps: Observes control panel, enters
password, selects "stay" or "away," observes alarm light
for system status.

OR
Q.04 a Explain Class-Responsibility-Collaborator (CRC) L2 CO2 10
Modeling and data modeling with an example

Class-Responsibility-Collaborator (CRC) Modeling and

Data Modeling Analysis


Page 01 of 02
07082024
21CS61

Class-Responsibility-Collaborator (CRC) Modeling


- CRC modeling is a method for identifying and organizing
relevant classes in a system or product based on
responsibilities and collaborations.
- Responsibilities refer to attributes and operations
pertinent to a class, while collaborators are other classes
that interact with the main class.
- A CRC model consists of index cards with the class
name, responsibilities, and collaborators listed.
- The goal of CRC modeling is to provide an organized
representation of classes to facilitate system understanding
and design.

Data Modeling
- Data modeling describes the information space
manipulated by software, beginning with data objects and
their attributes.
- Relationships between data objects are defined in data
modeling to represent how they interact.
- Data modeling complements scenario-based and class-
based modeling to identify analysis classes for software
systems.

Example of CRC Modeling


- A simple CRC index card for the FloorPlan class lists
responsibilities and collaborators:
- FloorPlan
Responsibilities: determineType(), positionFloorplan(),
scale(), change color()
Attributes: type, name, outsideDimensions
Collaborators: Wall, Camera

Connecting Class-Based and Data Modeling


- Class-based modeling uses information from data
modeling and scenarios to identify analysis classes.
- A grammatical parse can extract classes, attributes, and
operations from textual narratives for modeling purposes.
- Various UML modeling notations can be applied to
define hierarchies, relationships, associations, aggregations,
and dependencies among classes.

Benefits of CRC Modeling


- CRC modeling aims to identify essential classes and their
interactions early in the design process.
- It provides a visual representation of class responsibilities
and collaborations, aiding in system understanding and
design decisions.
Page 01 of 02
07082024
21CS61
b How can you develop an effective use case? Develop a L3 CO2 10
UML use case
diagram for home security function.

Developing an Effective Use Case and UML Use Case


Diagram for Home Security Function

Developing an Effective Use Case:


1. A use case depicts the software or system from the end
user's point of view.
2. Use cases focus on functional and behavioral
requirements, emphasizing interactions and tasks.
3. Use cases should be clear, detailed, and unambiguous to
effectively communicate requirements.
4. Each use case should be reviewed carefully to ensure
accuracy and completeness.
5. Consider all possible scenarios and exceptions to develop
comprehensive use cases.
6. Use cases can be narrative text, task outlines, template-
based descriptions, or diagrams.
7. Ambiguities in a use case can indicate underlying
problems and require further refinement.
8. Use cases are subject to change as stakeholders gain a
better understanding of requirements.

Developing a UML Use Case Diagram for Home


Security Function:
1. UML use case diagrams provide a graphical
representation of interactions between actors and the system.
2. Actors are represented by stick figures, which can include
both human and non-human entities.
3. Use cases are represented by ovals within a box that
denotes the system boundary.
4. The UML diagram includes primary and secondary
actors, along with their channels of interaction.
5. Use cases are connected to actors with lines to show
relationships and interactions.
6. Use cases should be developed based on various
homeowner interactions in a similar manner.
7. The UML diagram supplements the textual use case by
providing a visual overview of system functionality.
8. It is essential to develop detailed use-case narratives to
accompany the UML diagram for clarity and completeness.

Page 01 of 02
07082024
21CS61
Module-3
DOWNLOAD

Q. 05 a Elucidate the concepts of extreme programming (XP) with L2 CO3 10


its functional
Diagram

Elucidating the Concepts of Extreme Programming (XP)

Overview of Extreme Programming (XP)


Extreme Programming (XP) is an agile process focused on
rapid software delivery to satisfy customer needs. It
involves four framework activities: planning, design,
coding, and testing, with an emphasis on creating frequent
software releases based on stakeholder priorities.

Core Values of XP
- XP is built on five core values: communication,
simplicity, feedback, courage, and respect.
- Effective communication between software engineers and
stakeholders is facilitated through close collaboration and
continuous feedback, minimizing extensive documentation.

XP Process and Activities


- XP follows an object-oriented approach and consists of
planning, design, coding, and testing activities.
- The planning game initiates the process with requirements
gathering to understand the business context.
- XP emphasizes iterative development cycles to deliver
software increments efficiently.

XP Techniques and Practices


- XP suggests innovative techniques like pair programming
and stakeholder involvement.
- It downplays extensive design in favor of simplicity and
Page 01 of 02
07082024
21CS61
incremental development.
- XP encourages adaptability and the ability to embrace
changes during projects.

Criticisms and Adaptations


- Critics argue that XP's incremental nature may limit
complex system design.
- Successful XP implementation requires recognizing
weaknesses and adapting the process to meet specific
organizational needs.

Conclusion
Extreme Programming (XP) stands out as one of the most
widely used agile processes, emphasizing rapid software
delivery, stakeholder involvement, and iterative
development cycles with a focus on simplicity and
adaptability.

b Elucidate SCRUM process with a neat diagram L2 CO3 10

Elucidating the SCRUM Process with a Neat Diagram

Scrum
- Definition : Scrum is an agile software development
method emphasizing project priorities,
compartmentalized work units, communication, and
frequent customer feedback.
- Origin : Conceived by Jeff Sutherland and his team in
the early 1990s.
- Activities : Guides development through
requirements, analysis, design, evolution, and
delivery within a structured framework.
- Principles : Consistent with the agile manifesto,
Page 01 of 02
07082024
21CS61
promoting agility and adaptability in the development
process.
- Process Patterns : Utilizes software process patterns
for effective project management, including Backlog and
Sprints.
- Collaboration : Emphasizes collaboration within
self-organizing teams for increased project success.

Scrum Meetings
- Purpose : Held daily , these short meetings allow team
members to share progress, address obstacles, and plan for
the next tasks.
- Key Questions : Team members answer three
questions:
1. What did you do since the last team meeting?
2. What obstacles are you encountering?
3. What do you plan to accomplish by the next team
meeting?
- Leadership : Led by a Scrum master, the meeting
helps uncover potential problems early and promotes
knowledge socialization.

Demo Process
- Objective : Deliver the software increment to the
customer for evaluation, focusing on demonstrated
functionality within established time-box constraints.
- Functionality : Demos may not include all planned
features but showcase deliverable functions within set
time constraints.
- Importance : Allows for customer evaluation of
implemented features and ensures alignment with
customer expectations.

Scrum Artifacts
- Backlog : A prioritized list of project requirements or
features that provide business value for the customer.
- Sprints : Work units that aim to achieve specific
requirements defined in the backlog within a
predefined time-box.
- Product Manager 's Role : Assess the backlog, update
priorities as required, and ensure alignment with customer
needs.

Process Patterns and Adaptability


- Dynamic Nature : Scrum process patterns enable
teams to work successfully in environments where
uncertainty and changes are inevitable.
- Adaptation : Work within sprints is adapted in real-
Page 01 of 02
07082024
21CS61
time by the Scrum team to address evolving requirements
and challenges.

SCRUM Process Diagram


- Visual Representation : The diagram illustrates the
flow of the Scrum process, emphasizing project priorities
, work units, communication, and customer feedback.
- Process Patterns : Highlighted in the diagram are the
key elements that define the Scrum methodology and
guide development activities.

OR
Q. 06 a What is Agility? Explain Agility with the cost of change L2 CO3 10
with Diagram.
Explain the Principles of Agile Software Development

Agility and Cost of Change Diagram

Agility in software development refers to a dynamic and


growth-oriented approach that embraces change. It
emphasizes rapid delivery of operational software, customer
collaboration, flexibility in planning, and incremental
delivery strategies. One key aspect of agility is its impact on
the cost of change. Traditional software development
experiences nonlinear cost increases as a project progresses,
making late changes expensive and time-consuming. In
contrast, agility aims to flatten the cost of change curve,
allowing teams to accommodate changes late in a project
with minimal cost and time impact. Incremental delivery,
continuous unit testing, and pair programming are agile
practices that help reduce the cost of change.

Principles of Agile Software Development

1. Customer Satisfaction: Prioritize early and continuous


Page 01 of 02
07082024
21CS61
delivery of valuable software to satisfy the customer.
2. Embracing Change: Welcome changing requirements for
the customer's competitive advantage.
3. Frequent Software Delivery: Deliver working software
frequently, with a preference for shorter timescales.
4. Collaboration: Business people and developers must work
together daily throughout the project.
5. Motivated Individuals: Build projects around motivated
individuals and trust them to get the job done.
6. Effective Communication: Face-to-face conversation is
the most efficient way to convey information within the
team.
7. Progress Measurement: Working software is the primary
measure of progress.
8. Sustainable Development: Agile processes promote
sustainable development, maintaining a constant pace
indefinitely.

These principles guide agile software development


practices, focusing on customer satisfaction, adaptability to
change, collaboration, motivation, effective communication,
progress tracking, and sustainable development.

b Describe briefly the design modeling principles that guide L2 CO3 10


the respective framework activity

Design Modeling Principles for Software Engineering

Principles for Requirements Modeling:


1. Design should be traceable to the requirements model.
2. Always consider the architecture of the system to be
built.
3. Design of data is as important as design of processing
functions.

Principles for Design Modeling:


1. Design should be traceable to the requirements model.
2. Adapt the models you develop to the system at hand.
3. Try to build useful models, but forget about building
perfect models.
4. Don’t become dogmatic about the syntax of the model.
5. If your instincts tell you a model isn’t right, you
probably have reason to be concerned.
6. Get feedback as soon as you can.

These principles guide the respective framework activities


in software engineering, ensuring the effectiveness and
adaptability of the design and requirements models created
Page 01 of 02
07082024
21CS61
during the software development process.
Module-4
DOWNLOAD

Q. 07 a With example explain different categories of Software L2 CO4 10


Projects.

Different Categories of Software Projects

Objective-Driven vs. Product-Driven Projects


- Objective-driven projects focus on meeting specific
objectives that can be achieved in various ways, while
product-driven projects aim to create a specified product as
requested by the client.
- An example of an objective-driven project is one where an
organization seeks recommendations to solve a problem,
leading to the need for a new software system.
Subsequently, a project is initiated to develop the software
product based on these recommendations.

Examples of Software Projects


1. Getting married
2. Amending a financial computer system for the Euro
3. Researching human-computer interface quality
4. Investigating user issues with computer systems
5. Second-year programming assignment
6. Operating system development for a new computer
7. Word processing software installation in an organization

Characteristics of Software Development Projects


- Software projects have particular difficulties due to the
relative invisibility of their products.
- Clear objectives are crucial for project success, but
different stakeholders may have conflicting objectives,
necessitating a recognized overall project authority.
- Effective communication channels and objective measures
of success are essential in projects involving multiple
individuals.

Managing Software Projects


- Modern software project management practices differ from
traditional ones in various aspects, highlighting the evolving
nature of managing software projects.
- Key aspects of modern software project management may
include agile methodologies, iterative development, and
enhanced collaboration tools.

Page 01 of 02
07082024
21CS61
Outsourced Projects vs. Product Development
- Outsourced projects typically provide one-time revenue to
a company, while product development projects can
generate revenue over several years.
- Managing an outsourcing project differs from product
development in terms of project oversight, communication
channels, and financial considerations.

Software Product Development vs. Outsourced Projects -


Software product development involves creating a software
product based on client specifications, while outsourced
projects entail contracting external groups for specific tasks
.
- Outsourced projects have distinct management challenges
compared to in-house product development, such as
coordination with external vendors and ensuring project
alignment with business goals.

b Explain the procedure of setting objectives for successful L2 CO4 10


completion of
software project.

Setting Objectives for Successful Completion of


Software Project

Key Components of Setting Objectives:


- Specific : Objectives should be concrete and well-
defined to ensure clarity on project success criteria.
- Measurable : Objectives should have measures of
effectiveness to gauge project success , such as
reducing customer complaints.
- Achievable : Objectives must be attainable by the
individual or group responsible for achieving them.
- Relevant : Objectives should align with the true
purpose of the project to ensure relevance.
- Time-Constrained : Objectives should have defined
timeframes for achievement to provide a clear deadline.

Procedure for Setting Objectives:


1. Define Clear Objectives : Ensure that project objectives
are specific, measurable, achievable, relevant, and time-
constrained (SMART criteria).
2. Identify Stakeholders : Recognize stakeholders who
own the project, control financing, and set project
objectives.
3. Establish Project Authority : Explicitly identify
project authority, often through a steering committee
responsible for setting, monitoring, and modifying
Page 01 of 02
07082024
21CS61
objectives.
4. Focus on Desired Outcomes : Objectives should
concentrate on desired project outcomes rather than task
- based goals.
5 . Set Shared Intentions : Project objectives should
reflect shared intentions among stakeholders for
project success.
6. Prioritize Project Success Criteria : Define success
criteria based on the agreed functionality, required quality
, timeliness, and budget adherence.
7. Ensure Stakeholder Communication : Develop a
communication plan at the project 's outset to
coordinate stakeholder efforts effectively.
8. Recognize Different Interests : Acknowledge that
different stakeholders may have varying objectives and
motivations, requiring effective communication and
negotiation.

Additional Considerations:
- Sub -Objectives and Goals : Break down objectives
into sub-goals that are within the control of individuals
or groups, ensuring progress towards the main objective.
- Project vs . Business Objectives : Distinguish between
project objectives (targets for the project team ) and
business objectives (value realization ), ensuring alignment
for overall success.
- Theory W : Adopt a 'win-win' approach in software
project management to create situations where all parties
benefit from project success.

OR
Q. 08 a Differentiate between project management life cycle and L2 CO4 10
software development life cycle and its phases

Differentiation between Project Management Life Cycle


and Software Development Life Cycle

Project Management Life Cycle:


1. Characteristics of Projects:
- Non-routine tasks involved.
- Specific objectives to be met or a specified product to
be created.
- Work is carried out for someone other than yourself.
- Work involves several specialisms.
- Work is carried out in several phases.

2. Project Planning:
- Involves activities such as estimation, cost, duration,
Page 01 of 02
07082024
21CS61
effort estimation.
- Scheduling based on estimations of effort and duration.

3. Project Success Criteria:


- Success determined by the value of benefits exceeding
costs.
- Increasing development costs reduce profitability.

4. Project Objectives vs. Business Objectives:


- Project objectives focus on agreed functionality, quality,
timeliness, and budget adherence.
- Business success depends on the value of benefits
exceeding costs.

Software Development Life Cycle:


1. Importance of Version Control:
- Increasing importance of tracking versions and
revisions in software development.
- Customization development models lead to multiple
product versions.

2. Change Management:
- Project managers play a crucial role in product
baselining and version control.
- Change management is essential for successful project
delivery.

3. Modern Project Management Practices:


- Goals include code reuse maximization and project
duration compression.
- Emphasis on accommodating client feedback and
incremental product delivery.

Phases of Project Development:


1. Project Development Stages:
- Customizing existing products for specific projects.
- Key role of project manager in overseeing project
development.

2. Main Stages of Software Projects:


- Scope definition of software project management.
- Understanding problems and concerns of software
project managers.
- Identifying stakeholders, their objectives, and ensuring
their satisfaction.
- Emphasis on careful planning, monitoring, and control.

Conclusion:
Page 01 of 02
07082024
21CS61
1. Key Ideas:
- Software projects involve meeting specific objectives to
satisfy real needs.
- Projects are non-routine and uncertain, requiring careful
management.

b What is the role of management in execution of software L2 CO4 10


project development? Explain the Difference between
Traditional and Modern Project Management.

Role of Management in Software Project Development

Management plays a crucial role in the execution of


software project development by overseeing various aspects
of the project to ensure its success. Here are key points
regarding the role of management in software project
development based on the provided document:

- Management is responsible for planning, monitoring, and


controlling software projects to ensure they meet objectives
and satisfy stakeholders' needs.
- The project manager is involved in activities such as
scheduling, staffing, risk management, and developing
miscellaneous plans like quality assurance and configuration
management plans.
- Project monitoring and control activities are crucial to
ensure that software development proceeds as planned, with
the flexibility to adjust plans based on evolving project data.
- Project planning is a significant responsibility of the
project manager, involving activities such as estimation of
cost, duration, and effort, which are critical for subsequent
scheduling and staffing decisions.

Traditional vs. Modern Project Management

Traditional project management practices differ from


modern approaches in various aspects, particularly in
response to the evolving nature of software development
projects. Here are key differences between traditional and
modern project management highlighted in the document:

- Traditional project management focused on detailed


planning before project execution, while modern practices
emphasize adaptive planning and rapid application
development.
- Modern project management practices prioritize flexibility,
customer feedback, incremental delivery of products with
evolving functionalities, and responsiveness to change
Page 01 of 02
07082024
21CS61
requests.
- Quality management, change management, and planning
incremental delivery are key components of modern project
management practices to meet customer demands for faster
delivery times and reduced costs.
- Modern project management emphasizes stakeholder
management and quality tracking throughout project
development, reflecting a shift towards more flexible and
customer-oriented approaches.

Module-5
DOWNLOAD

Page 01 of 02
07082024
21CS61

Q. 09 a List the popular capability models to manage the quality of L1 CO5 10


the Software
and write about SEI CMM with appropriate diagram.

Popular Capability Models for Software Quality


Management

SEI CMM (Software Engineering Institute Capability


Maturity Model)
SEI CMM is a reference model for appraising a software
development organization into one of five process maturity
levels. It assists organizations in improving the quality of
the software they develop. SEI CMM can be used for
capability evaluation and process assessment, with the
latter focusing on internal process improvement. The model
consists of different levels designed to help organizations
enhance their quality system gradually.

Key Features of SEI CMM:


- Helps predict contractor performance through evaluation
of development practices.
- Supports process improvement initiatives.
- Ranks organizations based on the quality of their
development processes.
- Can be used for both capability evaluation and internal
process assessment.

CMMI (Capability Maturity Model Integration) CMMI


is the successor of the Capability Maturity Model (
CMM) and is designed to be applicable across various
domains. It provides a framework for assessing an
organization's process maturity levels and includes key
process areas at different levels.

Key Aspects of CMMI:


- Released in versions 1.1 and 1.2 in 2002 and 2006
respectively.
- Used in domains beyond software development, such as
human resource management.
- Offers a generalized approach applicable to multiple
disciplines.
- Describes five distinct levels of process maturity.

Other Popular Capability Models:


- ISO 15504
- Six Sigma

Page 02 of 02
07082024
21CS61
These models, along with SEI CMM and CMMI, are
widely recognized for their effectiveness in managing
software quality through process-based techniques.

Diagram for SEI CMM


Currently, a detailed diagram for SEI CMM is not provided
in the available content. However, the model visually
represents the five process maturity levels and how
organizations progress through these levels to enhance their
software development processes.

b Explain the quality models: L2 CO5 10


1) Garvin’s Quality Dimensions
2) Mccall Model
3) Boehms Model

Quality Models Overview

Garvin’s Quality Dimensions


- Performance: The primary operating characteristics of
a product or service.
- Features: The additional characteristics that enhance a
product's appeal.
- Reliability: The probability of a product failing
within a specified time period.
- Conformance: The precision with which a product
meets its design specifications.
- Durability: The life expectancy of a product.
- Serviceability: The ease of repair of a product.
- Aesthetics: The subjective sensory characteristics of a
product.
- Perceived Quality: The quality as perceived by the
customer.

McCall Model
- Product Revision: The ability to modify the
software.
- Product Transition: The ability to move the
software to a new environment.
- Product Operation: The ability to operate the
software.
- Product Revision: The ability to modify the
software.
- Product Transition: The ability to move the
software to a new environment.

Boehm's Model
- Efficiency: Involves time behavior, resource
Page 02 of 02
07082024
21CS61
utilization, efficiency compliance.
- Maintainability: Includes analysability,
changeability, stability, testability,
maintainability compliance.

OR
Q. 10 a Identify how Automation testing is preferred over manual L1 CO5 10
testing, with different tools used for Automation Testing

Automation Testing Advantages Over Manual Testing


and Tools Used

Automation Testing Advantages Over Manual Testing


1. Efficiency : Automated testing tools can rerun test
scripts easily and cheaply, reducing manual effort
significantly.
2. Cost-Effectiveness : Automation testing can
substantially reduce testing costs compared to manual
testing.
3. Thoroughness : Automation testing allows for more
sophisticated test case design strategies, improving the
thoroughness of testing.
4. Reliability : Automated test results are more reliable
and eliminate human errors during testing.
5. Regression Testing : Automation simplifies repeated
running of test cases, especially after changes or error
corrections.
6. Time-Saving : Automation testing can run a large
number of test cases within a short period without
significant cost overhead.
7. Maintenance : Helps in maintaining the test suite
integrity as software undergoes changes over time.

Tools Used for Automation Testing


1. Test Script-Based Tools : Utilize scripts to drive
automated test tools, allowing for easy rerun of tests
once debugged and verified.
2. Random Input Testing Tools : Generate test values
randomly to cover the input space of the unit under test,
cost-effective for finding certain types of defects.
3. Capture and Playback Tools : Record test data
during manual execution and automatically replay tests,
useful for regression testing but may require effort for
maintenance.
4. Testing Tools Classification : Tools can be classified
based on specific methodologies, with various options
available from both public domain and commercial
Page 02 of 02
07082024
21CS61
sources.

b Explain Quality Management Systems with Principles of L2 CO5 10


BS EN ISO 9001:2000

Quality Management Systems and 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.
3. Allocation of adequate resources and trained staff.
Page 02 of 02
07082024
21CS61
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.
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