2080.2

BIT253 · TU past paper

Systems Analysis and Design 2080.2 question paper

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

Tap a question to open its answer.

  1. 110 marksRapid application developmentAnswer

    What is rapid application development?Explain agile development in brief.[4+6]

    Rapid Application Development (RAD) and Agile Development


    (a) Rapid Application Development (RAD)

    Rapid Application Development (RAD) is a software development model that emphasizes quick development and delivery of high-quality systems with relatively low investment costs. It was introduced by James Martin in the 1990s as an alternative to the traditional waterfall model.

    Key Characteristics of RAD:

    • Focuses on iterative and incremental development
    • Uses prototyping extensively to gather user feedback
    • Involves active user participation throughout the development process
    • Reduces development time by using reusable components and automated tools

    Phases of RAD:

    PhaseDescription
    Requirements PlanningUsers and developers identify system requirements and project scope
    User DesignUsers interact with developers to build prototypes using interactive techniques
    ConstructionActual coding, testing, and integration of components
    CutoverFinal testing, deployment, and user training

    Advantages:

    • Faster delivery of systems
    • Encourages active user involvement
    • Easier to accommodate changing requirements
    • Reduced development cost

    Disadvantages:

    • Not suitable for large-scale projects
    • Requires highly skilled developers
    • Less emphasis on planning and documentation

    (b) Agile Development

    Agile Development is an iterative and incremental approach to software development that focuses on flexibility, collaboration, customer satisfaction, and rapid delivery of working software. It was formalized through the Agile Manifesto (2001), which was signed by 17 software practitioners.

    The Agile Manifesto Values:

    Agile values:

    • Individuals and interactions over processes and tools
    • Working software over comprehensive documentation
    • Customer collaboration over contract negotiation
    • Responding to change over following a plan

    Core Principles of Agile:

    1. Customer satisfaction through early and continuous delivery of valuable software
    2. Welcome changing requirements, even late in development
    3. Deliver working software frequently (weeks rather than months)
    4. Business people and developers must work together daily
    5. Build projects around motivated individuals
    6. Face-to-face communication is the most effective method
    7. Working software is the primary measure of progress
    8. Promote sustainable development at a constant pace
    9. Continuous attention to technical excellence
    10. Simplicity is essential

    Agile Process Model:

    [Planning] --> [Requirements] --> [Design] --> [Build] --> [Test] --> [Review]
         ^                                                                    |
         |____________________ (Next Iteration/Sprint) ______________________|
    

    Each cycle is called a Sprint (typically 2-4 weeks), and at the end of each sprint, a working product increment is delivered.

    MethodologyDescription
    ScrumUses sprints, daily stand-ups, sprint reviews; roles include Scrum Master, Product Owner, Development Team
    Extreme Programming (XP)Emphasizes pair programming, test-driven development, continuous integration
    KanbanUses visual boards to manage workflow and limit work-in-progress
    CrystalFamily of methodologies tailored to team size and project criticality

    Advantages of Agile:

    • Highly flexible and adaptive to change
    • Customer involvement ensures the product meets needs
    • Early detection of defects through continuous testing
    • Delivers working software at the end of each iteration
    • Improves team collaboration and communication

    Disadvantages of Agile:

    • Difficult to predict cost and time upfront
    • Requires experienced and self-organized teams
    • Documentation is often minimal
    • Not ideal for projects with fixed scope and budget

    Summary Comparison: RAD vs Agile

    FeatureRADAgile
    FocusSpeed of developmentFlexibility and collaboration
    User InvolvementHigh (design phase)Continuous throughout
    DocumentationMinimalMinimal
    DeliveryPrototypesWorking software increments
    Team SizeSmall to mediumSmall, self-organizing teams

    Note: Since no specific curriculum notes were provided, this answer is based on standard, widely accepted software engineering concepts as taught in BSc CSIT programs.

  2. 210 marksFeasibility study definition and purposeAnswer

    Why do we need feasibility study? Explain different types of feasibility study you use during information systems development.[10]

    A feasibility study is a preliminary investigation conducted before committing resources to a full-scale information systems development project. It helps determine whether the proposed system is worth developing and whether it can be su...

  3. 310 marksRules for drawing good DFDsAnswer

    Explain the rules for drawing good DFDs. Draw context diagram and data flow diagram up to level 1 for managing internal examinations at your college. Make necessary assumptions.[10]

    Good Data Flow Diagrams follow a set of guidelines to ensure clarity, correctness, and consistency: - Every data flow must be connected at both ends (source and destination). - All inputs and outputs of a process must be shown. - No dang...

  4. 45 marksCASE tools support for SDLC phasesAnswer

    Describe how CASE is used to support each phase of the SDLC. [5]

    CASE (Computer-Aided Software Engineering) refers to software tools that automate or assist software developers during the various phases of the Software Development Life Cycle (SDLC). --- - CASE tools help in project planning, schedulin...

  5. 55 marksProject manager common skillsAnswer

    What is project management? Explain common skills of a project manager. [5]

    Project Management and Skills of a Project Manager

    What is Project Management?

    Project management is the process of planning, organizing, directing, and controlling resources (people, time, budget, tools) to achieve specific goals within a defined scope, schedule, and budget. It involves applying knowledge, skills, tools, and techniques to project activities in order to meet project requirements and deliver a successful outcome.

    Note: Standard software engineering definition used as reference notes were not available for this topic.


    Common Skills of a Project Manager

    A project manager must possess a combination of technical, managerial, and interpersonal skills. The key skills are:

    1. Communication Skills

    • Ability to clearly convey ideas, requirements, and progress to team members, clients, and stakeholders.
    • Includes both written and verbal communication.

    2. Leadership Skills

    • Ability to motivate, guide, and inspire the project team.
    • Making decisions and taking responsibility for the project outcome.

    3. Planning and Scheduling Skills

    • Ability to define tasks, estimate time and resources, and create realistic project schedules.
    • Use of tools like Gantt charts, PERT/CPM diagrams.

    4. Problem-Solving Skills

    • Ability to identify issues early and find effective solutions.
    • Handling unexpected risks and technical challenges during the project lifecycle.

    5. Risk Management Skills

    • Identifying potential risks, analyzing their impact, and planning mitigation strategies to minimize project failure.

    6. Team Management Skills

    • Organizing and coordinating team members, assigning roles, resolving conflicts, and maintaining team productivity.

    7. Time and Budget Management

    • Ensuring the project is completed within the allocated time and budget constraints.
    • Monitoring expenditure and adjusting plans when necessary.

    Summary Table

    SkillPurpose
    CommunicationCoordinate with team and stakeholders
    LeadershipMotivate and guide the team
    PlanningDefine tasks and schedules
    Problem-SolvingHandle issues and obstacles
    Risk ManagementAnticipate and reduce project risks
    Team ManagementOrganize and manage human resources
    Budget/Time ManagementKeep project on track financially and timely

    A successful project manager balances all these skills to deliver a project that meets quality, time, and cost objectives.

  6. 65 marksCorporate strategic planningAnswer

    Describe corporate strategic planning and information systems planning in brief. [5]

    Note: The reference notes did not contain this topic directly. The following answer is based on standard MIS/IT management curriculum as taught in BSc CSIT programs. --- Corporate Strategic Planning is the process by which top management...

  7. 75 marksProject planning definition and activitiesAnswer

    What is project planning? What are different activities performed during project planning? [5]

    Project Planning

    Definition

    Project planning is the process of defining the scope, objectives, resources, schedule, and procedures required to complete a software project successfully. It is carried out before actual development begins and serves as a roadmap that guides the project team throughout the software development life cycle. The primary goal is to estimate the effort, cost, and time needed, and to allocate resources accordingly so that the project is delivered on time and within budget.


    Activities Performed During Project Planning

    The following are the key activities carried out during project planning:

    1. Project Scope Definition

    • Clearly defining what the project will and will not include.
    • Identifying deliverables, boundaries, and constraints of the project.

    2. Resource Planning

    • Identifying the human resources (developers, testers, managers), hardware, and software tools required.
    • Allocating resources to specific tasks based on skills and availability.

    3. Project Scheduling

    • Breaking the project into tasks and sub-tasks.
    • Estimating the duration of each task and arranging them in a logical sequence.
    • Creating schedules using tools like Gantt charts or PERT/CPM networks.

    4. Effort and Cost Estimation

    • Estimating the total effort (in person-months) required to complete the project.
    • Estimating the overall cost including personnel, infrastructure, and overhead costs.
    • Techniques such as COCOMO model or Function Point Analysis may be used.

    5. Risk Management Planning

    • Identifying potential risks that could affect the project (technical, financial, schedule risks).
    • Analyzing the probability and impact of each risk.
    • Developing mitigation and contingency strategies.

    6. Quality Planning

    • Defining quality standards and metrics the project must meet.
    • Planning for reviews, inspections, and testing activities.

    7. Communication Planning

    • Defining how information will be shared among team members and stakeholders.
    • Setting up reporting structures and meeting schedules.

    8. Configuration Management Planning

    • Planning how changes to software artifacts will be tracked and controlled throughout the project.

    Summary Table

    ActivityPurpose
    Scope DefinitionDefine project boundaries
    Resource PlanningAllocate people and tools
    SchedulingSet timelines for tasks
    Cost EstimationEstimate budget
    Risk ManagementIdentify and handle risks
    Quality PlanningEnsure product standards
    Communication PlanningCoordinate team and stakeholders

    Note: Project planning is an ongoing activity; plans are revised as the project progresses and new information becomes available.

  8. 85 marksPrototyping approach to requirementsAnswer

    How can we use prototyping approach to determine requirements? Compare evolutionary prototype with throwaway prototype. [3+2]

    Prototyping is a requirements elicitation technique where a working model (prototype) of the proposed system is built quickly to help users and developers understand, clarify, and validate requirements. 1. Identify Initial Requirements -...

  9. 95 marksPseudocode definition and examplesAnswer

    Explain pseudocode with example. [5]

    Pseudocode

    Definition

    Pseudocode is an informal, high-level description of an algorithm that uses a mixture of natural language and programming-like constructs to describe the steps of a solution. It is not written in any specific programming language syntax, so it cannot be directly executed by a computer. It serves as a planning tool to outline the logic of a program before actual coding begins.


    Key Characteristics of Pseudocode

    • Uses plain English mixed with programming constructs
    • Has no strict syntax rules
    • Is language-independent (not tied to C, Python, Java, etc.)
    • Easy to read and understand by both programmers and non-programmers
    • Focuses on logic rather than implementation details

    Common Pseudocode Constructs

    ConstructExample
    InputREAD number
    OutputPRINT result
    Assignmentsum = a + b
    DecisionIF...THEN...ELSE...ENDIF
    RepetitionWHILE...DO...ENDWHILE
    LoopFOR i = 1 TO n

    Example: Find the Largest of Two Numbers

    Problem: Read two numbers and print the larger one.

    BEGIN
        READ num1, num2
    
        IF num1 > num2 THEN
            PRINT "num1 is larger"
        ELSE
            PRINT "num2 is larger"
        ENDIF
    END
    

    Example: Sum of First N Natural Numbers

    Problem: Calculate the sum of first N natural numbers.

    BEGIN
        READ N
        SET sum = 0
        SET i = 1
    
        WHILE i <= N DO
            sum = sum + i
            i = i + 1
        ENDWHILE
    
        PRINT sum
    END
    

    Trace for N = 4:

    isum
    11
    23
    36
    410

    Output: 10


    Advantages of Pseudocode

    1. Easy to convert into actual code in any language
    2. Helps in detecting logical errors before coding
    3. Acts as documentation for the program
    4. Saves time during the actual programming phase

    Conclusion

    Pseudocode is a valuable tool in program design. It bridges the gap between problem understanding and actual implementation by expressing the algorithm in a simple, structured, and readable format.

  10. 105 marksGeneral formatting guidelinesAnswer

    What are general formatting guidelines while formatting forms and reports? [5]

    Note: The reference notes did not contain specific content on this topic. The following answer is based on standard Management Information Systems / Systems Analysis and Design curriculum as taught in BSc CSIT programs. --- Good form and...

  11. 115 marksMethods of interacting with systemAnswer

    Describe different methods of interacting with a system. [5]

    Note: Reference notes were not available for this topic. The following answer is based on standard Human-Computer Interaction (HCI) concepts as covered in BSc CSIT curriculum. --- The methods of interacting with a system refer to the dif...

  12. 125 marksSystem maintenance factors and maintainabiAnswer

    Explain different factors that influence maintainability of the information system. [5]

    Note: The reference notes did not contain specific content on this topic. The following answer is based on standard Software Engineering and Information Systems curriculum as taught in BSc CSIT programs. --- Maintainability refers to the...