100% found this document useful (1 vote)
1K views33 pages

21cs61 Model Paper Ans

Uploaded by

chandan32005c
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
100% found this document useful (1 vote)
1K views33 pages

21cs61 Model Paper Ans

Uploaded by

chandan32005c
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/ 33

21CS61

Model Question Paper (CBCS Scheme)


SIXTH Semester B.E. Degree Examination
SOFTWARE ENGINEERING AND PROJECT
MANAGEMENT
TIME: 03 Hours Max. Marks:
100
Note: Answer any FIVE full questions, choosing at least ONE question from each MODULE.

in
These Answers are from TEXTBOOK

Bloom’s

d.
Module -1 Taxonom Marks
Download y Level
Q.01 a Define process and explain generic process framework for L2 10
software engineering.
Define Process and Generic Process Framework for Software
u
Engineering
lo
uc
vt

Software Process Definition -


A software process is a framework for the activities, actions, and
tasks necessary to build high-quality software. It defines the
approach taken in software engineering, encompassing both the
process itself and the technologies utilized. Software engineering
involves creative individuals who adapt mature processes to suit
their product requirements and market demands.

Generic Process Framework for Software Engineering -


- A software process model consists of framework activities,
actions, and tasks that guide the creation of work products.

in
- The generic process framework for software engineering
includes five core framework activities: communication,
planning, modeling, construction, and deployment.
- Additionally, umbrella activities like project tracking, risk
management, quality assurance, configuration management, and

d.
technical reviews are integrated throughout the process.
- The process flow defines how framework activities, actions,
and tasks are organized in terms of sequence and time, with
variations such as linear, iterative, evolutionary, and parallel
flows. u
Example Process Models -
lo
- The Waterfall Model: Suitable when requirements are
well understood, and work progresses linearly from
communication to deployment.
- Agile Process Models: Emphasize adaptability and are
uc

suitable for various projects, especially web applications.

Benefits of Generic Process Framework


- Provides a structured approach for software development.
- Ensures coordination and coherence in software work.
- Allows for adaptability to different project requirements and
vt

market dynamics.

Importance of Process Models


- Process models aid in achieving project consistency and order.
- Prescriptive process models prescribe a set of process elements
for each project, including framework activities, software
engineering actions, tasks, work products, quality assurance, and
change control mechanisms.

Agility in Software Engineering


- Agility is crucial in modern software engineering to respond
effectively to changing requirements and market conditions.
- Agile software development differs from traditional models by
emphasizing flexibility and iterative development approaches.

b Demonstrate the waterfall model spiral and model with real time L3 10
example.

Waterfall Model vs. Spiral Model: A Comparison with Real-


Time Examples

in
u d.
lo
Waterfall Model Overview:
uc

- The waterfall model is a systematic, sequential approach to


software development.
- It begins with customer specification of requirements and
progresses through planning, modeling, construction, and
deployment.
- The V-Model is a variation of the waterfall model that depicts
vt

the relationship of quality.

Issues with Waterfall Model:


- It requires explicit customer requirements which can be
challenging.
- Difficulty accommodating natural uncertainties at the project's
beginning.
- Blocking states can occur, leading to wait times exceeding
productive work time.

Spiral Model Overview:


- Proposed by Barry Boehm, the spiral model combines iterative
prototyping with controlled aspects of the waterfall model.
- It is an evolutionary process model that allows for rapid
development of increasingly complete software versions.

Spiral Model Characteristics:


- It is a risk-driven model that guides multi-stakeholder
concurrent engineering.
- Involves incremental growth of system definition and

in
implementation while reducing risk.
- Employs anchor point milestones for stakeholder commitment
to feasible solutions.

Real-Time Example of Spiral Model:

d.
- The spiral model involves a series of evolutionary releases.
- Early iterations may result in a model or prototype, while later
iterations produce more sophisticated versions.
- Adjustments to project plans, costs, and schedules are made
u
based on customer feedback.

Concurrent Models:
lo
- Concurrent development models allow for iterative and
concurrent elements from various process models.
- Modeling activities in the spiral model can incorporate
prototyping, analysis, and design simultaneously.
uc

Advantages of Spiral Model:


- Adaptable throughout the life cycle of software.
- Supports rapid development of software in evolutionary
releases.
- Allows for risk reduction and stakeholder commitment through
vt

anchor point milestones.

Real-World Application:
- The spiral model can be suitable for projects where
requirements are not fixed and changes are frequent.
- It provides flexibility and adaptability in scenarios where a
linear approach like the waterfall model may not be suitable.

