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.
- 110 marksRapid application developmentHideAnswer
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:
Phase Description Requirements Planning Users and developers identify system requirements and project scope User Design Users interact with developers to build prototypes using interactive techniques Construction Actual coding, testing, and integration of components Cutover Final 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:
- Customer satisfaction through early and continuous delivery of valuable software
- Welcome changing requirements, even late in development
- Deliver working software frequently (weeks rather than months)
- Business people and developers must work together daily
- Build projects around motivated individuals
- Face-to-face communication is the most effective method
- Working software is the primary measure of progress
- Promote sustainable development at a constant pace
- Continuous attention to technical excellence
- 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.
Popular Agile Methodologies:
Methodology Description Scrum Uses 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 Kanban Uses visual boards to manage workflow and limit work-in-progress Crystal Family 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
Feature RAD Agile Focus Speed of development Flexibility and collaboration User Involvement High (design phase) Continuous throughout Documentation Minimal Minimal Delivery Prototypes Working software increments Team Size Small to medium Small, 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.
- 210 marksFeasibility study definition and purposeHideAnswer
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...
- 310 marksRules for drawing good DFDsHideAnswer
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...
- 45 marksCASE tools support for SDLC phasesHideAnswer
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...
- 55 marksProject manager common skillsHideAnswer
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
Skill Purpose Communication Coordinate with team and stakeholders Leadership Motivate and guide the team Planning Define tasks and schedules Problem-Solving Handle issues and obstacles Risk Management Anticipate and reduce project risks Team Management Organize and manage human resources Budget/Time Management Keep 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.
- 65 marksCorporate strategic planningHideAnswer
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...
- 75 marksProject planning definition and activitiesHideAnswer
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
Activity Purpose Scope Definition Define project boundaries Resource Planning Allocate people and tools Scheduling Set timelines for tasks Cost Estimation Estimate budget Risk Management Identify and handle risks Quality Planning Ensure product standards Communication Planning Coordinate team and stakeholders Note: Project planning is an ongoing activity; plans are revised as the project progresses and new information becomes available.
- 85 marksPrototyping approach to requirementsHideAnswer
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 -...
- 95 marksPseudocode definition and examplesHideAnswer
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
Construct Example Input READ numberOutput PRINT resultAssignment sum = a + bDecision IF...THEN...ELSE...ENDIFRepetition WHILE...DO...ENDWHILELoop FOR 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 ENDTrace for N = 4:
i sum 1 1 2 3 3 6 4 10 Output: 10
Advantages of Pseudocode
- Easy to convert into actual code in any language
- Helps in detecting logical errors before coding
- Acts as documentation for the program
- 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.
- 105 marksGeneral formatting guidelinesHideAnswer
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...
- 115 marksMethods of interacting with systemHideAnswer
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...
- 125 marksSystem maintenance factors and maintainabiHideAnswer
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...