IT 242

Software Design and Development

TU BIM · Semester 5 · BIM curriculum effective from 2021

Requirement
required
Credits
3
Practice sets
5 sets

Practice sets and model questions

5 complete syllabus-aligned practice examinations with model-style questions and step-by-step solutions. Independently prepared by Paper Khoj, not issued by TU.

practice sets loaded.

Practice Set 1

Report problem

PAPER KHOJ

Practice Examination — Set 1

For BIM · Semester 5

Based on the prescribed TU Faculty of Management syllabus and examination structure

Independently prepared by Paper Khoj. This is not an official Tribhuvan University or Dean's Office question paper.

Course: IT 242 · Software Design and Development

Level: Bachelor of Information Management (BIM) · Semester 5

Full Marks: 60

Time: 3 hrs.

Candidates are required to give their answers in their own words as far as practicable. The figures in the margin indicate full marks.

Group 'A'

Brief Answer Questions. Attempt all questions.

[5 × 2 = 10]
  1. [2]

    Define Software Engineering and state why the “Software Crisis” led to its emergence.

    View model answerHide model answer

    Software Engineering & The Software Crisis:

    • Software Engineering: The systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software (IEEE definition); the application of engineering principles to software.
    • The Software Crisis (Late 1960s): Emerged when software projects routinely exceeded budgets, slipped past delivery deadlines, caused catastrophic runtime failures, and proved impossible to maintain due to ad-hoc, undisciplined coding without formal specifications.
  2. [2]

    Distinguish between Functional and Non-Functional Requirements with an example of each.

    View model answerHide model answer

    Functional vs. Non-Functional Requirements:

    • Functional Requirements: Define specific behaviors, computations, data manipulation, and services the system must execute (e.g. “The system shall allow users to transfer funds between bank accounts via connectIPS”).
    • Non-Functional Requirements: Specify quality attributes, system constraints, and operational standards (e.g. “The fund transfer API must process requests within 500ms under a load of 1,000 concurrent transactions, adhering to TLS 1.3”).
  3. [2]

    What is a Software Requirements Specification (SRS) according to IEEE 830?

    View model answerHide model answer

    Software Requirements Specification (SRS):

    A formal, structured document that describes the intended purpose, behavior, features, and constraints of a software system to be developed.

    • Adheres to IEEE 830 standards ensuring requirements are correct, unambiguous, complete, consistent, ranked for importance, verifiable, modifiable, and traceable.
  4. [2]

    Define User Story in Agile Scrum and list the INVEST criteria.

    View model answerHide model answer

    User Story & INVEST Criteria:

    A short, simple description of a feature told from the perspective of the end user:

    “As a [role], I want [feature], so that [business benefit].”

    • INVEST Criteria (Bill Wake):
      • I: Independent
      • N: Negotiable
      • V: Valuable
      • E: Estimable
      • S: Small (fits within a single sprint)
      • T: Testable
  5. [2]

    Distinguish between Verification and Validation in software engineering.

    View model answerHide model answer

    Verification vs. Validation (Boehm):

    • Verification: “Are we building the product right?” Static evaluation of code, designs, and specifications through inspections, walkthroughs, and reviews to ensure conformance to requirements.
    • Validation: “Are we building the right product?” Dynamic testing of the executing software to ensure it satisfies true user operational needs and expectations.

Group 'B'

Short Answer / Problem Solving Questions. Attempt any SIX questions.

