0% found this document useful (0 votes)
103 views13 pages

Assignment Questions - SYDM - With Answer

The document discusses the system development life cycle (SDLC), which is a process used to plan, design, develop, test, and deliver software products. It describes some key SDLC concepts like requirements gathering, design, implementation, testing, deployment, and maintenance. It also discusses common SDLC methodologies like Waterfall, Agile, and Scrum. The document then provides details about the main phases and sub-phases of the SDLC, including planning, analysis, design, development, testing, deployment, and maintenance. For each phase, it lists and describes the typical sub-phases or tasks involved.

Uploaded by

live streaming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views13 pages

Assignment Questions - SYDM - With Answer

The document discusses the system development life cycle (SDLC), which is a process used to plan, design, develop, test, and deliver software products. It describes some key SDLC concepts like requirements gathering, design, implementation, testing, deployment, and maintenance. It also discusses common SDLC methodologies like Waterfall, Agile, and Scrum. The document then provides details about the main phases and sub-phases of the SDLC, including planning, analysis, design, development, testing, deployment, and maintenance. For each phase, it lists and describes the typical sub-phases or tasks involved.

Uploaded by

live streaming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Systems Development Methods MMM2021

LEARNING OUTCOMES
At the end of this coursework, you should be able to:
 Explain the purpose, structure, and scope of modern Information System Development
Methodologies (C2, PLO).

INSTRUCTIONS: Answer all questions.

QUESTIONS:

A: SDLC Concepts and Principles


SDLC stands for software development life cycle. It is a process used by software
development organizations to plan, design, develop, test, and deliver software products. The
process typically consists of several phases, including requirements gathering and analysis, design,
implementation (coding), testing, deployment, and maintenance. The specific steps and activities
involved in each phase can vary depending on the specific methodology being used. Some
common SDLC methodologies include Waterfall, Agile, and Scrum.

Some key concepts and principles in the SDLC include:

 Requirements gathering and analysis: This involves identifying and documenting the
requirements for a new software product, including its functionality, performance, and user
needs.

 Design: During this phase, the software architecture and design are developed, including
the selection of appropriate technologies and design patterns.

 Implementation: This is the actual coding phase, where the software is developed using a
programming language.

 Testing: Testing is an important part of the SDLC, as it helps to ensure that the software is
of high quality and meets the requirements. Testing can include unit testing, integration
testing, and acceptance testing.

 Deployment: When the software is ready to be released, it is deployed to production


environments, where it is made available to users.

 Maintenance: After the software has been deployed, it may need to be updated or
maintained to fix bugs, add new features, or improve performance.

Systems Developments Methods 2 of 2


Lecturer name
Systems Development Methods MMM 2022
Other key principles of the SDLC include continuous integration and delivery, which involves
integrating code changes and releasing software updates on a regular basis, and agile development,
which involves using an iterative, incremental approach to software development that emphasizes
flexibility and rapid delivery.

1. Explain THREE (3) benefits of applying the System Development Life Cycle (SDLC) for
an Information System (IS) project.
Answer: - There are several benefits to using the System Development Life Cycle (SDLC) for
an Information System (IS) project:
 Improved planning and organization: The SDLC provide a structured
approach to planning and developing an IS project. It allows project
managers to identify and prioritize the specific tasks that need to be
completed, as well as the resources required to complete them. This helps to
ensure that the project is organized and that all necessary steps are taken in
the correct order.
 Enhanced communication: The SDLC encourages communication and
collaboration between team members and stakeholders throughout the
project. It provides a clear framework for communicating project progress,
risks, and issues, which can help to ensure that all team members are on the
same page and working towards the same goals.
 Increased efficiency and effectiveness: By following the SDLC, IS projects
can be completed more efficiently and effectively. The structured approach
helps to identify and resolve issues early on in the project, reducing the risk
of costly rework or delays later on. It also helps to ensure that the final
product meets the needs of the intended users and is delivered on time and
within budget.

2. Explain THREE (3) problems of applying SDLC for an Information System (IS) project.
Answer: - There are a few potential problems that can arise when applying the System
Development Life Cycle (SDLC) for an Information System (IS) project:
 Complexity: The SDLC involves a series of defined steps and processes that
must be followed in order. This can make the development process more
complex and time-consuming, especially for larger or more complex IS
projects.
 Inflexibility: The SDLC is a structured approach to project development,
which can make it difficult to adapt to changing requirements or
unanticipated issues that may arise during the project. This inflexibility can
lead to delays or additional costs as the project team works to address these
issues within the framework of the SDLC.
 Cost: The SDLC requires significant planning and documentation, which
