21CS61 Set3
21CS61 Set3
Model Question Paper-1/2 with effect from 2021(CBCS Scheme) quality, the deliverables of successful projects, and the
necessity of documentation in software engineering.
US 5. The impact of software requirements changes varies with
N timing, with early changes incurring lower costs.
Sixth Semester B.E. Degree Examination Software 6. The misconception that software engineering leads to
Engineering and Project Management
voluminous and unnecessary documentation is debunked,
emphasizing the focus on creating a quality product.
TIME: 03 Hours SET - 3 Max. Marks: 7. A prevalent myth among software practitioners is the
100 belief that the job is done once the program is working,
while industry data shows ongoing efforts post-delivery.
Note:01.Answer any FIVE full questions, choosing at least ONE question from each MODULE. 8. Effective software quality assurance mechanisms like
THESE ANSWERS FROM TEXTBOOK technical reviews are crucial from the project's inception.
Diagram:
The incremental model applies linear sequences in a
staggered fashion as calendar time progresses, producing
deliverable increments of the software. The diagram
Incremental Development Process Model: visually represents how each increment adds functionality
The incremental process model focuses on delivering an over time, leading to the complete product.
operational product in increments. Early increments are
simplified versions of the final product that provide basic b Explain characteristics that differentiate WebApps from L2 CO1 10
functionality for user evaluation and serve as a platform other software
for future development. It is particularly useful when
staffing is limited, allowing for gradual implementation . Characteristics Differentiating WebApps from Other
based on user feedback and technical considerations. The Software
process involves iterative cycles of planning,
modification, and delivery of new features until the Network-Centric Nature
complete product is achieved. - WebApps are network-centric software applications
designed to serve a diverse community of clients.
Benefits of Incremental Model over Waterfall Model: - They reside on a network, providing worldwide or limited
1 . Flexibility : The incremental model accommodates access and communication.
changes and evolving requirements more effectively than - Must cater to varying patterns of usage among end users.
the rigid waterfall model.
2. Early Delivery of Functionality : Users receive basic User Load and Performance
functionality quickly with incremental releases, allowing - WebApps may experience unpredictable load , with
for early feedback and validation. the number of users varying significantly day by day.
3. Risk Management : Technical risks can be managed by - Concurrency is a key feature, allowing a large number of
planning increments to avoid dependencies or users to access the WebApp simultaneously.
uncertainties, ensuring timely delivery of partial - Performance is crucial, as delays may lead users to seek
functionalities. alternatives, emphasizing the importance of timely
4. Operational Product with Each Increment : Users can access .
benefit from operational products with each increment,
providing value early in the development process. Content Delivery and Aesthetics
5. Resource Optimization : Incremental development - WebApps primarily function to present text, graphics,
allows for flexibility in staffing, enabling the audio, and video content to users.
implementation of early increments with fewer resources - Content sensitivity is vital, influencing the overall
initially. quality and appeal of the WebApp.
6. Iterative Evaluation and Improvement : Each - Aesthetics play a significant role in the success of
WebApps, influencing user engagement and satisfaction.
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
Module-2
DOWNLOAD
Continuous Evolution and Immediacy
- Unlike traditional software, WebApps evolve continuously
rather than through planned releases. Q. 03 a What are the basic guidelines for conducting a L2 CO2 10
- Immediacy is a defining characteristic, emphasizing collaborative requirements gathering meeting . Write a
short note on negotiating and validating requirements.
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 Basic Guidelines for Conducting a Collaborative
enhancements. Requirements Gathering Meeting
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
b Illustrate Scenario Based Modeling with Safe Home L3 CO2 10 condition encountered.
Surveillance - Priority: Moderate, to be implemented after basic
example. functions.
- Available in: Third increment.
Scenario Based Modeling with Safe Home Surveillance - Frequency of Use: Moderate.
- Channel to Actor: Via PC-based browser and
SafeHome Surveillance Functionality Internet connection.
- The SafeHome surveillance subsystem allows - Secondary Actors: System administrator, cameras.
homeowners to perform various functions such as selecting - Open Issues: Mechanisms to protect unauthorized
cameras, requesting thumbnails, displaying camera views, use by SafeHome employees.
controlling pan and zoom, recording output, and accessing
surveillance via the Internet. Use Case Details: System Activation
- Use cases are developed for each function identified, - InitiateMonitoring Use Case:
initially in an informal narrative style and later in a - Primary Actor: Homeowner
structured format for more formality. - Goal: Set system to monitor sensors when leaving or
staying inside
Example Scenario: Accessing Camera Surveillance via - Preconditions: System programmed with password
the Internet and sensor recognition
- Primary Actor: Homeowner - Trigger: Homeowner decides to activate alarm
- Goal: View camera output from anywhere via the functions
Internet - Scenario Steps: Observes control panel, enters
- Preconditions: System fully configured, valid user ID password, selects "stay" or "away," observes alarm light
and passwords obtained for system status.
- Trigger: Homeowner decides to check the house
remotely OR
- Scenario Steps: Q.04 a Explain Class-Responsibility-Collaborator (CRC) L2 CO2 10
1. Homeowner logs onto SafeHome Products website. Modeling and data modeling with an example
2. Enters user ID and two valid passwords.
3. System displays major function buttons. Class-Responsibility-Collaborator (CRC) Modeling and
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.
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.
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.
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 Agility in software development refers to a dynamic and
customer expectations. growth-oriented approach that embraces change. It
emphasizes rapid delivery of operational software, customer
Scrum Artifacts collaboration, flexibility in planning, and incremental
- Backlog : A prioritized list of project requirements or delivery strategies. One key aspect of agility is its impact on
features that provide business value for the customer. the cost of change. Traditional software development
- Sprints : Work units that aim to achieve specific experiences nonlinear cost increases as a project progresses,
requirements defined in the backlog within a making late changes expensive and time-consuming. In
predefined time-box. contrast, agility aims to flatten the cost of change curve,
- Product Manager 's Role : Assess the backlog, update allowing teams to accommodate changes late in a project
priorities as required, and ensure alignment with customer with minimal cost and time impact. Incremental delivery,
needs. continuous unit testing, and pair programming are agile
practices that help reduce the cost of change.
Process Patterns and Adaptability
- Dynamic Nature : Scrum process patterns enable
Principles of Agile Software Development
teams to work successfully in environments where
uncertainty and changes are inevitable. 1. Customer Satisfaction: Prioritize early and continuous
- Adaptation : Work within sprints is adapted in real-
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
delivery of valuable software to satisfy the customer. during the software development process.
2. Embracing Change: Welcome changing requirements for
the customer's competitive advantage. Module-4
DOWNLOAD
3. Frequent Software Delivery: Deliver working software
frequently, with a preference for shorter timescales. Q. 07 a With example explain different categories of Software L2 CO4 10
4. Collaboration: Business people and developers must work Projects.
together daily throughout the project.
5. Motivated Individuals: Build projects around motivated
Different Categories of Software Projects
individuals and trust them to get the job done.
6. Effective Communication: Face-to-face conversation is
Objective-Driven vs. Product-Driven Projects
the most efficient way to convey information within the - Objective-driven projects focus on meeting specific
team. objectives that can be achieved in various ways, while
7. Progress Measurement: Working software is the primary product-driven projects aim to create a specified product as
measure of progress. requested by the client.
8. Sustainable Development: Agile processes promote - An example of an objective-driven project is one where an
sustainable development, maintaining a constant pace organization seeks recommendations to solve a problem,
indefinitely. leading to the need for a new software system.
Subsequently, a project is initiated to develop the software
These principles guide agile software development product based on these recommendations.
practices, focusing on customer satisfaction, adaptability to
change, collaboration, motivation, effective communication,
Examples of Software Projects
progress tracking, and sustainable development. 1. Getting married
2. Amending a financial computer system for the Euro
b Describe briefly the design modeling principles that guide L2 CO3 10 3. Researching human-computer interface quality
the respective framework activity 4. Investigating user issues with computer systems
5. Second-year programming assignment
Design Modeling Principles for Software Engineering 6. Operating system development for a new computer
7. Word processing software installation in an organization
Principles for Requirements Modeling:
1. Design should be traceable to the requirements model.
Characteristics of Software Development Projects
2. Always consider the architecture of the system to be - Software projects have particular difficulties due to the
built. relative invisibility of their products.
3. Design of data is as important as design of processing - Clear objectives are crucial for project success, but
functions. different stakeholders may have conflicting objectives,
necessitating a recognized overall project authority.
Principles for Design Modeling: - Effective communication channels and objective measures
1. Design should be traceable to the requirements model. of success are essential in projects involving multiple
2. Adapt the models you develop to the system at hand. individuals.
3. Try to build useful models, but forget about building
perfect models. Managing Software Projects
4. Don’t become dogmatic about the syntax of the model. - Modern software project management practices differ from
5. If your instincts tell you a model isn’t right, you traditional ones in various aspects, highlighting the evolving
probably have reason to be concerned. nature of managing software projects.
6. Get feedback as soon as you can. - Key aspects of modern software project management may
include agile methodologies, iterative development, and
These principles guide the respective framework activities enhanced collaboration tools.
in software engineering, ensuring the effectiveness and
adaptability of the design and requirements models created
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
Outsourced Projects vs. Product Development objectives.
- Outsourced projects typically provide one-time revenue to 4. Focus on Desired Outcomes : Objectives should
a company, while product development projects can concentrate on desired project outcomes rather than task
generate revenue over several years. - based goals.
- Managing an outsourcing project differs from product 5 . Set Shared Intentions : Project objectives should
development in terms of project oversight, communication reflect shared intentions among stakeholders for
channels, and financial considerations. project success.
6. Prioritize Project Success Criteria : Define success
Software Product Development vs. Outsourced Projects - criteria based on the agreed functionality, required quality
Software product development involves creating a software , timeliness, and budget adherence.
product based on client specifications, while outsourced 7. Ensure Stakeholder Communication : Develop a
projects entail contracting external groups for specific tasks communication plan at the project 's outset to
. coordinate stakeholder efforts effectively.
- Outsourced projects have distinct management challenges 8. Recognize Different Interests : Acknowledge that
compared to in-house product development, such as different stakeholders may have varying objectives and
coordination with external vendors and ensuring project motivations, requiring effective communication and
alignment with business goals. negotiation.
b Explain the procedure of setting objectives for successful L2 CO4 10 Additional Considerations:
completion of - Sub -Objectives and Goals : Break down objectives
software project. into sub-goals that are within the control of individuals
or groups, ensuring progress towards the main objective.
Setting Objectives for Successful Completion of - Project vs . Business Objectives : Distinguish between
Software Project project objectives (targets for the project team ) and
business objectives (value realization ), ensuring alignment
Key Components of Setting Objectives: for overall success.
- Specific : Objectives should be concrete and well- - Theory W : Adopt a 'win-win' approach in software
defined to ensure clarity on project success criteria. project management to create situations where all parties
- Measurable : Objectives should have measures of benefit from project success.
effectiveness to gauge project success , such as
reducing customer complaints. OR
- Achievable : Objectives must be attainable by the Q. 08 a Differentiate between project management life cycle and L2 CO4 10
individual or group responsible for achieving them. software development life cycle and its phases
- Relevant : Objectives should align with the true
purpose of the project to ensure relevance. Differentiation between Project Management Life Cycle
- Time-Constrained : Objectives should have defined and Software Development Life Cycle
timeframes for achievement to provide a clear deadline.
Project Management Life Cycle:
Procedure for Setting Objectives: 1. Characteristics of Projects:
1. Define Clear Objectives : Ensure that project objectives - Non-routine tasks involved.
are specific, measurable, achievable, relevant, and time- - Specific objectives to be met or a specified product to
constrained (SMART criteria). be created.
2. Identify Stakeholders : Recognize stakeholders who - Work is carried out for someone other than yourself.
own the project, control financing, and set project - Work involves several specialisms.
objectives. - Work is carried out in several phases.
3. Establish Project Authority : Explicitly identify
project authority, often through a steering committee 2. Project Planning:
responsible for setting, monitoring, and modifying - Involves activities such as estimation, cost, duration,
Page 01 of 02 Page 01 of 02
07082024 07082024
21CS61 21CS61
effort estimation. 1. Key Ideas:
- Scheduling based on estimations of effort and duration. - Software projects involve meeting specific objectives to
satisfy real needs.
3. Project Success Criteria: - Projects are non-routine and uncertain, requiring careful
- Success determined by the value of benefits exceeding management.
costs.
- Increasing development costs reduce profitability. b What is the role of management in execution of software L2 CO4 10
project development? Explain the Difference between
4. Project Objectives vs. Business Objectives: Traditional and Modern Project Management.
- Project objectives focus on agreed functionality, quality,
timeliness, and budget adherence. Role of Management in Software Project Development
- Business success depends on the value of benefits
exceeding costs. Management plays a crucial role in the execution of
software project development by overseeing various aspects
Software Development Life Cycle: of the project to ensure its success. Here are key points
1. Importance of Version Control: regarding the role of management in software project
- Increasing importance of tracking versions and development based on the provided document:
revisions in software development.
- Customization development models lead to multiple - Management is responsible for planning, monitoring, and
product versions. controlling software projects to ensure they meet objectives
and satisfy stakeholders' needs.
2. Change Management: - The project manager is involved in activities such as
- Project managers play a crucial role in product scheduling, staffing, risk management, and developing
baselining and version control. miscellaneous plans like quality assurance and configuration
- Change management is essential for successful project management plans.
delivery. - Project monitoring and control activities are crucial to
ensure that software development proceeds as planned, with
3. Modern Project Management Practices: the flexibility to adjust plans based on evolving project data.
- Goals include code reuse maximization and project - Project planning is a significant responsibility of the
duration compression. project manager, involving activities such as estimation of
- Emphasis on accommodating client feedback and cost, duration, and effort, which are critical for subsequent
incremental product delivery. scheduling and staffing decisions.
Page 01 of 02 Page 02 of 02
07082024 07082024
21CS61 21CS61
These models, along with SEI CMM and CMMI, are utilization, efficiency compliance.
widely recognized for their effectiveness in managing - Maintainability: Includes analysability,
software quality through process-based techniques. changeability, stability, testability,
maintainability compliance.
Diagram for SEI CMM
Currently, a detailed diagram for SEI CMM is not provided
in the available content. However, the model visually OR
represents the five process maturity levels and how Q. 10 a Identify how Automation testing is preferred over manual L1 CO5 10
organizations progress through these levels to enhance their testing, with different tools used for Automation Testing
software development processes.
Automation Testing Advantages Over Manual Testing
b Explain the quality models: L2 CO5 10 and Tools Used
1) Garvin’s Quality Dimensions
2) Mccall Model Automation Testing Advantages Over Manual Testing
3) Boehms Model 1. Efficiency : Automated testing tools can rerun test
scripts easily and cheaply, reducing manual effort
Quality Models Overview significantly.
2. Cost-Effectiveness : Automation testing can
Garvin’s Quality Dimensions substantially reduce testing costs compared to manual
- Performance: The primary operating characteristics of testing.
a product or service. 3. Thoroughness : Automation testing allows for more
- Features: The additional characteristics that enhance a sophisticated test case design strategies, improving the
product's appeal. thoroughness of testing.
- Reliability: The probability of a product failing 4. Reliability : Automated test results are more reliable
within a specified time period. and eliminate human errors during testing.
- Conformance: The precision with which a product 5. Regression Testing : Automation simplifies repeated
meets its design specifications. running of test cases, especially after changes or error
- Durability: The life expectancy of a product. corrections.
- Serviceability: The ease of repair of a product. 6. Time-Saving : Automation testing can run a large
- Aesthetics: The subjective sensory characteristics of a number of test cases within a short period without
product. significant cost overhead.
- Perceived Quality: The quality as perceived by the 7. Maintenance : Helps in maintaining the test suite
customer. integrity as software undergoes changes over time.