Q.2. (i) Software doesn't "wear out". Discuss, briefly. Unlike hardware, which suffers from physical environmental factors like dust, heat, and friction (following a "bathtub curve" of failure rates), software is a logical entity and does not physically degrade over time. However, software deteriorates. As a system is continuously patched, updated, or adapted to new environments (such as migrating to a new version of Next.js or a different database schema), the internal structure can become complex and messy. This continuous change introduces new bugs, causing the software to deteriorate conceptually, even though it never physically "wears out."
Q.2. (ii) What are the Drawbacks of RAD Model? The Rapid Application Development (RAD) model focuses on fast prototyping and quick delivery, but it has several notable drawbacks:
Q.2. (iii) What is Object-oriented decomposition?
Object-oriented decomposition is the process of breaking down a large, complex software system into smaller, manageable, and highly cohesive parts called "objects" or "classes." Instead of breaking a system down by functions (what it does), it breaks it down by real-world entities (what it is). Each object encapsulates both its data (attributes) and its behaviors (methods). For example, a university system might be decomposed into Student, Course, and Instructor objects, each managing its own state and interacting via messages.
Q.2. (iv) What is integration testing? Which kind of projects will require this kind of testing? Integration testing is a phase in software testing where individual software modules are combined and tested as a group to expose faults in how they interact and share data.
Q.2. (v) What is feasibility study? What are the contents we should contain in the feasibility? A feasibility study is a preliminary assessment conducted before heavy development begins to determine if a software project is practical, justified, and likely to succeed. The key contents of a feasibility report include:
Q.2. (vi) Differentiate between SRS document and design document?
Agile Methodologies Defined Agile methodologies are iterative and incremental approaches to software development. Instead of delivering a project in one massive "Big Bang" at the end of a long timeline, Agile breaks the project into small, manageable iterations (often lasting 1–4 weeks). It emphasizes continuous collaboration, high adaptability to changing requirements, and delivering functional, working software to the customer frequently.
1. Scrum Scrum is one of the most popular Agile frameworks, designed for small, highly collaborative teams.
Sprints: Work is divided into fixed-length iterations called Sprints (usually 2 weeks).
Key Roles:
Product Owner: Represents the client and manages the Product Backlog (the list of all desired features).
Scrum Master: Facilitates the process and removes blockers for the team.
Development Team: The self-organizing group writing the code.
Ceremonies: It includes Daily Stand-up meetings (to discuss progress and blockers), Sprint Planning, and Sprint Retrospectives to ensure continuous improvement.
2. Kanban Kanban is a highly visual Agile methodology focused on continuous workflow and reducing bottlenecks.
Phases of the SDLC (Software Development Life Cycle) The SDLC is a structured framework detailing the standard phases of software engineering.
Importance of SDLC in Real-Life Projects Without an SDLC, software development becomes chaotic, leading to scope creep, massive budget overruns, and ultimately, project failure. The SDLC provides strict project tracking, ensures high quality through planned testing, defines clear roles, and aligns the final product directly with the customer's actual business needs.
Real-Life Example: Building an Educational Platform Consider the real-life development of an educational platform like Scholar Quill, an LMS meant to provide study notes and past papers.
(Note for Exam: Use the text descriptions below to draw the standard bubble/box DFD diagrams on your paper. Use a circle for processes, rectangles for external entities, and open-ended rectangles for data stores).
1. Context Level DFD (Level 0) The Context DFD shows the entire system as a single process interacting with its external environment.
0. Textbook Inventory System[TEXTBOOK MASTER LIST] (0. System)[PURCHASE ORDER (Form 17)] Publishing Companies[PACKING SLIP & Books] Receiving Department[Verified Slip Data] (0. System)[BOOK REQUEST FORM & Payment] (0. System)[CASH REGISTER SALES RECEIPT] Students2. Detailed DFD (Level 1) The Level 1 DFD breaks the central system down into its core sub-processes and introduces data stores.
Data Stores (Open Rectangles):
D1: Course & Textbook DB
D2: Inventory/Stock DB
Processes (Circles) & Interactions:
Process 1: Manage Course Data
Input: [TEXTBOOK MASTER LIST] from Academic Departments.
Action: Saves data to D1: Course & Textbook DB.
Process 2: Generate Orders
Input: Reads needed books from D1: Course & Textbook DB and compares with D2: Inventory/Stock DB.
Output: Sends [PURCHASE ORDER (Form 17)] to Publishing Companies.
Process 3: Verify & Update Inventory
Input: Receiving Department verifies books against the [PACKING SLIP] and inputs verification to Process 3.
Output: Updates stock levels in D2: Inventory/Stock DB.
Process 4: Process Student Sales
Input: [BOOK REQUEST FORM & Payment] from Students.
Action: Checks D2: Inventory/Stock DB to verify the book is in stock. Reduces stock by 1.
Output: Generates and issues [CASH REGISTER SALES RECEIPT] to the Student.
a) Enlist Functional, nonfunctional, user and business requirement for the above case study. (3)
Functional Requirements: (What the system must actively do)
The system must allow the user to select products and quantities to submit an order.
The system must send an automated order confirmation via email.
The system must verify requested amounts against current magazine/stock levels.
The system must automatically generate an email to a major supplier to order out-of-stock goods.
The system must reserve partial stock and add pending items to a list of open orders.
Non-functional Requirements: (System qualities/performance)
Performance: The system must check stock and process the "shipment" state immediately.
Reliability/Availability: The web browser interface and email dispatch systems must be highly available and dependable.
User Requirements: (What the user needs to accomplish)
The customer requires an intuitive web-based order form to easily select desired products and amounts.
Business Requirements: (The ultimate business goal)
The business requires an automated order and supplier-restocking workflow to fulfill customer orders efficiently without manual stock-taking.
b) List one example for each Primary and secondary and off-stage/tertiary actor in the above mentioned case. (3)
Open this section to load past papers