can increase the overall cost of the IS project. This may be especially
problematic for smaller organizations or projects with tight budgets.

It's important to keep in mind that these problems can be mitigated through careful
planning, effective communication, and a focus on continuous improvement. By regularly

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
reviewing and adapting the SDLC process as needed, organizations can ensure that they are
able to effectively address
any issues that may arise during the project.

3. Draw a diagram for SDLC showing its main phases and sub-phases.
Answer: - The System Development Life Cycle (SDLC) typically consists of the following
main phases:
 Planning: This phase involves identifying the business needs and goals for
the IS project, as well as defining the scope and objectives.
 Analysis: During this phase, the team gathers and analyses data to
understand the current system and its limitations, as well as to identify
potential solutions.
 Design: In this phase, the team develops detailed designs for the new IS,
including the technical architecture, user interface, and data models.
 Implementation: This phase involves building and testing the new IS, as
well as integrating it with any existing systems.
 Testing: During this phase, the team performs a variety of tests to ensure
that the new IS is functioning as intended and meets the required
specifications.
 Deployment: In this phase, the new IS is deployed and made available to
users.
 Maintenance: This phase involves ongoing support and maintenance of the
IS to ensure that it continues to meet the needs of the business over time.
Each of these phases may also include sub-phases or tasks that must be completed in order
to move on to the next phase. Here is a diagram illustrating the main phases and sub-phases
of the SDLC:

[SDLC]

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022

B: SDLC Sub-phases
1. Write a summary of SDLC Main Phases and sub-phases. Under each main phase, describe
the following:
Ans:- The SDLC (Software Development Life Cycle) is a software development
process that includes the following phases: planning, analysis, design, development,
testing, deployment, and maintenance. Each phase contains certain sub-phases and tasks
that must be performed in order for the program to be built and released successfully. The
SDLC is used to guarantee that the software meets the stakeholders' expectations, is error-
free, and is correctly deployed and supported after release.
a) List and describe all the sub-phases/sub-tasks
i. Planning:
 Defining the scope of the project
 Identifying stakeholders
 Creating a project plan
ii. Analysis:
 Conducting research
 Gathering information from stakeholders
 Creating a requirements document
iii. Design:
 Creating technical specifications
 Architectural design
 User interface design
iv. Design
 Creating technical specifications
 Architectural design
 User interface design
v. Development
 Coding
 Testing and debugging
vi. Testing
 Unit testing
 Integration testing
 User acceptance testing
vii. Deployment
 Installation
 Configuration
 Training
viii. Maintenance
 Bug fixes
 Updates and upgrades

b) People who are involved


Ans:-
Depending on the stage of the project, different persons and teams are involved in
the Software Development Life Cycle (SDLC). Some examples are as follows:
I. Project Manager
II. Business Analyst
III. System Analyst
IV. Developer

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
V. Tester
VI. Deployment

c) Input documents

Ans:- Several input papers are used during the Program Development Life Cycle
(SDLC) to guide the development process and guarantee that the software satisfies the
needs of the stakeholders. The following are some of the primary input documents:
I. Project plan: outlines the objectives of the project, the schedule, the budget, and
the resources required.

II. Requirements document: a detailed description of the functionality and


features that the software should have, as well as any constraints and
assumptions.
III. Technical specifications: a document that describes the technical design of
the software, including the architecture, data flow, and interfaces.
IV. Design documents: include user interface design, architectural design, and
any other design documents that describe the overall look and feel of the
software.
V. Source code: the code written by the developer to create the software.
VI. Test cases: a document that describes the tests that will be performed on the
software to ensure it meets the requirements.
VII. Deployment plan: a document that describes the steps required to install and
configure the software in production.
VIII. User manual: a document that describes how to use the software, including
instructions and diagrams.

d) Output documents
Ans:- Several output papers are created as the project proceeds during the Software
Development Life Cycle (SDLC). These papers are intended to convey the project's
progress and outcomes to stakeholders, as well as to keep track of the work that has
been completed. The following are some of the primary output documents:
I. Project report: a document that summarizes the progress of the project,
including the status of the tasks, the budget, and the schedule.
II. Test report: a document that summarizes the results of the testing phase,
including any issues or bugs that were found and how they were resolved.
III. Deployment report: a document that summarizes the results of the
deployment phase, including any issues or challenges that were encountered
and how they were resolved.
IV. User manual: a document that describes how to use the software, including
instructions and diagrams.
V. Technical documentation: a document that provides detailed information
about the architecture, design, and code of the software, as well as any other
technical information that may be useful for future maintenance or
development.
VI. Maintenance report: a document that summarises the maintenance activities,
including bugs fixed, updates, and upgrades.

