21cs61 Model Paper Ans
21cs61 Model Paper Ans
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
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
market dynamics.
b Demonstrate the waterfall model spiral and model with real time L3 10
example.
in
u d.
lo
Waterfall Model Overview:
uc
in
implementation while reducing risk.
- Employs anchor point milestones for stakeholder commitment
to feasible solutions.
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
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.
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.
d.
Practice
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
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
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.
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.
3. Class-Based Modeling :
- Define objects, attributes, and relationships within the system.
- Identify candidate classes based on descriptive nouns in use-
in
case scripts.
d.
- Analyze models to ensure accuracy and address any issues.
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
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.
in
u d.
lo
Swimlane Diagram
- The swimlane diagram for accessing camera surveillance via
uc
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.
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.
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.
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.
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.
managers.
u
among technical peers, customers, stakeholders, and project
adaptability.
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.
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
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.
in
explanations.
d.
with customer needs and specifications.
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
in
u d.
lo
uc
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
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
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.
task.
- Work is carried out in several phases.
- The resources available for use on the project are constrained.
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.
d.
- Projects may be seen as disruptive but are focused on
important tasks.
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.
throughout.
u
the need for detailed planning, monitoring, and control
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
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
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.
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
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
in
u d.
lo
uc
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