SDM Sample Question
SDM Sample Question
QUESTION 1
TechHero is an ICT provider company that has over 100 staff, mainly consisting of system
developers who have been practicing structured system development approach. The company has
decided to introduce an ‘Agile’ approach to system development.
a) Analyse the decision on introducing the ‘Agile’ system development approach and its necessity
in the company’s future projects. Also, discuss in detail FOUR (4) principles that the System
Analyst could carry out to implement the Agile approach for his company and future system
development projects.
(10 marks)
Answer:
Analysis of Decision to Introduce Agile:
TechHero’s decision to shift from a structured system development approach to an Agile
approach is a strategic move aimed at enhancing flexibility, responsiveness, and efficiency in
project management. The structured approach, such as the Waterfall model, often follows a
linear and sequential process, which can be rigid and slow in responding to changes during the
development cycle. In contrast, Agile methodology is iterative, allowing for continuous
feedback, adaptability to changes, and quicker delivery of functional software. This is
particularly necessary for TechHero's future projects where customer needs and technological
requirements may evolve rapidly.
Necessity in Future Projects:
1. Flexibility: Agile allows the company to adapt quickly to changing requirements, which is
crucial in today’s fast-paced technology landscape.
2. Customer Satisfaction: By involving customers throughout the development process, Agile
ensures that the final product aligns closely with their needs, leading to higher satisfaction.
3. Continuous Improvement: Agile encourages regular reflection and improvement, enabling
teams to refine processes and outcomes continuously.
4. Speed to Market: With its iterative approach, Agile enables the delivery of functional parts
of the system early and frequently, reducing time to market.
Four Principles for Implementation:
1. Customer Collaboration: Engage continuously with clients to gather feedback and adjust
the product accordingly.
2. Iterative Development: Break down the project into small, manageable sprints, delivering
incremental updates.
3. Cross-functional Teams: Form teams with diverse skills that can handle all aspects of
development in each sprint.
4. Continuous Improvement: Regularly reflect on performance and processes to identify areas
for improvement.
b) The company’s upcoming project is to develop a new web-based system for their client, a
property management company, that has many branches in Malaysia. The project manager will
need to ensure that release teams efficiently deliver the end product timely, and upgrades
required by the users while maintaining the integrity of the existing production environment. In
addition, the project emphasizes the interaction between people, and high collaboration while
managing project risks.
Suggest a suitable system development methodology that they can implement for the project,
justify your suggestion, and discuss in detail your selected methodology and how the selected
methodology can achieve the project’s objectives.
(15 marks)
Answer
Suggested Methodology: Scrum (A Type of Agile Methodology)
Justification:
Given the project requirements — timely delivery, continuous upgrades, maintaining production
environment integrity, and emphasizing people’s interaction and collaboration — Scrum is a
highly suitable methodology. Scrum, an Agile framework, is designed for complex projects that
require iterative progress through collaboration and flexibility. It allows teams to break down
large projects into smaller, manageable tasks (sprints) that can be completed within set time
frames (typically 2-4 weeks).
Detailed Discussion on Scrum Methodology:
1. Sprint Planning and Execution:
o Process: The project is divided into a series of sprints. At the beginning of each
sprint, the team conducts sprint planning to decide what tasks will be accomplished.
o Objective Achievement: This ensures that the team focuses on delivering specific
features within each sprint, enabling timely and manageable progress towards the final
product.
2. Daily Stand-up Meetings:
o Process: The team meets daily for brief stand-up meetings to discuss progress,
potential roadblocks, and plans for the day.
o Objective Achievement: These meetings foster communication, ensuring that team
members are aligned and can swiftly address any issues, maintaining the integrity of
the production environment.
3. Sprint Review and Retrospective:
o Process: At the end of each sprint, the team reviews the work completed with the
stakeholders and reflects on the process to identify improvements.
o Objective Achievement: Regular reviews ensure that the product is on track with
client expectations, while retrospectives allow for continuous improvement in team
processes and risk management.
4. Product Backlog and Prioritization:
o Process: All project requirements are maintained in a product backlog, which is
prioritized based on client needs and project goals.
o Objective Achievement: This helps the project manager ensure that the most critical
features are developed first, and upgrades can be efficiently managed in future sprints.
QUESTION 2
APTravel is an online travel service that books trips to some resorts for their customers. The basic
idea is to get a group of customers to book a room at a resort for days or weeks. APTravel contracts
with dozens of resorts around Malaysia. They need a new web-based system that shows information
on each resort and includes prices, available rooms, and special features. Customers can research and
book a room, enter contract information, and pay deposits and final payments through the system.
APTravel provides updated booking information, resort information updates, and travel information
for booked students when they login to the site. The resorts also need access to information from
APTravel. They need to know about their bookings for each week, the room types that are booked,
and so forth. Before the holiday season, for example, the year-end holiday, they need to enter
information on their resorts, including prices, special features, and special promotions. Resorts need
to be paid by APTravel for the bookings, and they need to be able to report and collect for damages
caused by customers during their stay.
APTravel also wants to provide social networking features for customers. It is currently researching
possibilities and collecting information from prospective customers about desirable features and
functions. From the business standpoint, the idea is to increase bookings by enhancing the experience
before, during, and after the trip.
You have been approached to conduct a system analysis and identify requirements for APTravel's
new system.
a) Define system analysis and system requirements. Also, suggest TWO (2) systems analysis
techniques that you can conduct for the above project and provide relevant examples.
(10 marks)
Answer
a) Definition of System Analysis and System Requirements
System Analysis: System analysis is the process of examining and evaluating a business's current
systems, processes, and operations to identify problems, opportunities, and needs. The goal is to
develop solutions that enhance efficiency, improve performance, and meet business objectives.
In the context of APTravel's new system, system analysis would involve understanding the
requirements of both customers and resorts, examining current booking processes, identifying
any issues, and determining the best approach to design and implement the new web-based
system.
System Requirements: System requirements are the specific needs or conditions that a system must
meet to fulfill its intended purpose. These requirements can be divided into functional
requirements, which describe what the system should do (e.g., the ability to book a room), and
non-functional requirements, which describe how the system should perform (e.g., system
security, usability, and performance standards).
Two Systems Analysis Techniques:
1. Use Case Analysis:
o Definition: Use case analysis is a technique used to identify and describe the
interactions between users (actors) and the system to achieve specific goals. Each use
case represents a function that the system should perform, from the user's perspective.
o Example for APTravel: Use case analysis could be used to define and understand
key functions such as "Customer Books a Room," "Resort Updates Pricing
Information," and "APTravel Processes Payments." These use cases would help
identify the specific steps and interactions needed to achieve these functions.
2. Interviewing:
o Definition: Interviewing involves conducting structured or semi-structured interviews
with stakeholders, including customers, resort managers, and APTravel staff, to gather
detailed information about their needs, expectations, and challenges with the current
system.
o Example for APTravel: Interviews with resort managers could reveal specific
requirements for managing booking information, while interviews with customers
could highlight desired features like social networking capabilities or the ease of
payment processing.
b) Identify and describe in detail any THREE (3) system requirements. For each system
requirement, provide relevant examples for APTravel's new system.
(15 marks)
Answer
System Requirements
1. Functional Requirement: Online Room Booking System
o Description: The system must allow customers to search for available rooms, view
prices, check special features, and book rooms online. The booking process should
include selecting dates, choosing room types, entering personal details, and making
payments.
o Example for APTravel: A customer logs in to the APTravel website, selects a resort
in Malaysia, views available rooms for the desired dates, selects a room, and proceeds
to book it by entering their information and paying a deposit online.
2. Non-Functional Requirement: Security and Data Privacy
o Description: The system must ensure the security of customer data, including
personal information and payment details. This includes implementing secure
authentication mechanisms, encrypting sensitive data, and complying with data
protection regulations.
o Example for APTravel: When a customer books a room, the system must securely
handle credit card transactions and ensure that personal data is encrypted and stored in
compliance with relevant data privacy laws.
3. Functional Requirement: Resort Information Management
o Description: The system must provide resorts with the ability to update their
information, such as room availability, pricing, special promotions, and features.
Resorts should also be able to access booking information and report any damages
caused by customers.
o Example for APTravel: Before the year-end holiday season, a resort manager logs
into the APTravel system, updates room prices and availability, adds a new holiday
promotion, and checks the current bookings for the next few weeks.
QUESTION 3
You are a member of a project team that is developing a new online sales system. Assume that your
team has completed the programming tasks and you are now ready to test the completed software as
part of your quality control procedure.
a) Describe the THREE (3) objectives of conducting Software Testing. Explain how each objective
could be achieved.
(9 marks)
Answer
Objectives of Conducting Software Testing
1. Verification of Functionality
o Objective: Ensure that the software functions as expected and meets the specified
requirements.
o How to Achieve:
Conduct unit testing to verify individual components.
Perform integration testing to ensure that different modules work together.
Execute system testing to confirm that the complete system behaves as
expected under various conditions.
2. Identification and Fixing of Defects
o Objective: Discover and correct any bugs or errors within the software to improve its
quality.
o How to Achieve:
Use automated testing tools to run a large number of test cases, which can
quickly identify defects.
Conduct manual testing to catch issues that might not be detectable through
automated tests, such as UI/UX problems.
Implement regression testing to ensure that previously fixed bugs do not
reappear after updates or changes.
3. Validation of Performance and Security
o Objective: Ensure that the software performs well under various conditions and is
secure from potential threats.
o How to Achieve:
Perform load testing to verify that the system can handle expected user traffic.
Conduct stress testing to determine the software's breaking point and how it
behaves under extreme conditions.
Use penetration testing to identify potential security vulnerabilities and
ensure data protection.
Level 2 Asia Pacific University of Technology & Innovation 092023
Systems Development Methods CT046-3-2 Page 7 of 10
b) State and describe any THREE (3) possible problems that a developer would face when
conducting Software Testing.
(6 marks)
Answer
Possible Problems a Developer Might Face During Software Testing
1. Incomplete Test Coverage
o Description: It is difficult to ensure that all possible scenarios and edge cases are
covered during testing.
o Problem: Missing out on some scenarios can lead to undetected bugs or failures in
real-world usage.
2. Testing Environment Issues
o Description: The testing environment may not accurately simulate the production
environment.
o Problem: This can lead to discrepancies between test results and actual performance,
causing bugs to be missed or incorrectly prioritized.
3. Time Constraints
o Description: Tight project deadlines may limit the amount of time available for
thorough testing.
o Problem: This can result in rushed or incomplete testing, increasing the risk of
deploying software with undetected defects.
c) Identify and explain FOUR (4) standard types of testing that you would conduct for the above
system. State relevant examples for each type of test.
(10 marks)
Answer
Standard Types of Testing for the Online Sales System
1. Unit Testing
o Explanation: Tests individual components or modules of the software to ensure that
they work correctly in isolation.
o Example: Testing the functionality of the shopping cart module to ensure it correctly
adds, updates, and removes items.
2. Integration Testing
o Explanation: Verifies that different modules or services within the software work
together as expected.
o Example: Testing the integration between the payment gateway and the order
processing system to ensure that transactions are processed correctly.
3. System Testing
o Explanation: Evaluates the complete and integrated software to ensure that it meets
the specified requirements.
o Example: Running end-to-end tests on the entire sales system to ensure that a
customer can successfully browse products, place an order, and receive confirmation.
4. User Acceptance Testing (UAT)
o Explanation: Conducted by the end-users to validate that the software meets their
needs and requirements.
o Example: Allowing a group of customers to use the sales system to place test orders
and provide feedback on their experience to ensure the system is user-friendly and
functional.
QUESTION 4
APU’s ‘Classroom Scheduling System’ is an automated application which is used to create class
schedule (timetable) for the entire university. A planning officer enters parameter into the system
such as classroom capacity, lecturer availability, number of students, etc. The application then
produces class schedules for all courses for the whole semester.
The application was developed seven years ago by an inhouse development team, and it is housed in
a local server. The university’s management feels it’s time for an enhancement after many
complaints from its users. The enhancements include many new functions that need to be added into
the application. You are hired as the developer to enhance the application for today's business needs.
a) Assuming you have completed developing the new version of the application, outline a
Deployment Plan/Activities for the application for actual use. Describe in detail steps that you
would need to carry out to make the new system ready for use.
(20 marks)
Answer
Deployment Plan/Activities
Deploying a new version of the Classroom Scheduling System involves careful planning and
execution to ensure a smooth transition without disrupting university operations. Below is a detailed
deployment plan:
1. Preparation and Planning
Review Requirements and Specifications: Ensure all the new features, functionalities, and
fixes have been implemented according to the requirements.
Documentation: Prepare detailed documentation covering the new features, system
architecture, user guides, and troubleshooting guides.
Testing: Conduct thorough testing of the new system, including unit testing, integration
testing, system testing, and user acceptance testing (UAT).
Backup Existing System: Take a complete backup of the existing system, including
databases, application files, and configurations.
Training: Conduct training sessions for end-users, technical staff, and support teams to
familiarize them with the new features and workflows.
2. Environment Setup
Server Preparation: Set up a staging environment that mirrors the production environment
to test the deployment process. Ensure that the server meets the new system's hardware and
software requirements.
Database Migration: If there are changes to the database schema, prepare scripts for
database migration, ensuring no data loss.
Configuration: Configure the new system's environment, including necessary middleware,
network settings, security protocols, and backup solutions.
3. Deployment Execution
Pre-deployment Review: Conduct a final review meeting with stakeholders, including
developers, IT staff, and university management, to ensure readiness.
Deployment to Staging Environment: Deploy the new version of the system to the staging
environment. Perform thorough testing in this environment to ensure the system works as
expected.
Load Testing: Perform load testing on the staging environment to ensure the system can
handle peak loads.
Production Deployment: Schedule a maintenance window for deployment, preferably
during off-hours to minimize disruption. Deploy the new system to the production
environment, following a step-by-step process:
o Deploy application code.
o Run database migration scripts.
o Update configuration settings.
o Restart servers and services.
o Verify deployment by checking application logs, database logs, and system
performance.
Data Validation: Perform data validation to ensure data integrity after the migration.
4. Post-Deployment Activities
Monitoring: Monitor the system closely after deployment for any issues. Set up automated
alerts for critical system metrics.
User Feedback: Collect feedback from users to identify any issues or areas of improvement.
Issue Resolution: Address any bugs or issues that arise post-deployment promptly.
Final Handover: Once the system is stable, hand over the system to the university's IT
department, providing them with all necessary documentation, credentials, and access.
Level 2 Asia Pacific University of Technology & Innovation 092023
Systems Development Methods CT046-3-2 Page 10 of 10
b) Suggest a change-over (migration) strategy to replace the old system with your new system.
Explain in detail how it could be carried out.
(5 marks)
Answer
Change-Over (Migration) Strategy
The recommended change-over strategy for replacing the old Classroom Scheduling System with the
new system is the Parallel Running strategy.
Parallel Running Strategy:
Description: In this approach, both the old and new systems run simultaneously for a
specified period. Users use both systems to perform their tasks, and outputs are compared to
ensure the new system is functioning correctly.
Implementation:
o Preparation: Train users on the new system while they continue to use the old
system.
o Parallel Operation: Begin parallel operation, where data entered into the old system
is also entered into the new system. This allows for real-time comparison of outputs
and identification of any discrepancies.
o Monitoring and Adjustment: Monitor both systems closely, collect user feedback,
and make necessary adjustments to the new system.
o Evaluation: Evaluate the performance of the new system against the old system.
Once confidence is established in the new system's accuracy and reliability, plan for a
full switch-over.
o Final Switch-Over: Once the new system is validated, fully migrate to the new
system by discontinuing the old system. Perform a final data migration if necessary.
o Decommissioning: Decommission the old system, ensuring that all data and
functionalities have been transferred to the new system.