e) Popular techniques used


Ans:- Several prominent strategies are used to guide the development process and
guarantee that the software satisfies the needs of the stakeholders during the
Software Development Life Cycle (SDLC). The following are some of the most
prevalent techniques:

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
I. Waterfall: a linear sequential approach where each phase of the SDLC is
completed before moving on to the next phase.
II. Agile: an iterative and incremental approach where the software is
developed in small chunks called sprints, and feedback is gathered from
stakeholders during each sprint.
III. Scrum: a specific type of Agile methodology that emphasizes on a cross-
functional team, with daily stand-up meetings, sprints, and a retrospective at
the end of each sprint.
IV. Extreme Programming (XP): a specific type of Agile methodology that
emphasizes on pair programming, test-driven development, and continuous
integration.
V. Rapid Application Development (RAD): a methodology that emphasizes on
rapid prototyping and user involvement.
VI. Six Sigma: a methodology that emphasizes on quality and process
improvement, and uses statistical techniques to identify and eliminate
defects.
VII. Kanban: a methodology that emphasizes on visualizing the flow of work,
limiting work in progress and making process policies explicit.

C: IS Development Methodologies – Part 1:


1. Find THREE (3) names of popular IS development methodologies used today? Describe
what are the types of projects they used for?
Answer: - There are several popular IS development methodologies in use today, including:
 Agile: Agile is a flexible and iterative approach to IS development that emphasizes
collaboration, continuous delivery, and adapting to change. It is often used for
projects that require quick turnaround times or that need to be able to adapt to
changing requirements.
 Waterfall: The Waterfall method is a linear and sequential approach to IS
development that involves moving through a series of defined steps in a specific
order. It is often used for projects with well-defined requirements and a clear set of
deliverables.
 Lean: The Lean approach to IS development is based on the principles of the
Toyota Production System and focuses on maximizing value and minimizing waste.
It is often used for projects where speed and efficiency are a priority.
Each of these methodologies has its own strengths and can be well-suited for certain types of
projects. Agile is often used for software development projects, while Waterfall is often used
for more structured or regulated projects, such as those in the healthcare or financial industries.
Lean is often used in manufacturing or process improvement projects.

2. Discuss the THREE (3) advantages of using IS Development Methodologies.


 Improved quality and reliability: IS development methodologies provide a
structured approach to software development, which helps to ensure that the final
product meets the specified requirements and is of high quality. This is achieved
through the use of various techniques such as prototyping, testing, and debugging,
which are built into the methodology.
 Enhanced efficiency and productivity: IS development methodologies also provide
a clear roadmap for the development process, which helps to streamline the work of
developers and reduce the risk of errors or delays. This can lead to increased

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
efficiency and productivity, as developers are able to focus on their work without
getting bogged down by unnecessary details or unnecessary work.
 Better communication and collaboration: IS development methodologies also
promote better communication and collaboration within the development team, as
they provide a common language and framework for discussing and organizing the
work. This can help to reduce misunderstandings and conflicts, and facilitate the
sharing of ideas and knowledge within the team.
3. Discuss the THREE (3) distinctive disadvantages using the following IS Development
Methodologies:
a) Waterfall
 Lack of user involvement: One of the main disadvantages of the
Waterfall methodology is that it does not involve the user in the
development process until the final stages. This can lead to
misunderstandings or miscommunication, as the user may not have
the opportunity to provide feedback or input until it is too late to
make any significant changes.
 Inflexibility: As mentioned earlier, the Waterfall methodology does
not allow for much flexibility or change once the development
process has started. This can be a problem if the project
requirements or objectives change during the course of the project,
as it may be difficult or impossible to make adjustments without
starting the process over again.
 High risk of failure: The Waterfall methodology also carries a high
risk of failure, as any errors or issues that arise during the
development process may not be identified until much later in the
process. This can lead to costly rework and delays, as the
development team may need to go back and fix problems that could
have been caught earlier if the user had been more involved in the
process.
b) structured System Analysis and Design Methodology (SSADM)
 Complexity: SSADM is a complex methodology that requires a significant
amount of training and expertise to use effectively. This can be a barrier for
some organizations, as it may be difficult or costly to find and hire staff
with the necessary skills and knowledge.
 Inflexibility: SSADM is a very structured and prescriptive methodology,