Conclusion:
In conclusion, the waterfall model follows a linear sequential
approach, whereas the spiral model combines iterative
prototyping with controlled aspects, allowing for rapid and
adaptive software development. The spiral model's risk-driven
nature, incremental growth, and stakeholder commitment
through milestones make it a valuable alternative to the waterfall
model in dynamic software development environments.
OR
Q.02 a Explain characteristics that differentiate WebApps from other L2 10
software.

Characteristics Differentiating WebApps from Other

in
Software

Network Intensiveness
- WebApps reside on networks and serve diverse client needs.

d.
- They may enable worldwide or limited access and
communication.

Concurrency
- Large numbers of users can access WebApps simultaneously.
u
- Usage patterns among users vary greatly.
lo
Unpredictable Load
- The number of users accessing WebApps can vary significantly
day by day.

Performance
uc

- Users may leave if they experience long wait times for server-
side processing or content display.

Availability
- Users often expect 24/7 access to popular WebApps.
vt

Data-Driven
- WebApps primarily use hypermedia to present various content
types to users.

Content Sensitivity
- Quality and aesthetics of content impact the overall quality of a
WebApp.

Continuous Evolution
- WebApps evolve continuously, with content updates
sometimes happening on a minute-by-minute basis.
Immediacy
- WebApps often have a quick time-to-market, sometimes
launching in a matter of days or weeks.

Security
- Due to network access, WebApps face challenges in limiting
user access and ensuring content security.
b Discuss the David Hooker’s seven principles of software L2 10

in
engineering
practice.

David Hooker's Seven Principles of Software Engineering

d.
Practice

The First Principle: The Reason It All Exists


- A software system exists to provide value to its users.
u
- All decisions should prioritize adding real value to the system.

The Second Principle: KISS (Keep It Simple, Stupid!)


lo
- Software design should be as simple as possible but not
oversimplified.
- Simplicity facilitates understanding and maintenance of the
system.
uc

The Third Principle: Plan Ahead for Reuse


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

The Fourth Principle: Strive for a Balance


- Balance is essential in software engineering.
- Balancing conflicting forces like time, effort, functionality, and
quality is crucial.

The Fifth Principle: Listen to the Cavalry


- Input from stakeholders, users, and other relevant parties is
valuable.
- Listening to different perspectives aids in developing
successful software systems.

The Sixth Principle: Prototype, but Be Careful


- Prototyping can be beneficial but comes with risks.
- Careful consideration and planning are necessary to avoid
pitfalls in the prototyping process.

The Seventh Principle: Think!


- Clear and complete thought before action leads to better results.
- Thinking before acting helps in doing things correctly and
gaining valuable experience.

in
Importance of Following the Principles
- Following these principles can eliminate difficulties in building
complex computer-based systems.
- Engaging intense thought and consideration in software
engineering practices leads to significant rewards.

d.
Application of Principles
- Implementing these principles can guide software engineers
towards effective software engineering practices.
u
- Each principle serves as a foundational concept for solid
software engineering practice.
lo
uc
vt
Module-2
Download
Q. 03 a Develop a UML use case diagram for home security function. L3 10

UML Use Case Diagram for Home Security Function

in
Overview
u d.
The UML use case diagram for the SafeHome home security
function includes various actors and use cases related to the
system's functionality and interactions. The diagram visualizes
lo
the primary actors and their interactions with the system,
highlighting essential scenarios and requirements.

Actors
uc

1. Homeowner
2. System administrator

Use Cases
1. Arms/disarms system
2. Responds to alarm event
vt

3. Accesses system via Internet


4. Encounters an error condition
5. Reconfigures sensors and related system features

Additional Information
- Use cases depict the software or system from the end user's
point of view.
- The diagram includes actors represented by stick figures and
labeled squares to represent non-human actors like sensors.
- Use case narratives are developed for each oval in the diagram
to detail specific scenarios and interactions.
- The system must be fully configured, and appropriate user IDs
and passwords must be obtained to trigger specific actions like
accessing camera surveillance via the Internet.

Relevant Considerations
- Ensuring system security against unauthorized use and
potential hacking threats.
- Addressing system response via the Internet in terms of
bandwidth requirements and video quality.
- Providing detailed scenario steps for accessing and using

in
specific system functions.
- Considering different states of the system such as home, away,
overnight travel, and extended travel with corresponding settings
and controls.

d.
b Narrate the steps to be followed for building the requirement L2 10
model.

Steps for Building a Requirement Model


u
Overview of Requirements Engineering Tasks
- Requirements engineering tasks establish a foundation for
design and construction.
lo
- Seven distinct requirements engineering functions are
conducted: inception, elicitation, elaboration, negotiation,
specification, validation, and management.
- Stakeholders establish basic problem requirements and project
uc

