Unit 8
Unit 8
CASE Tools ⭐⭐
A Software Process Model is a structured framework that outlines the stages and sequence
involved in developing software. It guides the team from requirement gathering to software
delivery and maintenance.
🔷 1. Waterfall Model
✅ Definition:
A linear and sequential development model. Each phase must be completed before the next
begins.
✅ Phases:
1. Requirement Analysis
2. System Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance
✅ Advantages:
✅ Disadvantages:
Inflexible to changes
🔷 2. Incremental Model
✅ Definition:
Software is developed and delivered in small increments with each increment adding
functionality.
✅ Features:
✅ Advantages:
Early feedback
✅ Disadvantages:
🔷 3. Spiral Model
✅ Definition:
Combines features of iterative development and risk analysis.
✅ Phases:
1. Planning
2. Risk Analysis
3. Engineering
4. Evaluation
✅ Key Focus:
Risk management
Iterative process
✅ Advantages:
✅ Disadvantages:
Complex to manage
Expensive
🔷 4. Agile Model
✅ Definition:
Emphasizes iterative development, collaboration, and customer feedback.
✅ Key Principles (Agile Manifesto):
Customer collaboration
Responding to change
✅ Common Methods:
Scrum
✅ Advantages:
Highly flexible
Continuous delivery
✅ Disadvantages:
✅ Definition:
Focuses on rapid prototyping and quick feedback.
✅ Phases:
Requirements Planning
User Design
Construction
Cutover (deployment)
✅ Advantages:
Fast delivery
High user involvement
✅ Disadvantages:
📘 Summary Table
Q4. Which model is best suited for large, complex projects with changing requirements?
A. Agile
B. Spiral ✔️
C. Waterfall
D. RAD
Q9. In Agile, what is the term for short, iterative development cycles?
A. Sprints ✔️
B. Loops
C. Spirals
D. Builds
Q10. Which model follows “Plan → Design → Build → Test → Deploy” strictly?
A. RAD
B. Waterfall ✔️
C. Agile
D. Spiral
(15 More MCQs will be included in next message for length balance)
Would you like me to continue with the next 15 MCQs now or proceed to Topic 2: Software
Testing detailed notes?
You said:
ChatGPT said:
Here are the remaining 15 high-probability MCQs for the topic Software Process Models (Bihar
STET Paper 2 – Computer Science):
Q16. Which software model uses “Working software over comprehensive documentation” as a
principle?
A. Spiral
B. Agile ✔️
C. Waterfall
D. Incremental
Q19. Which model allows risk analysis and customer evaluation at each stage?
A. Agile
B. Spiral ✔️
C. V-model
D. RAD
Q20. Which model is least suitable for a project with frequent requirement changes?
A. Agile
B. Waterfall ✔️
C. Spiral
D. Incremental
Q26. Which model is most appropriate for developing mission-critical software (e.g., banking
systems)?
A. Spiral ✔️
B. Agile
C. RAD
D. Prototyping
Q28. Which process model is best when the customer cannot define the complete requirements
at the start?
A. Waterfall
B. Spiral
C. Agile ✔️
D. V-model
✅ Software Testing is the process of evaluating software to find and fix bugs before product
release.
✅ Key Objectives:
🔶 2. Types of Testing
✅ A. Manual Testing
✅ B. Automated Testing
🔶 3. Testing Levels
✅ Unit Testing
Done by developers.
Tools: JUnit, NUnit.
✅ Integration Testing
✅ System Testing
✅ Acceptance Testing
🔶 4. Testing Techniques
✅ Black-Box Testing
✅ White-Box Testing
✅ Grey-Box Testing
🔶 7. Regression Testing
Often automated.
Test Case: Detailed steps, inputs, and expected results for a test.
You said:
yes
ChatGPT said:
Here are the 30 most probable MCQs on Software Testing, based on Bihar STET Paper 2 trend:
Q3. The process of evaluating the functionality of a software application without peeking into
its internal structures is:
A. White-box testing
B. Black-box testing ✔️
C. Unit testing
D. Load testing
Q6. Which testing checks whether a new code change has affected existing functionality?
A. Regression Testing ✔️
B. Integration Testing
C. Sanity Testing
D. Load Testing
Q14. What type of testing focuses on user interfaces and overall experience?
A. Usability Testing ✔️
B. Load Testing
C. Regression Testing
D. System Testing
Q25. A software testing technique that involves checking all possible combinations of input
values is:
A. Exhaustive testing ✔️
B. Black-box
C. Random testing
D. Alpha testing
Q29. Which type of testing can be done without the actual program being run?
A. Dynamic
B. Functional
C. Static ✔️
D. Sanity
🖥️ SOFTWARE DESIGN & ARCHITECTURE – In-Depth Notes (Bihar STET Paper 2 Focused)
(⭐⭐⭐ ⭐ – Important Topic)
✅ Definition:
Software Design is the process of transforming requirements into a blueprint for constructing
the software. It bridges requirements analysis and implementation.
✅ Levels of Design:
🔶 2. Design Principles
✅ (i) Modularity
✅ (ii) Cohesion
Definition: Degree to which elements of a module belong together.
Types:
✅ (iii) Coupling
Types:
Encapsulation: Bundling data and methods that operate on the data within a module.
Definition: Divide a program into distinct features with minimal overlap in functionality.
Each layer has specific responsibility; communicates only with adjacent layers.
✅ (iv) Microservices
Each service runs in its own process and communicates via lightweight mechanisms
(e.g., REST).
🔶 4. Design Documentation
✅ UML Diagrams:
Use Case Diagram: Depicts actors and their interactions with the system.
🔶 5. Design Metrics
✅ Fan-in / Fan-out:
🔶 1. What is SDLC?
✅ Purpose:
2. System Design
3. Implementation (Coding)
4. Testing
5. Deployment
6. Maintenance
✅ Common Models:
🔶 4. Importance of SDLC
Design Document
Source Code
User Manuals
Maintenance Reports
13. The document that outlines what the software should do is called:
a) Test Plan
b) SRS
c) Deployment Guide
d) Design Document
14. Which phase involves translating design into code?
a) Implementation
b) Testing
c) Maintenance
d) Requirement Analysis
20. Which phase focuses on installing software into the user environment?
a) Deployment
b) Maintenance
c) Testing
d) Requirement Analysis
✅ Definition:
It is the process of eliciting, documenting, validating, and managing the needs and
functionalities of a software system.
✅ Purpose:
Ensure that the software product meets the expectations of stakeholders and is technically
feasible.
🔶 2. Types of Requirements
Derived from the application domain and may not be clearly stated.
✅ Phases:
1. Feasibility Study:
– Analyze whether the system is practical and cost-effective.
2. Requirements Elicitation:
– Techniques: Interviews, questionnaires, observations, prototyping.
3. Requirements Analysis:
– Resolve conflicts, classify requirements, and prioritize.
4. Requirements Specification:
– Documenting requirements in SRS (Software Requirements Specification).
5. Requirements Validation:
– Check for consistency, completeness, correctness.
6. Requirements Management:
– Handle requirement changes throughout the project lifecycle.
✅ Definition:
A formal document describing system functionalities, constraints, and interactions.
Correct
Unambiguous
Complete
Consistent
Verifiable
Modifiable
Traceable
Interviews
Brainstorming
Focus Groups
Prototyping
Use Cases
Scenarios
Observation
Document Analysis
✅ Ambiguity
✅ Incompleteness
✅ Changing requirements
✅ Stakeholder conflicts
✅ Poor documentation