which can be inflexible and may not always be the best fit for all projects. It
may be difficult to adapt or modify the methodology to fit the specific needs
and requirements of a particular project.
 Long development times: SSADM is a thorough and comprehensive
methodology, which means that it can take a long time to complete a project
using this approach. This may not be practical or feasible for organizations
that need to deliver results quickly or have tight deadlines.

D: IS Development Methodologies – Part 2


1. Draw a table and compare THREE (3) differences between Traditional Methodologies with
Agile Methodologies.
Answer: - Here is a table comparing three differences between Traditional Methodologies and
Agile Methodologies:

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
Traditional Methodologies Agile Methodologies
Approach to requirements Requirements are fixed and Requirements are flexible
and scope scope is defined up front and scope is allowed to
evolve over time
Role of user involvement User is typically involved at User is actively involved
the end of the process throughout the development
process
Approach to change Change is discouraged or not Change is welcomed and
accommodated actively encouraged

Traditional methodologies, such as the Waterfall method, take a more linear and sequential
approach to software development, with a focus on defining and specifying requirements up
front and then proceeding through the development process in a step-by-step manner. Agile
methodologies, on the other hand, take a more flexible and iterative approach, with a focus on
continuous collaboration and rapid iteration in response to changing requirements and
circumstances. This allows for greater flexibility and adaptability, but also requires a higher
level of user involvement and commitment from the development team.

2. Draw a diagram to show phases/activities in the following methodologies, and briefly


describe each diagram.
a) Extreme Programming (XP)
Ans: - Extreme Programming (XP) is a software development style that stresses
continuous improvement and quick feedback. It places a premium on customer
happiness, communication, and adaptability above meticulous planning and
documentation. Pair programming, test-driven development, and regular releases
are core XP techniques. It is frequently utilized in projects with constantly changing
needs or when the specific requirements are unknown at the start of the project.

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022

b) Scrum
Ans: - Scrum is an Agile project management and completion framework. It is most
typically used in software development, although it may be utilized in any project.
Scrum values collaboration, responsibility, and iterative development. The
framework is built on the concept of "sprints," which are brief time-boxed iterations
(usually 2-4 weeks) that result in a potentially releasable product increment. Scrum
is made up of roles like Product Owner, Scrum Master, and Development Team, as
well as activities like Sprint Planning, Daily Scrum, Sprint Review, and Sprint
Retrospective. Scrum's purpose is to produce functioning software that satisfies the
demands of the client as soon as feasible.

c) Rapid Application Development (RAD)


Ans:- Quick Application Development (RAD) is a method of software development
that stresses rapid prototype and iteration. The purpose of rapid application
development (RAD) is to quickly produce a functioning version of software, collect
feedback, and then utilize that input to enhance the program. This strategy is
typically employed when the software requirements are not well known or are
anticipated to change frequently. RAD core practices include the use of visual
development tools, automated code creation, and the reuse of pre-existing software
components.

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
E: System Analysis

1. Discuss the THREE (3) advantages and THREE (3) disadvantages of the following data
analysis methods:
a) Data Mining
Advantages of Data Mining:
i. Improved decision making: Data mining can help organizations make
better decisions by identifying patterns and relationships within large
datasets that may otherwise go unnoticed.
ii. Increased efficiency: By automating the process of identifying important
data, data mining can save organizations time and resources.
iii. Cost savings: Data mining can help organizations identify areas where
they can cut costs, such as by identifying inefficiencies in their
operations.
Disadvantages of Data Mining
i. Privacy concerns: Data mining can raise concerns about privacy as
organizations may collect and use personal information without individuals'
knowledge or consent.
ii. Bias: Data mining algorithms can perpetuate and even amplify existing
biases in the data, leading to unfair or inaccurate results.
iii. Complexity: Data mining can be a complex process that requires a
significant amount of technical expertise, which can be a barrier for some
organizations.

b) Statistical Analysis

Advantages of Statistical Analysis:


i. Identifying patterns and relationships: Statistical analysis can help
identify patterns and relationships within data that may not be
immediately obvious.
ii. Making predictions: Statistical techniques can be used to make
predictions about future events or trends based on past data.
iii. Testing hypotheses: Statistical analysis can be used to test hypotheses
and determine the likelihood that a particular hypothesis is true.
Disadvantages of Statistical Analysis:

i. Complexity: Statistical analysis can be a complex and technical process