[6 × 5 = 30]
  1. [5]

    Compare the Classic Waterfall Model with the Spiral Model across Requirement Flexibility, Risk Management, Cost, and Customer Involvement.

    View model answerHide model answer

    Waterfall Model vs. Spiral Model:

    Dimension Waterfall Model Spiral Model (Boehm)
    Philosophy Linear, sequential phases; each phase must complete before the next begins. Evolutionary, risk-driven iterative model combining prototyping with waterfall rigor.
    Requirement Flexibility Extremely rigid; changes late in development are prohibitively expensive. Highly flexible; requirements adapt dynamically in successive spiral iterations.
    Risk Management Negligible explicit risk handling; risks discovered late during testing. Core strength: Formal risk analysis quadrant executed at every single spiral loop.
    Customer Involvement Limited: only at initial requirements sign-off and final acceptance delivery. Continuous: customer evaluates prototypes at the conclusion of every spiral revolution.
    Best Suited For Small, well-understood projects with fixed, immutable specifications. Large, expensive, mission-critical enterprise systems with high technical uncertainty.
  2. [5]

    Explain the Agile Scrum Framework: Roles (Product Owner, Scrum Master, Developers), Artifacts (Product Backlog, Sprint Backlog, Increment), and Ceremonies.

    View model answerHide model answer

    The Agile Scrum Framework:

    [Product Backlog] ──► [Sprint Planning] ──► [Sprint Backlog]
                                  │
                         [2-4 Week Sprint] ◄── [Daily Scrum (15 min)]
                                  │
                 ┌────────────────┴────────────────┐
                 ▼                                 ▼
       [Sprint Review (Demo)]            [Sprint Retrospective]
                 │
    [Potentially Shippable Product Increment]
    

    1. Scrum Roles:

    • Product Owner (PO): Maximizes product value; owns and prioritizes the Product Backlog.
    • Scrum Master (SM): Servant leader who coaches the team, removes impediments, and facilitates ceremonies.
    • Developers: Cross-functional self-organizing team that builds the increment.

    2. Scrum Artifacts:

    • Product Backlog: Prioritized master inventory of all user stories and requirements.
    • Sprint Backlog: Subset of user stories committed for completion in the current sprint.
    • Increment: The sum of all backlog items completed during a sprint meeting the Definition of Done (DoD).

    3. Scrum Ceremonies:

    • Sprint Planning: Selects backlog items and creates the sprint goal.
    • Daily Scrum: 15-minute daily sync: What did I do? What will I do? What are blockers?
    • Sprint Review: Live demo of the completed increment to stakeholders.
    • Sprint Retrospective: Internal team inspection: What went well? What can improve?
  3. [5]

    Detail Requirements Elicitation Techniques: Interviews, Questionnaires, Facilitated Workshops (JAD/FAST), Prototyping, and Observation.

    View model answerHide model answer

    Requirements Elicitation Techniques:

    1. Interviews (Structured vs Unstructured): Direct dialog with stakeholders. Effective for uncovering in-depth perspectives and operational nuances, though time-consuming.
    2. Questionnaires / Surveys: Distributes standardized questions to hundreds of geographically dispersed users. Inexpensive and quantitative, but lacks qualitative depth and suffers non-response bias.
    3. Joint Application Design (JAD) / FAST Workshops: Intensive structured sessions bringing developers, business analysts, and users together in a single room for 2–3 days with a neutral facilitator, rapidly resolving conflicting priorities.
    4. Prototyping (Wireframes / Mockups): Building interactive Figma/UI models to help non-technical users visualize workflows and discover implicit requirements.
    5. Observation (Ethnographic Job Shadowing): Analyst observes operators performing daily tasks in their real workplace, identifying unstated workarounds and ergonomic pain points.
  4. [5]

    Explain Use Case Modeling in UML. Distinguish between <<include>> and <<extend>> relationships with a diagram and example.

    View model answerHide model answer

    Use Case Modeling & Include vs. Extend:

    A Use Case captures a contract between system actors and the system, describing a sequence of actions that yields an observable result of value.


    <<include>> vs. <<extend>> Relationships:

    [Actor: User] ──► (Transfer Funds) ──<<include>>──► (Authenticate User)
                             ▲
                             │ <<extend>> (Condition: Insufficient Balance)
                             │
                     (Send SMS Alert)
    
    1. <<include>> (Mandatory Dependency):
      • The base use case always executes the included use case as part of its normal execution flow.
      • Extracts common, reusable subroutines across multiple use cases.
      • Example: Both (Transfer Funds) and (View Statement) <<include>> (Authenticate User).
    2. <<extend>> (Optional / Conditional Extension):
      • The extending use case is executed only conditionally when a specific extension point condition occurs.
      • The base use case is complete on its own without the extension.
      • Example: (Send Low Balance Alert) <<extend>> (Transfer Funds) only if account balance drops below minimum threshold.
  5. [5]

    Detail Feasibility Analysis for a software project: Technical, Economic (NPV, ROI, Payback), Operational, Schedule, and Legal feasibility.

    View model answerHide model answer

    Comprehensive Feasibility Analysis:

    1. Technical Feasibility: Can we build it with available technology? Assesses technical risk, team skills, hardware availability, scalability, and system compatibility.
    2. Economic Feasibility (Cost-Benefit Analysis): Will the system provide positive financial return?
      • Net Present Value (NPV): Discounted present value of future cash flows minus initial investment.
      • Return on Investment (ROI): Total Net BenefitsTotal Costs×100\frac{\text{Total Net Benefits}}{\text{Total Costs}} \times 100.
      • Payback Period: Time required for cumulative net benefits to recover the initial capital expenditure.
    3. Operational Feasibility: Will the system be accepted and adopted by end users in the organizational workflow? Analyzes human resistance to change and training needs.
    4. Schedule Feasibility: Can the software be developed and deployed before critical business deadlines?
    5. Legal & Contractual Feasibility: Ensures compliance with copyright laws, GDPR/data privacy acts, and Nepal’s Electronic Transactions Act 2063.
  6. [5]

    Explain Extreme Programming (XP). Detail its core technical practices: Pair Programming, Test-Driven Development (TDD), Refactoring, and Continuous Integration.

    View model answerHide model answer

    Extreme Programming (XP) Core Practices:

    An agile software development methodology focused on high software quality and responsiveness to changing customer requirements.


    Core Engineering Practices:

    1. Pair Programming: Two developers work simultaneously at a single workstation. The Driver writes code while the Navigator reviews each line in real time, catching bugs, verifying architecture, and sharing knowledge.
    2. Test-Driven Development (TDD): Follows the Red-Green-Refactor cycle:
      • Red: Write an automated unit test that fails.
      • Green: Write the minimum production code required to pass the test.
      • Refactor: Clean up and optimize the code without changing external behavior.
    3. Refactoring: Continuously improving the internal design of working code to remove code smells and reduce technical debt without altering functional behavior.
    4. Continuous Integration (CI): Developers integrate their code changes into the shared mainline branch multiple times daily, running automated regression tests on every commit.