constraints at project inception.


- Elicitation involves gathering requirements through facilitated
meetings, QFD, and usage scenarios.

Requirements Modeling Objectives and Philosophy


- Focus on "what" rather than "how" during requirements
vt

modeling.
- Use an iterative approach due to uncertainty in specific
requirements.
- The requirements model must describe customer needs, aid in
software design creation, and provide a basis for validation.

Steps for Building a Requirement Model


1. Scenario-Based Modeling :
- Represent the system from the user's perspective.
- Develop basic use cases and scenarios to understand user
interactions.
2. Data Modeling :
- Depict the information space and data objects manipulated by
the software.
- Illustrate relationships among data objects.

3. Class-Based Modeling :
- Define objects, attributes, and relationships within the system.
- Identify candidate classes based on descriptive nouns in use-

in
case scripts.

4. Refinement and Analysis :


- Create preliminary models and refine them for clarity,
completeness, and consistency.

d.
- Analyze models to ensure accuracy and address any issues.

5. Review and Validation :


- Prioritize requirements, group them into packages for
u
implementation.
- Validate requirements model by asking specific questions
related to consistency, completeness, ambiguity, achievability,
lo
and testability.

Importance of Requirements Model


- The model bridges the gap between system-level description and
uc

software design.
- It helps in understanding stakeholder needs, guiding design
tasks, and providing a basis for validation.

Key Considerations
- Use multiple modes of representation to uncover omissions,
vt

inconsistencies, and ambiguities.


- Engage stakeholders throughout the modeling process to ensure
alignment with customer requirements.
OR
Q.04 a Explain the steps to be followed for validating requirements in L2 10
detail.

Steps for Validating Requirements

1. Review for Consistency, Omissions, and Ambiguity -


Examine each element of the requirements model for
inconsistencies, omissions, and ambiguity.
- Prioritize requirements by stakeholders and group them within
packages for implementation as software increments.

2. Ask Key Questions during Review


- Ensure each requirement aligns with the overall system
objectives.
- Verify that requirements are specified at the appropriate level
of abstraction.

in
- Determine if each requirement is necessary or an add-on
feature.
- Confirm that each requirement is bounded, unambiguous, and
attributed to a specific source.
- Check for conflicts between requirements and their

d.
achievability in the technical environment.
- Assess if each requirement is testable once implemented and
reflects the system's information, function, and behavior.

u
3. Utilize a Requirements Validation Checklist
- Examine requirements against a set of checklist questions for
clarity, interpretability, and testability.
lo
- Verify if requirements are clearly stated, bounded
quantitatively, and traceable to system objectives.
- Ensure requirements have been consistently stated and
structured for easy understanding and translation into technical
uc

work products.

4. Review Work Products and Ensure Correctness


- Review requirements modeling work products for correctness,
completeness, and consistency.
- Ensure that the work products reflect the needs of all
vt

stakeholders and establish a foundation for design.

5. Focus on Consistency and Traceability


- Use the analysis model to ensure requirements have been
consistently stated and traceable to system models.
- Pay attention to ensuring that requirements are clear, testable,
and aligned with overall system/product objectives.
b Draw the Swimlane diagram for access camera surveillance via L2 10
the Internet and explain its functions.

Swimlane Diagram for Access Camera Surveillance via the


Internet

in
u d.
lo
Swimlane Diagram
- The swimlane diagram for accessing camera surveillance via
uc

the Internet involves activities associated with different analysis


classes like Homeowner, Camera, and Interface.
- Responsibilities are divided among these classes, with actions
like entering passwords, selecting major functions, and viewing
camera outputs being allocated to specific lanes.
vt

- The diagram represents the flow of actions and decisions,


indicating which actors perform each task within the surveillance
function.

Functions of Accessing Camera Surveillance via the Internet


1. User Authentication:
- Entering user ID and passwords for validation to access the
SafeHome system.
- Handling incorrect or unrecognized passwords and IDs.

2. Camera Selection and Display:


- Selecting the "surveillance" major function and picking a
specific camera for viewing.
- Displaying floor plans of the house and camera icons for
selection.
- Viewing camera outputs in labeled windows identified by
camera IDs.

3. Video Output and Control:


- Generating video output within viewing windows at a frame
rate of one frame per second.

in
- Controlling functions like pan and zoom for specific cameras.

4. Additional Features:
- Offering thumbnail views of all cameras simultaneously.
- Allowing selective recording and replaying of camera

d.
outputs.
- Providing the option to block access to certain cameras with
specific passwords.
- Maintaining a consistent interface look and feel across all
u
SafeHome interfaces.