that requires a significant amount of expertise to perform correctly.
ii. Limited applicability: Some types of data or research questions may not
be well-suited to statistical analysis, and other methods may be more
appropriate.
iii. Assumptions: Many statistical techniques rely on certain assumptions
about the data, and if these assumptions are not met, the results may be
inaccurate or unreliable.

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
2. You have been approached to design a new system for a car rental company (CRC). The
company has various models of cars to be rented out. Each model is specified by its
manufacturer, and model name and has its daily charge. Each car has a registration number
and odometer reading.
Customers who wish to rent a car will make a booking in the new system by specifying the
model that they want and the dates that the car is required. The CRC staff will need to
confirm the booking and send an invoice. On the specified day, the customer will come and
collect the car. Based on the model that is booked, an available car will be allocated to the
customer. The car’s odometer reading is noted, and a rental agreement will be drawn up for
the car. The customer’s name, address, mobile phone number, and driving license number
will be recorded. Besides, customers may also be corporate customers in which case their
job title and the company name must be known.

Write TWO (2) functional requirements and TWO (2) non-functional requirements for the
CRC system.

Ans:- Functional requirements:


i. The system must have the capability to process customer bookings and confirm
availability of the specific model of car requested.
ii. The system must be able to generate and send invoices to customers, and track
payment status.
iii. The system must be able to allocate an available car to a customer based on the
specific model booked.
iv. The system must be able to record and track the odometer reading of the
allocated car, and generate a rental agreement for the customer.

Non-functional requirements:
i. The system must have a high level of security to protect customer personal and
financial information.
ii. The system must have a high availability, ensuring that the booking and
allocation process can be performed seamlessly and without interruption.
iii. The system must have a high scalability, allowing for a large number of
customers and bookings to be managed at any given time.
iv. The system must be user-friendly and easy to navigate for both customers and
staff.

F: System Testing
1. Explain FIVE (5) advantages and FIVE (5) disadvantages of software testing.
Advantages of software testing:
 Improved quality and reliability: Testing helps to identify and fix defects
and errors in the software, which can improve the overall quality and
reliability of the product.
 Increased customer satisfaction: By finding and fixing defects before the
software is released, testing helps to ensure that the product meets the
expectations and needs of the users. This can lead to increased customer
satisfaction and loyalty.

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
 Reduced risk of failure: Testing can help to uncover potential problems or
issues that may not have been evident during the development process. This
can reduce the risk of failure or downtime, and help to protect the reputation
and credibility of the organization.
 Cost savings: Identifying and fixing defects early in the development
process can save time and money, as it is often cheaper to fix problems at an
early stage rather than later on.
 Improved development process: Testing can provide valuable feedback and
insights into the development process, which can help to identify areas for
improvement and optimize the process going forward.
Disadvantages of software testing:
 Time and cost: Testing can be time-consuming and costly, especially if it is
not properly planned or managed.
 Limited coverage: Testing can only uncover defects and problems that are
within the scope of the tests being performed. This means that it is possible
for defects to remain undetected if they are not covered by the tests.
 Limited effectiveness: Testing is not a fool proof method of ensuring the
quality and reliability of software, as it is impossible to test every possible
scenario or combination of inputs.
 False positives and negatives: Testing can sometimes produce false
positives (indicating a problem where none exists) or false negatives (failing
to identify a problem that does exist). This can lead to confusion and wasted
effort.
 Dependence on testers: The effectiveness of testing depends on the skill and
expertise of the testers, and the quality of the tests they develop. If the
testers are not competent or thorough, the testing process may be less
effective.
2. Describe THREE (3) testing methods that can be conducted in a software development
project.
 Unit testing: Unit testing involves testing individual units or components of
the software to ensure that they are functioning correctly. This type of
testing is typically done by the developers as part of the development
process, and is focused on verifying the correctness of specific pieces of
code.
 Integration testing: Integration testing involves testing how the different
units or components of the software work together as a system. This type of
testing is typically done after unit testing and is focused on verifying the
compatibility and interoperability of the different components.
 Acceptance testing: Acceptance testing involves testing the software to
ensure that it meets the requirements and expectations of the users or
stakeholders. This type of testing is typically done by the end users or a
separate testing team, and is focused on verifying that the software is fit for
its intended purpose.

ASSIGNMENT ASSESSMENT CRITERIA

Components Allocated Marks

Systems Development Methods 1 of 2 Lecturer name


Systems Development Methods MMM 2022
1 3
A 2 3
3 5
B 1 20
1 6
C 2 6
3 6
D 1 6
2 9
1 12
E
2 8
1 10
F
2 6
TOTAL 100

Systems Development Methods 1 of 2 Lecturer name

You might also like