Group 'C'

Comprehensive / Analytical Questions. Attempt all questions.

[2 × 10 = 20]
  1. [10]

    Design an end-to-end UML Architectural Model for an Online Mobile Banking System in Nepal (supporting mobile login, account summary, connectIPS fund transfer, utility bill payment, and SMS OTP verification): a) Construct a comprehensive UML Use Case Diagram showing primary actors (Customer, Bank Teller, connectIPS Payment Gateway, SMS Gateway), use cases, and <<include>> / <<extend>> relationships. b) Construct a detailed UML Sequence Diagram for the “Transfer Funds via connectIPS” workflow showing interactions between Customer, Mobile App UI, API Gateway, Account Service, connectIPS Gateway, and SMS Notification Service, including alternative exception flows for Insufficient Balance and Invalid OTP.

    View model answerHide model answer

    UML Architectural Model for Online Mobile Banking System:


    Part (a): Use Case Diagram

      [Customer]
          │
          ├───► (Login with Biometrics / PIN) ──<<include>>──► (Verify Credentials)
          │
          ├───► (View Account Summary)
          │
          ├───► (Transfer Funds via connectIPS) ──<<include>>──► (Generate & Verify OTP)
          │            │
          │            └──<<extend>>──► (Log Insufficient Balance Exception)
          │
          └───► (Pay Utility Bill: NEA / Khanepani)
    
      [connectIPS Gateway] ◄─── (Transfer Funds via connectIPS)
      [SMS Gateway]        ◄─── (Generate & Verify OTP)
      [Bank Admin]         ───► (Manage Limits & Block Accounts)
    

    Part (b): Sequence Diagram (Transfer Funds via connectIPS)

    ──Initiate─►
    Transfer ──POST /xfer─► ──Check Bal──► ◄─Bal OK────── (Verify NPR)
    ──Trigger OTP─────────────────────────────►
    ◄─Prompt──── ◄─Enter OTP───
    for OTP
    ──Enter OTP► ──Verify OTP─►
    [ALT: Valid OTP]
    ──Debit Acct─►
    (NPR Held)
    ──API Call──────────────────► ◄─Success 200──────────────── ──Commit Xfer► (connectIPS) (Finalized)
    ──Notify Done─────────────────────────────►
    [ELSE: Invalid OTP / Insufficient Balance]
    ──Release Hold►
    ◄─Error───── ◄─Failed Error
    • Key Architectural Features: The sequence diagram models ACID transaction safety: funds are placed on temporary hold, executed over connectIPS gateway, and committed only upon verified HTTP 200 confirmation, preventing ghost debit discrepancies.
  2. [10]

    A software company in Kathmandu is developing a customized ERP application for a commercial trading group in Nepal. The software size is estimated at 40 KLOC (40,000 source lines of code) categorized under the Semi-Detached mode. The Basic COCOMO model equations and parameters are:

    • Effort: E = a * (KLOC)^b [Person-Months]
    • Development Time: TDEV = c * (E)^d [Months]
    • Constants for Semi-Detached mode: a = 3.0, b = 1.12, c = 2.5, d = 0.35 Perform the following calculations: a) Calculate the Effort E in Person-Months (PM). (Use (40)^1.12 = 61.64). b) Calculate the Development Time TDEV in months. (Use (184.92)^0.35 = 6.24). c) Calculate the Average Staff Size (number of persons) required. d) If the average developer monthly salary is NPR 85,000, calculate the total development labor cost. e) Explain the differences between Organic, Semi-Detached, and Embedded modes in the COCOMO model.
    View model answerHide model answer

    COCOMO Software Estimation Numerical:

    Given:

    • Project Size: KLOC=40KLOC = 40
    • Mode: Semi-Detached
    • Constants: a=3.0,  b=1.12,  c=2.5,  d=0.35a = 3.0, \; b = 1.12, \; c = 2.5, \; d = 0.35
    • Given Exponent Powers:
      • (40)1.12=61.64(40)^{1.12} = 61.64
      • (184.92)0.35=6.24(184.92)^{0.35} = 6.24
    • Average Monthly Salary = NPR 85,000

    Step (a): Effort Computation (EE)

    E=a×(KLOC)b=3.0×(40)1.12E = a \times (KLOC)^b = 3.0 \times (40)^{1.12}
    E=3.0×61.64=184.92 Person-Months (PM)E = 3.0 \times 61.64 = \mathbf{184.92 \text{ Person-Months (PM)}}

    Step (b): Development Time Computation (TDEVTDEV)

    TDEV=c×(E)d=2.5×(184.92)0.35TDEV = c \times (E)^d = 2.5 \times (184.92)^{0.35}
    TDEV=2.5×6.24=15.60 MonthsTDEV = 2.5 \times 6.24 = \mathbf{15.60 \text{ Months}}

    Step (c): Average Staff Size (SSSS)

    SS=EffortDevelopment Time=ETDEV=184.92 PM15.60 Months=11.85≈12 DevelopersSS = \frac{\text{Effort}}{\text{Development Time}} = \frac{E}{TDEV} = \frac{184.92 \text{ PM}}{15.60 \text{ Months}} = \mathbf{11.85 \approx 12 \text{ Developers}}

    Step (d): Total Labor Cost

    Total Labor Cost=E×Monthly Cost per Person\text{Total Labor Cost} = E \times \text{Monthly Cost per Person}
    Total Cost=184.92×NPR 85,000=NPR 15,718,200\text{Total Cost} = 184.92 \times \text{NPR } 85,000 = \mathbf{\text{NPR } 15,718,200}

    Step (e): Comparison of COCOMO Project Modes

    Mode Project Characteristics Team Experience System Constraints Typical Examples
    Organic Small size (<50< 50 KLOC); familiar in-house domain. Highly experienced team working in stable environment. Relaxed hardware and operating constraints. Payroll systems, simple inventory databases.
    Semi-Detached Intermediate size (50−30050 - 300 KLOC); mixture of experienced and novice staff. Medium experience; some unfamiliar hardware/software interfaces. Moderate hardware/software constraints. Custom corporate ERPs, compilers, database management engines.
    Embedded Very large and complex; tight coupling with custom hardware. Diverse team; unfamiliar domain. Extremely rigid, safety-critical real-time constraints. Air traffic control, missile guidance, medical pacemakers.