Implementation Details
lo
- Priority: Moderate priority for implementation after basic
functions.
- Frequency of Use: Moderately frequent.
- Channels to Actor: Accessible via PC-based browser and
uc

Internet connection.
- Secondary Actors: System administrator and cameras with
respective channels for interaction.
- Open Issues: Addressing concerns about unauthorized use
by employees of SafeHome Products.
vt
Module-3
Download
Q. 05 a Explain Adaptive Software Development (ASD) Model with L2 10
sketch.

Adaptive Software Development (ASD) Model Overview

in
u
Philosophy and Approach

d.
- Proposed by Jim Highsmith for building complex software and
systems.
lo
- Focuses on human collaboration and team self-organization.
- Emphasizes an agile, adaptive development approach based on
collaboration.
- Incorporates three phases: speculation, collaboration, and
uc

learning.

Key Elements of ASD


1. Learning Emphasis
- Teams prioritize learning alongside progress.
- Learning improves understanding of technology, processes,
vt

and projects.
2. Modes of Learning
- Focus groups, technical reviews, and project postmortems.
3. Team Dynamics
- ASD highlights self-organizing teams, interpersonal
collaboration, and individual/team learning for project success.

Adaptive Cycle Planning


- Utilizes project initiation information for planning.
- Involves customer's mission statement, project constraints, and
basic requirements.
- Defines release cycles based on project needs, subject to
adjustments.

Collaboration and Communication


- Motivation and Collaboration
- Emphasizes collaboration to enhance talent and creative
output.
- Stresses the importance of trust and effective communication
within teams.

in
- Software Development Process
- Involves speculation, collaboration, and learning phases for
effective project management.

d.
ASD Resources
- Website: www.adaptivesd.com
- Useful resources: adaptive cycle planning, mission statement,
project constraints, basic requirements, time-boxed release plan,
components implemented/tested, focus groups for feedback.
u
b Narrate the core principles can be applied to the framework in L2 10
lo
all software process.

Core Principles Applicable to Framework in All Software


Processes
uc

Principles That Guide Process:


1. Be Agile: Emphasize economy of action and simplicity
in your technical approach.
2. Focus on Quality at Every Step: Ensure the quality of
work products is a primary focus in all activities.
vt

3. Be Ready to Adapt: Flexibility is essential in adapting the


approach to constraints imposed by the problem, people, and
project.
4. Build an Effective Team: Establish and maintain an
effective team for successful software engineering processes
.
Principles That Guide Practice:
1. Divide and Conquer: Emphasize separation of concerns
in analysis and design for easier problem-solving.
2. Understand the Use of Abstraction: Utilize abstraction to
simplify complex elements of a system for effective
communication.
3. Represent Problems and Solutions from Different
Perspectives: Gain insights and uncover errors by examining
issues from various viewpoints.
4 . Remember Someone Will Maintain the Software :
Apply solid software engineering practices for long -term
maintenance and enhancement.

These core principles provide a foundation for software


engineering methods, guiding both process and practice in

in
software development.

Communication Principles:
- Listen : Focus on the speaker 's words, seek clarification

d.
when needed , and avoid interruptions or contentious
behavior during communication.

Principles That Guide Each Framework Activity:


- Communication : Effective communication is essential

managers.
u
among technical peers, customers, stakeholders, and project

- Representation of Problems and Solutions: Viewing issues


lo
from different perspectives enhances understanding and
uncovers insights.
- Software Maintenance: Emphasize the importance of
maintaining software quality for long-term viability and
uc

adaptability.

These principles contribute to successful software engineering


practices, emphasizing effective communication, problem
representation, and software maintenance.
vt

Planning Principles:
- Constructing a Comprehensive Plan : Design a
detailed plan outlining tasks , responsible individuals , and
completion timelines for successful project execution.

Modeling Principles:
- Incremental Representation: Progressively detailed models
solidify understanding and provide guidance for software
implementation.

Construction Principles:
- Coding and Testing Cycles: Implement coding and testing
procedures following generic actions to ensure software
functionality and quality.

These principles collectively guide software development


processes, from planning and modeling to construction and
maintenance.

OR
Q. 06 a Elucidate the concepts of extreme programming (XP) with its L2 10

in
functional diagram

u d.
lo
Elucidating Extreme Programming (XP) Concepts with
Functional Diagram
uc

Overview of Extreme Programming (XP)


Extreme Programming (XP) is an agile software development
approach organized around four framework activities: planning,
design, coding, and testing. XP emphasizes rapid delivery of
software that satisfies customer needs. Key aspects of XP
include human collaboration, team self-organization, and
vt

creating frequent software releases based on stakeholder


priorities.

