2081

CSC326 · TU past paper

System Analysis and Design 2081 question paper

The complete TU 2081 exam paper for System Analysis and Design (CSC326), all 12 questions with solved model answers written to the mark scheme.

Tap a question to open its answer.

  1. 110 marksOther ApproachesAnswer

    Explain prototyping model with a neat diagram. List out its advantages and disadvantages.[10]

    Prototyping Model

    Definition

    The Prototyping Model is a software development approach in which a working prototype (an early, incomplete version of the system) is built, evaluated by the user, and iteratively refined based on feedback until the final system is developed.

    : "Instead of spending a lot of time producing very detailed specifications, the developers find out only generally what the users want... they quickly create a prototype, which either contains portions of the system or is a small-scale working model of the entire system."


    Concept

    Rather than freezing all requirements before design or coding begins, a prototype is created to help users visualize and validate the system. The prototype is refined repeatedly until the customer is satisfied, after which the final engineered product is delivered.


    Phases of the Prototyping Model

    a) Requirement Gathering

    Basic and general requirements are collected from the customer. Complete details are not required at this stage.

    b) Quick Design

    A simple, quick design is prepared focusing on important aspects such as user interface and input/output formats. It is not a detailed design.

    c) Build Prototype

    Information gathered from the quick design is used to construct the first working prototype, which represents a working model of the required system.

    d) User Evaluation

    The prototype is presented to the user, who evaluates it and identifies its strengths and weaknesses, such as what needs to be added or removed.

    e) Refine Prototype

    If the user is not satisfied, the prototype is refined using the additional information provided by the user. Steps (b) through (e) are repeated iteratively.

    f) Engineer Product

    Once requirements are completely met and the user accepts the final prototype, the complete final system is engineered with proper coding, testing, and documentation. Routine maintenance follows to prevent large-scale failures and minimize downtime.


    Neat Diagram

            +-------------------------+
            |   Requirement Gathering |
            +-------------------------+
                        |
                        v
            +-------------------------+
            |      Quick Design       |
            +-------------------------+
                        |
                        v
            +-------------------------+
            |     Build Prototype     |
            +-------------------------+
                        |
                        v
            +-------------------------+
            |     User Evaluation     |
            +-------------------------+
                        |
              +---------+---------+
              |                   |
        Not Satisfied          Satisfied
              |                   |
              v                   v
      +----------------+   +------------------+
      | Refine         |   |  Engineer Final  |
      | Prototype      |   |  Product         |
      +----------------+   +------------------+
              |                   |
              |                   v
              +---------->  +------------+
                             | Maintain   |
                             | System     |
                             +------------+
    

    The loop between Quick Design, Build Prototype, User Evaluation, and Refine Prototype continues until the user is satisfied.


    Advantages of the Prototyping Model

    #Advantage
    1Reduces risk of building the wrong system since user feedback is incorporated early and continuously.
    2Better understanding of requirements as users can see and interact with a working model rather than reading abstract specifications.
    3Improved user involvement as the customer actively participates throughout the development process.
    4Early error detection as misunderstandings and missing features are identified and corrected in early stages.
    5Useful when requirements are unclear and not well-defined initially, making it ideal for complex or novel projects.
    6Reduces development time for the final product since major issues are resolved during the prototyping phase.
    7Higher user satisfaction because the final product closely matches user expectations.

    Disadvantages of the Prototyping Model

    #Disadvantage
    1Increased cost as building and refining multiple prototypes requires additional time and resources.
    2Poor documentation as the focus on rapid prototype development may lead to inadequate or incomplete documentation.
    3Customer confusion as the customer may mistake the prototype for the final product and expect immediate delivery.
    4Scope creep as continuous user feedback and changes may lead to ever-expanding and uncontrolled requirements.
    5Poorly structured system as too many refinements without proper planning may result in poor overall system architecture.
    6Developer attachment as developers may attempt to reuse prototype code in the final product, leading to suboptimal quality and maintainability.

    Conclusion

    The Prototyping Model is best suited for projects where requirements are unclear or frequently changing. It ensures higher user satisfaction through early visualization and active involvement. However, it must be carefully managed to avoid scope creep, poor documentation, and degraded system architecture.

  2. 210 marksModeling Logic with Decision Tables, DecisAnswer

    Draw a reduced decision table for the following scenario:An applicant has to fill up the form to participate in a music competition. The applicant’s age should be greater than 18 years and nationality has to be Nepalese for being selected for the competition. The applicant will be provided a registration number after paying Rs. 5000 as an entry fee. The applicant has to play an instrument for three minutes else will be disqualified. The experts will provide points on the basis of some criteria. The applicant having the highest point will be declared winner and will get a cash prize of Rs. 1,00,000 and all the qualified applicants will get a gift hamper.[10]

    Condition -------------- C1 Age 18 years C2 Nationality is Nepalese C3 Entry fee of Rs. 5000 paid C4 Plays instrument for 3 minutes C5 Has highest points among qualified applicants Action ----------- A1 Applicant is selected / eligible A...

  3. 310 marksSoftware Application TestingAnswer

    Differentiate between black box and white box testing. Explain the testing process.[10]

    Black Box Testing vs White Box Testing and the Testing Process

    1. Differentiation: Black Box vs White Box Testing

    AspectBlack Box TestingWhite Box Testing
    DefinitionTesting where the tester has no knowledge of the internal structure or code of the systemTesting where the tester has full knowledge of the internal structure, logic, and code
    FocusTests the functionality and output based on inputsTests the internal logic, paths, and code structure
    Tester's KnowledgeTester does not need to know programmingTester must have programming and technical knowledge
    Basis of TestingBased on requirements and specificationsBased on source code and program logic
    Also Known AsFunctional testing / Closed box testingStructural testing / Glass box testing / Clear box testing
    Who PerformsUsually performed by end users or QA testersUsually performed by developers
    Error DetectionDetects missing functions, interface errors, and incorrect outputsDetects logical errors, unused code paths, and security vulnerabilities
    CoverageTests what the system doesTests how the system does it

    2. The Testing Process

    Software testing is the process of verifying and validating that a software or application is bug-free and meets technical requirements. It also measures efficiency, accuracy, and usability of the software.

    The testing process follows a structured sequence of stages as described below:


    Step 1: Inspections

    • A testing technique in which participants examine program code for predictable, language-specific errors.
    • Syntax, grammar, and other routine errors can be checked by automated inspection software.
    • This is typically the first step before actual execution begins.

    Step 2: Desk Checking

    • A testing technique in which the programmer manually traces through the logic of the program using paper and pencil.
    • The reviewer acts as the computer, mentally checking each step and its results for the entire set of computer instructions.
    • This helps catch logical errors early without running the program.

    Step 3: Unit Testing

    • An automated technique where each module is tested alone in an attempt to discover any errors that may exist in the module's code.
    • The goal is to isolate each part of the program and verify that individual parts work correctly.

    Step 4: Stub Testing

    • A technique used in testing modules, especially where modules are written and tested in a top-down fashion.
    • A "stub" is a dummy module that simulates the behavior of modules not yet written, allowing higher-level modules to be tested first.

    Step 5: Integration Testing

    • The process of bringing together more than one module that a program comprises for testing purposes.
    • After individual modules pass unit testing, they are combined and tested together to check for interface errors and interaction problems between modules.

    Step 6: System Testing

    • The process of bringing together all of the programs that a system comprises for testing purposes.
    • The system is tested as a whole to verify that it meets all specified requirements.
    • System testing can be carried out using:
      • Black Box Testing -- testing based on inputs and expected outputs without knowledge of internal code.
      • White Box Testing -- testing based on knowledge of the internal structure and logic of the system.

    Summary Diagram of Testing Process

    Inspections
         |
    Desk Checking
         |
    Unit Testing
         |
    Stub Testing
         |
    Integration Testing
         |
    System Testing
    (Black Box / White Box)
    

    Conclusion

    The testing process moves from individual code review (inspections, desk checking) to module-level testing (unit and stub testing) and finally to system-level testing (integration and system testing). Black box testing focuses on what the system does, while white box testing focuses on how the system does it. Together, they ensure that the software is both functionally correct and internally sound.

  4. 45 marksManaging the Information Systems ProjectAnswer

    Briefly explain different phases of project management. [5]

    Project management is a controlled process of initiating, planning, executing, monitoring, controlling, and closing a project. It ensures that systems development projects meet customer expectations and are delivered within budget and ti...

  5. 55 marksCASE ToolsAnswer

    How can CASE tool help in developing product? Explain with respect to different phases of SDLC. [5]

    CASE (Computer-Aided Software Engineering) tools are automated software packages that help to automate activities in the SDLC. They range from simple diagramming tools to very sophisticated programs that document and automate most of the...

  6. 65 marksIntroduction to Unified Modeling Language,Answer

    Draw use case diagram and class diagram for the following scenario:The admin and user has to log in to the patient record system. The user can see details of its records but will not be able to make changes. The changes will be controlled by admin. The admin has authority to generate reports and send it to doctors and users. [5]

    Actor Use Cases ------------------ User Login, View Own Records Admin Login, Manage/Update Records, Generate Reports, Send Reports to Doctors and Users Relationships: - Both User and Admin are associated with Login (using <<include) - Ge...

  7. 75 marksDesigning InterfacesAnswer

    How do you think effective interfaces can be designed? Explain. [5]

    A user interface (UI) is the front-end application view through which a user interacts with software. Effective interface design makes software more popular, usable, and efficient. The software becomes more popular if its user interface ...

  8. 85 marksNormalizationAnswer

    List the advantages of Normalization. Explain 2NF with an example. [5]

    Advantages of Normalization and Explanation of 2NF


    Advantages of Normalization

    Normalization is the process of organizing data in a database to reduce redundancy and improve data integrity. Its key advantages are:

    1. Eliminates Data Redundancy: Removes duplicate data stored across multiple tables, saving storage space.
    2. Prevents Update Anomalies: Ensures that updating a single fact requires changing it in only one place.
    3. Prevents Insertion Anomalies: Allows new data to be inserted without requiring unrelated data to be present.
    4. Prevents Deletion Anomalies: Ensures that deleting a record does not unintentionally remove other important data.
    5. Improves Data Integrity and Consistency: Data remains accurate and consistent throughout the database.
    6. Easier Maintenance: A well-normalized database is easier to modify and extend.

    Second Normal Form (2NF)

    Definition

    A relation is in Second Normal Form (2NF) if:

    • It is already in First Normal Form (1NF), AND
    • Every non-key attribute is fully functionally dependent on the entire primary key (i.e., there is no partial dependency on any part of a composite primary key).

    Partial Dependency: A non-key attribute depends on only a part of the composite primary key, not the whole key.


    Example

    Consider the following relation with a composite primary key (StudentID, CourseID):

    StudentIDCourseIDStudentNameCourseNameMarks
    S01C01RamDBMS75
    S01C02RamOS80
    S02C01SitaDBMS70

    Primary Key: (StudentID, CourseID)

    Identifying Partial Dependencies:

    • StudentName depends only on StudentID (not on the full key) -- Partial Dependency
    • CourseName depends only on CourseID (not on the full key) -- Partial Dependency
    • Marks depends on both StudentID and CourseID -- Full Dependency (OK)

    Since partial dependencies exist, this relation is NOT in 2NF.


    Converting to 2NF

    We decompose the table to remove partial dependencies:

    Table 1: Student (depends on StudentID)

    StudentIDStudentName
    S01Ram
    S02Sita

    Table 2: Course (depends on CourseID)

    CourseIDCourseName
    C01DBMS
    C02OS

    Table 3: Enrollment (depends on full composite key)

    StudentIDCourseIDMarks
    S01C0175
    S01C0280
    S02C0170

    Now all non-key attributes are fully functionally dependent on the entire primary key in each table. The database is now in 2NF.


    Note: 2NF is only relevant when the primary key is composite. If a relation has a single-attribute primary key and is in 1NF, it is automatically in 2NF.

  9. 95 marksRadical Methods for Determining System ReqAnswer

    Explain how disruptive technologies can be used in determining requirement. [5]

    Disruptive Technologies are technologies that enable breaking long-held business rules that discourage organizations from making radical business changes. They are used as part of Business Process Reengineering (BPR), which is a radical ...

  10. 105 marksProcess ModelingAnswer

    Difference between process modeling and data modeling. How do you think data modeling play an important role? [5]

    Process Modeling: Process modeling involves graphically representing the processes or actions that capture, manipulate, store, and distribute data between the system and its environment and among components within the system. A common fo...

  11. 115 marksNumericalProcess of Initiating and Planning IS DeveAnswer

    An initial investment of Rs. 1,00,000 is required to start a company. The cash flow-in is Rs. 40,000 per year. Assuming interest rate as 10%, calculate the discounted payback period. (use Net Present Value) [5]

    Discounted Payback Period Using Net Present Value

    STEP 1 - Given Data

    ParameterValue
    Initial InvestmentRs. 1,00,000 (outflow at Year 0)
    Annual Cash InflowRs. 40,000 per year
    Discount Rate ($i$)10% = 0.10

    STEP 2 - Solution

    Present Value Formula

    $$PV_n = \frac{Y}{(1+i)^n}$$

    Step 1: Discounted Cash Inflows Per Year

    Year $n$Discount Factor $\frac{1}{(1.10)^n}$PV of Inflow (Rs.)
    10.90909$40000 \times 0.90909 = 36{,}364$
    20.82645$40000 \times 0.82645 = 33{,}058$
    30.75131$40000 \times 0.75131 = 30{,}053$
    40.68301$40000 \times 0.68301 = 27{,}320$

    Step 2: Cumulative Discounted Cash Flow (NPV progression)

    YearPV of Inflow (Rs.)Cumulative NPV (Rs.)
    0--$-1{,}00{,}000$
    136,364$-63{,}636$
    233,058$-30{,}578$
    330,053$-525$
    427,320$+26{,}795$

    Step 3: Locate the Break-even

    • End of Year 3: cumulative = $-525$ (still negative)
    • End of Year 4: cumulative = $+26{,}795$ (positive)

    So the payback occurs during Year 4.

    Step 4: Exact Discounted Payback Period

    $$\text{Fraction} = \frac{\text{Unrecovered amount at start of year}}{\text{Discounted inflow of that year}} = \frac{525}{27{,}320} = 0.0192$$

    $$\boxed{\text{Discounted Payback Period} = 3 + 0.019 \approx 3.02 \text{ years}}$$


    Conclusion

    Considering the time value of money at a 10% discount rate, the Rs. 1,00,000 investment is recovered in approximately 3.02 years (just over 3 years). The tiny rounding differences (Rs. 525 vs Rs. 528) do not change the result.

  12. 125 marksRepresenting and Scheduling Project PlansAnswer

    Write short notes on: a. PERT b. Deliverables [5]

    --- PERT is a project management tool used to plan, schedule, and control complex projects by analyzing the tasks involved in completing a project and estimating the time required for each task. - PERT uses a network diagram (also called...