XP Values
- XP is driven by five core values: communication, simplicity,
feedback, courage, and respect.
- Effective communication, simplicity in design, continuous
feedback, courage to embrace changes, and respect among team
members and stakeholders are central to XP.

XP Process
1. Planning: The planning game involves requirements
gathering to understand business context and prioritize features
2.
. Design: Emphasizes an object-oriented approach and
involves creating solutions within the planning framework.
3. Coding: Involves writing code based on the planned
design and requirements.
4. Testing: Focuses on ensuring software quality through
real-time quality checks and feedback mechanisms.

in
XP Concerns and Debate
- Criticism: XP's incremental nature limits complexity,
potentially leading to inadequate design.
- Debate: The debate around XP includes concerns about

d.
downplaying analysis and design in favor of coding, the need
for discipline in adapting XP to organizational needs, and the
balance between agility and structured development.

XP Implementation
u
- XP recommends practices like pair programming and
stakeholder involvement.
- Incorporating XP concepts into development approaches can
lo
enhance agility while retaining aspects of disciplined design and
analysis.

b What is design modelling? Explain design modelling principles. L2 7


uc

Design Modelling Principles

Design Modelling Overview


Design modelling in software engineering involves creating
high-quality requirements and design models to guide the
vt

software development process. Design models provide a


concrete specification for constructing software based on
customer requirements.

Principles of Design Modelling


1. Explicit Purpose for Each Model : Ensure each model has a
clear justification for its existence to avoid missing important
functions and features during design.

2. Adapt Models to the System : Modify model notation or


rules to suit the specific application being developed,
considering differences in requirements and constraints.
3. Build Useful Models, Not Perfect Ones : Focus on
creating useful models rather than striving for perfection, as
excessive effort in perfecting models may not yield
significant benefits.

4. Communication through Models : Models should


effectively communicate information, using a consistent format
and standing on their own without the need for additional

in
explanations.

5. Traceability to Requirements Model : Design should be


traceable back to the requirements model to ensure alignment

d.
with customer needs and specifications.

6. Consider System Architecture : Design should start with


the system architecture, as it influences interfaces, data
structures, program control flow, testing, and system
u
maintainability.

7. Data Design Importance : Emphasize the design of data


lo
structures as much as processing functions, as well-structured
data design simplifies program flow and enhances software
component design and implementation.
uc

8. Iteration and Refinement : Design models progress from


representing the entirety of the system to refining details,
similar to an architect's plans, with different views of the system
to guide construction.

Applying Design Modelling Principles


vt

- The software design model acts as a blueprint for the software


development process, evolving from high-level representations
to detailed specifications.
- Various methods exist for deriving design elements, such as
data-driven, pattern-driven, and object-oriented approaches, all
guided by common design principles.
- These principles ensure consistency and effectiveness in
software design, fostering traceability, adaptability, and
communication in the development process.

Conclusion
Design modelling principles are essential in software
engineering to create robust and effective design models that
align with customer requirements and facilitate the development
of high-quality software systems.

in
u d.
lo
uc
vt
Module- Bloom’s
4 Taxono Marks
my
Download Level
Q. 07 a Explain the software development life cycle with block diagram L2 10

Software Development Life Cycle Explanation

in
u d.
lo
uc

Overview of Software Development Life Cycle


The software development life cycle involves several key stages
that guide the process from project initiation to completion. These
stages include feasibility study, requirements analysis,
architecture design, detailed design, planning, and incremental
vt

delivery. The life cycle emphasizes the importance of


understanding project requirements, designing system
architecture, and incrementally delivering the software product.

Components of Software Development Life Cycle


1. Feasibility Study: Assessing the project's viability and business
case before initiation.
2. Requirements Analysis: Gathering and understanding user and
manager requirements for the new system.
3. Architecture Design: Identifying components of the system that
fulfill requirements and mapping software requirements to
components.
4. Detailed Design: Creating software components consisting of
separate units that are individually coded and tested.
5. Planning Incremental Delivery: Emphasizing rapid application
development, project compression, and adaptive planning
strategies.

Key Activities in the Software Development Life Cycle


1. Requirements Elicitation: Establishing user and manager needs
for the system, including functional and quality requirements.
2. System and Software Development: Involves creating software

in
components, designing user interfaces, internal architectures, and
ICT infrastructure.
3. Training Course Organization: Involves designing training
materials, drafting timetables, arranging course dates, identifying

d.
attendees, and providing necessary facilities.
4. Objective-Driven Development: Distinguishing projects based
on product creation or meeting specific objectives, guiding the
project's purpose and execution.
u
Modern Trends in Software Project Management
- Emphasis on code reuse and project duration compression.
- Facilitation of client feedback and incremental product delivery.
lo
- Shift from long-term planning to adaptive strategies for rapid
project completion.
- Increasing importance of service level agreements in outsourced
projects.
uc

Project Management Practices Evolution


- Projects now focus on tailoring existing products or reusing pre-
built libraries.
- Clients demand further reductions in project delivery times and
costs.
vt

- Encouragement of change requests from customers for


incremental product evolution.
- Adoption of modern project management practices for effective
project development.

Software Development Life Cycle Block Diagram


The software development life cycle typically follows the
sequence recommended in the ISO 12207 standard, involving
various activities related to system and software development,
infrastructure installation, user job design, and user training.

Conclusion
The software development life cycle encompasses critical stages
from feasibility study to incremental delivery, emphasizing
requirements analysis, system architecture design, and adaptive
planning for successful project completion.
b List the characteristics of projects and show the differences L2 10
between Contract management and project management

Characteristics of Projects
- Non-routine tasks are involved.

in
- Planning is required.
- Specific objectives are to be met or a specified product is to be
created.
- The project has a predetermined time span.

d.
- Work is carried out for someone other than yourself.
- Work involves several specialisms.
- People are formed into a temporary work group to carry out the
task.
- Work is carried out in several phases.
u
- The resources available for use on the project are constrained.
- The project is large or complex.
lo
Differences Between Contract Management and Project
Management
- In contract management, organizations contract out ICT
development to outside developers, while in project
uc

management, in-house projects involve users and developers


working for the same organization.
- Contract management focuses on supervising the contract and
delegating technically oriented decisions to contractors, whereas
project management involves control over development costs
and project deliverables.
vt

- Contract managers ensure the overall project is within budget


and on time, delegating technical decisions, whereas project
managers have control over development costs and project
benefits.
- Project managers have considerable control over development
costs and the value of project deliverables, while contract
managers focus on technical issues and ensuring the project
meets contractual obligations.
- Project managers are concerned with achieving project
objectives such as delivering agreed functionality, quality,
timeliness, and budget adherence, while contract managers
oversee compliance with contractual terms and conditions.
- Contract management involves appointing a project manager to
supervise the contract, while project management involves
overseeing the entire project lifecycle from initiation to closure.
- Contract managers focus on the contractual aspects of the
project, while project managers are responsible for overall
project success and stakeholder satisfaction.
- Contract management may involve multiple technical project
managers dealing with specific technical issues, while project
management requires a holistic approach to meet project

in
objectives and deliver business value.

OR
Q. 08 a Discuss the ways of categorizing the software projects with L2 10

d.
real time examples.

Categorizing Software Projects with Real-Time Examples

Characteristics of Software Projects:


u
- Non-routine tasks are involved.
- Specific objectives are to be met or a specified product is to be
created.
lo
- The project has a predetermined time span.
- Work is carried out for someone other than yourself.
- Work involves several specialisms.
- People are formed into a temporary work group to carry out the
uc

task.
- Work is carried out in several phases.
- The resources available for use on the project are constrained.

Examples of Software Projects:


1. Getting married.
vt

2. Amending a financial computer system to deal with a


common European currency.
3. A research project into what makes a good human-computer
interface.
4. An investigation into the reason why a user has a problem
with a computer system.
5. Writing an operating system for a new computer.
6. Installing a new version of a word processing package in an
organization.
7. Developing a customized order processing system for a client.
8. Organizing a training course for end-users of a software
system.
Factors Affecting Software Projects:
- Compulsory versus voluntary users.
- Information systems versus embedded systems.

Success Measurement:
- Projects can be successful on delivery but may fail as a
business.
- Projects can be late and over budget but still generate benefits

in
over time.

Project Management Practices:


- Projects are temporary sub-organizations involving specialists.

d.
- Projects may be seen as disruptive but are focused on
important tasks.

Outsourcing vs. Product Development Projects:


- Managing outsourced projects differs in terms of control and
communication.
u
- Benefits of technical skills learned in earlier projects impact
later projects positively.
lo
Differences in Modern Software Project Management:
- Modern practices focus on reducing business risks.
- Activities such as market surveys, competitor analysis, and
uc

prototyping are emphasized.

Method vs. Methodology:


- A method is a way of doing something, while a methodology is
a system of methods used in a particular area.
- Planning essential items before implementing a method or
vt

methodology is crucial for success.

b Elucidate the concepts in activity planning in software project L3 10


management.

Elucidating Concepts in Activity Planning in Software


Project Management

Key Concepts in Activity Planning:


1. Software Project Management vs. Other Projects:
- Understanding the similarities and differences in managing
software projects compared to other types of projects.
- Emphasizing the importance of meeting objectives and
satisfying real needs in software project management.

2. Stakeholders and Objectives:


- Identifying project stakeholders and their objectives as
crucial components in project planning.
- Ensuring that stakeholder objectives are met through
effective project management practices.

in
3. Elements of Project Management:
- Outlining key elements of the management role, including
planning, organizing, staffing, directing, monitoring, controlling,
innovating, and representing.

d.
- Highlighting the significance of careful planning,
monitoring, and control in software project management.

4. Project Stages and Activities:


- Defining the usual stages of a software project, emphasizing

throughout.
u
the need for detailed planning, monitoring, and control

- Discussing the importance of creating test scripts, comparing


lo
actual vs. expected results, and identifying discrepancies as part
of project activities.

5. Activity Planning Details:


uc

- Explaining that a plan in software project management


converts methods into real activities, specifying start and end
dates, responsible individuals, and required tools/materials.
- Addressing the interrelationships between different methods
and techniques within methodologies like object-oriented
design.
vt

Planning and Management Activities:


1. Project Planning Responsibilities:
- Highlighting the importance of project planning in software
project management.
- Mentioning key activities during project planning, such as
estimation of cost, duration, and effort.

2. Scheduling and Staffing:


- Describing how schedules for manpower and resources are
developed based on estimations of effort and duration.
- Emphasizing the significance of staff organization and
staffing plans in project management.

3. Risk Management and Quality Assurance:


- Discussing the activities involved in risk management,
including risk identification, analysis, and abatement planning.
- Addressing the increasing focus on quality management
responsibilities of project managers, tracking project progress
and ensuring quality in intermediate artifacts.

in
4. Change Management and Miscellaneous Plans:
- Explaining the shift towards actively soliciting customer
feedback and incorporating changes throughout the development
process.

d.
- Mentioning the necessity of various plans like quality
assurance and configuration management plans in software
project management.

u
lo
uc
vt
Module-5
Download
Q. 09 a Explain Quality Management Systems with Principles of BS L1 10
EN ISO 9001:2000

Quality Management Systems with Principles of BS EN ISO


9001:2000

in
Quality Management Systems in BS EN ISO 9001:2000
- Purpose: Ensuring effective quality control and assurance
in software projects.
- Standard: BS EN ISO 9001:2000 (identical to ISO
9001:2000).

d.
- Key Element: Contractor's quality management system
validation.
- Standards: ISO 9000 series focus on monitoring and
control systems to check quality.
u
- Certification: Ensures development process quality rather
than end-product quality.
lo
Principles of BS EN ISO 9001:2000
- Continuous Improvement: Emphasizes ongoing
enhancement of processes.
- Factual Evidence: Decision-making based on factual data. -
uc

Relationships with Suppliers: Building mutually beneficial


relationships for quality.
Activities to Implement Principles
1. Determine customer needs and expectations.
2. Establish a quality policy defining quality objectives.
vt

3. Design processes to meet quality objectives.


4. Allocate responsibilities for process compliance.
5. Ensure resources availability for proper process execution.
6. Measure process effectiveness and efficiency.
7. Gather measurements.
8. Identify and address discrepancies between actual and target
values.
9. Analyze and eliminate causes of discrepancies for continual
improvement.

Detailed ISO 9001 Requirements


- Documentation: Objectives, procedures (quality manual),
plans, and records essential.
BS EN ISO 9001:2000 QMS Requirements Overview
- Foundation Principles: Understanding customer
requirements, leadership, staff involvement, process focus
, system focus.
- Applicability: Standards relevant to all types of
production, not limited to software development.

Controversies and Criticisms

in
- Controversies: Concerns over perceived product quality,
expense, and distraction from real quality issues.
b Explain Structured programming and clean-room software L2 10
development.

d.
Structured Programming and Clean-Room Software
Development

u
Structured Programming
Structured programming emphasizes a procedural structure in
software development, involving carefully laid down steps for
lo
each process in the software development cycle. It focuses on
breaking down complex systems into comprehensible
components and sub-components with clear entry and exit
points. This method aims to enhance the quality and reliability
of software by promoting systematic development practices.
uc

Key Points:
- Structured programming techniques advocate a methodical
approach to software development.
- It involves breaking down complex systems into manageable
vt

components.
- The emphasis is on maintaining a clear procedural structure
throughout the development cycle.
- The approach aims to improve software quality by ensuring
systematic and structured development processes.

Clean-Room Software Development


Clean-room software development is an advanced methodology
that utilizes mathematical verification techniques to ensure
software correctness and reliability. It involves three distinct
teams – specification, development, and certification – each with
specific roles in the software creation process. Clean-room
development focuses on incremental development, rigorous
testing, and verification using formal mathematical techniques to
enhance software quality and reliability.

Key Points:
- Clean-room development employs mathematical verification
techniques to ensure software correctness.
- It consists of three specialized teams, each with defined roles
in the software development process.
- Incremental development is a fundamental aspect of clean-

in
room software development.
- Rigorous testing and verification processes are conducted to
enhance software quality and reliability.

d.
Comparison
Structured programming provides a systematic approach to
software development, emphasizing procedural clarity and
component breakdown. Clean-room software development takes
this further by incorporating formal mathematical verification
u
techniques and specialized teams to ensure software correctness
and reliability through incremental development.
lo
Overall, both methodologies aim to enhance software quality
and reliability through structured processes and rigorous testing,
with clean-room development adding a layer of formal
mathematical verification to further improve software
uc

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

Automation Testing vs. Manual Testing: Advantages and


Tools

Advantages of Automation Testing over Manual Testing:


1. Sophisticated Test Case Design : Automation allows for the
deployment of more sophisticated test case design techniques.
2. Time and Cost Efficiency : Automation significantly
reduces time and effort in testing large and complex
software products.
3. Reliable Results : Automated test results are more reliable
and eliminate human errors during testing.
4. Regression Testing Simplification : Automation simplifies
the repeated running of test cases, especially for regression testing
after changes or error corrections.
5. Cost and Time Reduction : Automation tools promise
substantial cost and time reduction in testing and
maintenance phases.

Tools for Automation Testing:


1. Capture and Playback Tools : Record test cases during
manual execution for easy replay in subsequent tests.

in
2. Model-based Testing : Utilizes models, such as state
models and activity models, to generate tests covering the
program's state space.
3. Automated Test Script Tools : Drive automated tests using

d.
scripts, providing input and recording output for easy rerunning.
4. Random Input Testing Tools : Generate random test values
to cover the input space of the unit under test, focusing on
crashing the unit.
5. Test Automation : Generic term for automating test
u
processes, reducing human effort and improving testing
thoroughness.
lo
Automation Testing Strategies:
- Test Case Design : The effectiveness of testing depends on
the exact test case design strategy used.
- Maintenance**: Effort required to determine and remove
uc

invalid test cases or modify test input and output data when
changes occur.
- Thoroughness**: Automation allows more testing with a
large number of test cases within a short time without
significant cost overhead.
vt

Challenges and Considerations:


- Test Maintenance : Updating tests when the unit under test
changes can be costly.
- Test Script Accuracy : Ensuring test script accuracy
requires significant effort.
- Defect Detection : Random input testing tools may find
defects that crash the unit under test but not all incorrect results
.
Conclusion:
Automation testing offers several advantages over manual testing,
including improved efficiency, reliability, and cost reduction.
Various tools cater to different automation testing needs, from
capturing test cases to generating random inputs for testing
purposes.
b Explain the place of software quality in project planning L1 10

Software Quality in Project Planning

in
u d.
lo
uc

Importance of Software Quality


- Software quality is crucial due to the increasing criticality of
software in various applications, especially safety-critical ones
like aircraft control.
- The intangibility of software makes it challenging to assess task
vt

completion, emphasizing the need for tangible deliverables for


quality evaluation.
- Errors in software development can accumulate and have a
detrimental effect on the final product's quality.

Place of Software Quality in Project Planning


- Quality considerations are essential at all stages of project
planning and execution, with particular focus at key points such
as identifying project scope, infrastructure, and analyzing project
characteristics.
- Quality-based activities are integrated into project planning
processes, ensuring that quality requirements are identified and
addressed effectively.
- Quality plans may be necessary for external client projects to
ensure that all quality issues are adequately addressed.

Quality Plans
- Quality plans outline how standard quality procedures and
standards are applied to a project.
- They serve as checklists to ensure that all quality issues have
been addressed during the planning process.

in
- Quality plan contents may include purpose, references to other
documents, management arrangements, documentation,
standards, practices, reviews, testing, problem reporting, tools,
code control, training, risk management methods.

d.
Testing and Evaluation
- Methods are needed to assess the likely quality of the final
software system during development.
- Quality-enhancing techniques focus on testing product
u
deliverables and evaluating the quality of the development
processes used.
lo
Further Exercises
1. Draft quality specifications for a project planning software
tool, focusing on usability, reliability, and recoverability features.
2. Assess the maintainability of a software module from user and
uc

developer management perspectives.


3. Discuss the meaningfulness of measurements like the number
of error messages produced on the first compilation of a program.
vt

You might also like