Unit 4 System Analysis
Unit 4 System Analysis
System planning is an organized and integrated management process that focuses on the actions
necessary for the project's practical completion. It avoids problems in the project, such as
changes in the projects or organization's objectives, resource shortages, and so forth. Project
planning also aids in improved resource use, and the most efficient use of a project's allowed
time. The following are the other project planning goals.
It establishes the project management team's duties and responsibilities.
It guarantees that the project management team adheres to the company's goals.
It examines the schedule's viability and the needs of the users.
It establishes the project's limits.
Effective project planning ensures that the project gets off to a good start with well-defined tasks.
Effective project planning helps keep the project's additional expenses to a minimum when it's
in process. Some guidelines are followed when designing a project. These guidelines are outlined
below.
BCA III - SAD Compiled By: GIRIJA 2
Planning: Before starting a project, it's essential to plan. Objectives and timelines should
be clear and understandable for efficient planning.
Risk analysis: Before beginning the project, senior management and the team should
think about the potential hazards. Changes in requirements, for example, maybe desired
by the user while the project is in process. In this instance, time and cost estimations
should be made by the requirements (new requirements).
Monitoring the project's progress: The project plan should be tracked and adjusted as
needed once it is completed.
Meet quality standards and offer high-quality results: The project plan should outline
the project management team's procedures to assure software quality. The project's
duration and cost are calculated based on the quality assurance approach.
The project planning process consists of numerous tasks required to complete a project
methodically. These activities relate to a set of functions that ended over time to building
software. These actions involve estimating the amount of time, effort, and resources needed,
as well as the project's hazards.
BCA III - SAD Compiled By: GIRIJA 3
2. Identification of cost estimates: Along with estimating work and time, it's also essential to
figure out how much a project will cost. The cost estimate covers the cost of hardware,
network connections, and hardware component maintenance. In addition, the cost of the
project's participants is estimated.
BCA III - SAD Compiled By: GIRIJA 4
3. Identification of risks: Unexpected events that have a negative impact on the project are
known as risks. A software project entails several hazards (such as technical and business
risks) that might impact the project's timeline and cost. Identifying hazards before the start
of a project aids in determining their likely influence on the project.
4. Identification of critical success factors: Critical success elements are followed to make a
project successful. These are the conditions that increase the likelihood of a project's
success. Support from management, a reasonable budget, an appropriate timetable, and
talented software engineers are all examples of these elements.
5. Preparation of project charter: A project charter summarizes the project's scope, quality,
time, cost, and resource restrictions as specified during the planning stage. It is developed
by management for approval by the project's sponsor.
6. Preparation of project plan: A project plan outlines the resources available for the project,
the people who will be engaged, and the timeline for completion.
7. Commencement of the project: The software project begins once the project planning is
completed and resources are allotted to team members.
Initial Investigation
The 1st step in SDLC is the identification of a need.
This is a user's request to change, improve, or enhance an existing system.
There is likely to be a stream of such requests, standard procedures must be established
to deal with them.
The Initial investigation is one way of handling this.
The objective is to determine whether the request is valid and feasible before a
recommendation is reached to do nothing, improve or modify the existing system or build
a new one
2) Background Analysis:
Background analysis is the process of getting the basic information about the Customer's
Company or organization i.e. how it really works? What people are involved in it? Etc.
Background analysis helps the system analyst to prepare the organization chart with the list of
people and functions.
3) Fact finding:
After obtaining the background information, analyst start gathering the data like input, output
and cost of the existing system. Information can be gathered by following tools:
a.) Review of written documents.
b.) On-site observations
c.) Interview and questionnaires
4) Fact Analysis:
After the collection of data it must be organized and evaluated so that report can be prepared
for the final approval from the user.
5) Determination of Feasibility:
After organizing data, and fact analysis feasibility is evaluated and determine that any alternative
proposal is possible or not for the customer's Project.
B. Project Scheduling
A project schedule is a technique of communicating and informing people about the activities
that must be completed, the organizational resources that will be assigned to these tasks, and
the amount of time that the work must be completed. Successful project scheduling results in
lower costs, higher client satisfaction, and a successful project. In project management,
scheduling refers to outlining the deliverables, milestones, and tasks that must be completed
within a project. Compared to the notes in your typical weekly planner, it has more notes. The
Gantt chart is the most often used and significant type of project schedule.
BCA III - SAD Compiled By: GIRIJA 6
Steps involved:
1. Define the project scope: Clearly outline what the project needs to achieve and what is
not included.
2. Break down the project into tasks: Divide the project into smaller, manageable units of
work.
3. Estimate task durations: Use historical data, expert judgment, or other methods to
estimate how long each task will take.
4. Identify dependencies: Determine which tasks must be completed before others can
start.
5. Sequence the tasks: Arrange the tasks in a logical order that respects dependencies.
6. Allocate resources: Assign the appropriate resources to each task.
7. Create the project schedule: Choose a tool or format to visually represent your schedule,
such as a Gantt chart or network diagram.
8. Monitor and adjust: Regularly review your schedule and make adjustments as needed
due to changes, risks, or issues.
1. Task lists
This is the simplest scheduling technique and works for small projects without a lot of
interdependencies. However, for larger projects, it may not be the right choice as tracking the
progress can become a major challenge.
The task list contains the list of tasks and subtasks along with the team members assigned to do
them.
2. Calendar
The calendar can be used to depict the project timelines of all the tasks throughout the course of
the project. It’s a decent approach to view overlaps between activities. But, this approach suffers
from an inability to assign tasks and view dependencies.
3. Gantt Chart
Gantt chart is a type of a bar chart that is used for illustrating project schedules. Gantt charts can
be used in any projects that involve effort, resources, milestones and deliveries.
A Gantt chart is a visualization that helps in scheduling, managing, and monitoring specific
tasks and resources in a project.
It consists of a list of tasks and bars depicting each task's progress.
The horizontal bars of different lengths represent the project timeline, which can include
task sequences, duration, and the start and end dates for each task
It's the most widely used chart in project management.
Gantt charts are used in heavy industries for projects like building dams, bridges, and
highways, as well as software development and building out of other goods and services.
Example:
C. Requirement Analysis
Requirements analysis (requirements engineering) is the process of determining user
expectations for a new or modified product. It is usually a team effort and demands a variety of
human soft skills, such as critical thinking, communication and judgment.
Requirements analysis is a common and essential concept in software development and software
project management. At the start of every software project, the project team must understand,
finalize and document the features and functionalities required of the end product. These
required features and functionalities are often called functional specifications, and the process
of determining and understanding them is called requirements gathering and analysis.
Requirement Knowledge:
It is very necessary to know about the requirements of the users before starting any
project. Working on the present requirements of the users will be helpful in gaining
popularity of your project.
Identification of Stakeholders:
Stakeholders includes customers, end-users, system administrators etc. identifying the
correct stakeholder is second step and is one of the most important step in all. Identifying
the correct stakeholders help to properly analyze and create a road map for gathering
requirements.
Collection of Requirements:
After identifying stakeholders one has to collect requirements for them. Based on the
nature and aim of the project there can be many kinds of stakeholders. Interacting with
stakeholder groups can be in person interviews, focus groups, market study, surveys and
secondary research.
BCA III - SAD Compiled By: GIRIJA 10
D. Types of requirements
Introduction
Requirements are descriptions outlining the services a software system must deliver and
the constraints it must adhere to.
They encompass a spectrum, spanning from high-level abstract statements of services to
detailed mathematical functional specifications.
These requirements provide a comprehensive understanding of what the software system
is expected to achieve and the limitations it must observe.
BCA III - SAD Compiled By: GIRIJA 11
Types of Requirements
Business Requirements:
These represent the high-level goals and objectives the business wants to achieve through the
software. They focus on the strategic value the software brings to the organization, like:
Increased revenue or market share
Improved efficiency or cost reduction
Enhanced customer satisfaction or loyalty
Compliance with regulations or industry standards
Business requirements are typically broader and less technical than user requirements. They
often involve financial considerations, marketing strategies, and competitive analysis.
User Requirements
User requirements articulate the desires and expectations of the end-user regarding the
software system.
Typically expressed in natural language, these requirements are often gathered through
methods such as interviews, surveys, or user feedback.
User requirements provide insights into the functionalities and features that the end-
users find essential or desirable in the software system.
BCA III - SAD Compiled By: GIRIJA 12
Functional Requirements
Functional requirements define what the software system should do. These requirements
describe the behavior of the system and specify what the user can do with it. Examples of
functional requirements include:
User interface requirements: These requirements describe how the user interacts with
the system, including what data is input, how the system responds, and what information
is displayed.
Data management requirements: These requirements define how the system will store,
retrieve, and manage data.
Business rules requirements: These requirements define the rules that the system must
follow, such as how to calculate taxes or how to process orders.
Reporting requirements: These requirements specify the types of reports that the system
should generate, including the format and content.
Security requirements: These requirements specify how the system should protect
sensitive data and prevent unauthorized access.
Example:
What are the features that we need to design for this system?
What are the edge cases we need to consider, if any, in our design?
Non-Functional Requirements
Non-functional requirements specify how the system should perform. These requirements
describe the qualities of the system, such as reliability, usability, and performance. Examples of
non-functional requirements include:
Performance requirements: These requirements specify how quickly the system should
respond to user input, how much data it can handle, and how many users it can support
simultaneously.
Usability requirements: These requirements define how easy the system is to use,
including its interface design, user documentation, and error handling.
Reliability requirements: These requirements specify how reliable the system should be,
including its ability to recover from failures, maintain data integrity, and avoid data loss.
Availability requirements: These requirements define how often the system should be
available for use, including maintenance windows and downtime.
Scalability requirements: These requirements specify how the system should scale as
demand increases, including its ability to handle more users and data.
Example:
Should each request be processed with minimum latency?
System should be highly valuable.
BCA III - SAD Compiled By: GIRIJA 13
Domain Requirements
Domain requirements are specific to a particular category or domain of projects.
They can be either functional or nonfunctional in nature.
Domain requirements engineering is an ongoing process aimed at proactively defining
requirements for all foreseeable applications within a software product line.
Examples of domain requirements include functionalities essential to a particular
domain, such as accessing the list of faculty and students in an academic software for a
school or college.
These requirements are derived from the domain model and are not user-specific.
Helps you verify the functionality of the Helps you to verify the performance of the
software. software.
BCA III - SAD Compiled By: GIRIJA 14
Example Example
1) Authentication of user whenever he/she 1) Emails should be sent with a latency of no
logs into the system. greater than 12 hours from such an activity.
2) System shutdown in case of a cyber 2) The processing of each request should be
attack. done within 10 seconds
3) A Verification email is sent to user 3) The site should load in 3 seconds when
whenever he/she registers for the first time the number of simultaneous users are >
on some software system. 10000
One-to-One Interviews/Meetings:
One-to-one interviews or meetings involve direct, individualized interactions between an
interviewer and a participant, commonly employed for requirements gathering. These sessions
utilize various questioning techniques, such as open-ended, follow-on, or probing questions, to
delve into user or stakeholder perspectives and system requirements.
Advantages:
In-depth insights
Open communication
Personalized interaction
Privacy for sensitive information
BCA III - SAD Compiled By: GIRIJA 15
Disadvantages:
Time-consuming
Limited perspective
Resource-intensive
Potential for bias
Group Interviews
When there are many users or stakeholders, group interviews can be efficient, especially if
participants are at a similar level or from the same section within a department.
Advantages:
Faster gathering of information and requirements compared to one-to-one interviews.
Disadvantages:
Requires more preparation before the interview.
More challenging to keep the meeting focused.
Workshops
Involving 6-10 or more users/stakeholders working together to identify requirements, workshops
are time-limited and may need repetition for clarification or more details.
Advantages:
Faster than group interviews, especially for common or system-wide requirements.
Disadvantages:
Requires more preparation.
Facilitating workshops demands additional skills, possibly needing an extra IT person to
record details/requirements.
Initiating conversation/requirements can be challenging, especially at the beginning.
Brainstorming
Brainstorming can be done either individually or in groups. The ideas collected can then be
reviewed / analyzed and where relevant included within the system requirements. Ideas can
come from what users / stakeholders have seen (e.g. at software exhibitions), or experienced
elsewhere (e.g. before they joined the present organization).
Advantages:
Innovative Ideas: Enables the generation of highly innovative ideas and requirements by
encouraging creative thinking.
Efficient Requirement Definition: Provides an efficient way for users/stakeholders to
articulate and define their requirements collectively.
BCA III - SAD Compiled By: GIRIJA 16
Disadvantages:
On-Demand Challenge: Some individuals may find it difficult to brainstorm ideas when
required.
Individual Variances: Effectiveness varies among people, with some finding
brainstorming more challenging than others.
Feasibility Study
A feasibility study is an evaluation to determine the practicality of a proposed project or the
replacement of existing systems, considering various factors such as technical, economic, legal,
operational, and scheduling aspects.
Advantages:
Questionnaire
Questionnaires are a data collection method used to gather limited system requirements from
users or stakeholders, especially those with minor involvement or located remotely. The
questionnaire design and question types play a crucial role, influencing the quality of responses.
There are two types of questionnaires −
BCA III - SAD Compiled By: GIRIJA 17
Time-consuming to create.
Low response rates, as filling out questionnaires may be a low priority for many.
Potential for recipients to feel excluded if they desired more direct input.
Use Cases:
Use cases are comprehensive narratives that intricately describe the unfolding of system
processes, actions, and roles, providing a holistic and user-centric perspective on how the system
operates.
Advantages:
Users find it accessible to describe processes.
System requirements are effectively derived through systematic use case analysis.
Disadvantages:
Requires additional analysis to convert processes into explicit requirements.
Focus on existing processes may lead to less relevant information due to system changes.
Observation:
Observation involves actively immersing oneself in existing processes by shadowing users or
participating in their tasks, offering valuable insights for optimizing these processes within the
context of the new system.
Advantages:
Valuable when users struggle to articulate needs.
Offers insights into optimizing processes in the new system.
Disadvantages:
Relatively slow, focusing primarily on understanding and documenting existing processes.
Prototyping:
Prototyping is a dynamic process where an initial version of the system is constructed based on
collected requirements. This iterative approach allows users to visualize, refine, and enhance
their needs, particularly useful for exploring software function requirements or bespoke software
development.
BCA III - SAD Compiled By: GIRIJA 18
Advantages:
Effective for exploring software function requirements or bespoke software.
Enhances requirement quality and aids in software selection.
Disadvantages:
Less practical for the initial identification of requirements with numerous potential
software systems.
Not suitable for large applications; cost may be limiting.
2. Economic Feasibility
This assessment typically involves a cost/ benefits analysis of the project, helping organizations
determine the viability, cost, and benefits associated with a project before financial resources
are allocated. It also serves as an independent project assessment and enhances project
credibility—helping decision-makers determine the positive economic benefits to the
organization that the proposed project will provide.
3. Legal Feasibility
This assessment investigates whether any aspect of the proposed project conflicts with legal
requirements like zoning laws, data protection acts or social media laws. Let’s say an
organization wants to construct a new office building in a specific location. A feasibility study
BCA III - SAD Compiled By: GIRIJA 20
might reveal the organization’s ideal location isn’t zoned for that type of business. That
organization has just saved considerable time and effort by learning that their project was not
feasible right from the beginning.
4. Operational Feasibility
This assessment involves undertaking a study to analyze and determine whether—and how
well—the organization’s needs can be met by completing the project. Operational feasibility
studies also examine how a project plan satisfies the requirements identified in the
requirements analysis phase of system development.
5. Scheduling Feasibility
This assessment is the most important for project success; after all, a project will fail if not
completed on time. In scheduling feasibility, an organization estimates how much time the
project will take to complete.
When these areas have all been examined, the feasibility analysis helps identify any constraints
the proposed project may face, including:
Internal Project Constraints: Technical, Technology, Budget, Resource, etc.
Internal Corporate Constraints: Financial, Marketing, Export, etc.
External Constraints: Logistics, Environment, Laws, and Regulations, etc.
4. Evaluate Alternatives:
Explore different options for achieving the identified objectives, including modifying
existing systems, developing a new system in-house, or outsourcing development.
Compare each alternative based on feasibility criteria and select the most viable option.
1. Tangible or intangible:
Tangible costs and benefits are those that can be easily identified and measured. Ex for
tangible costs are Purchase of hardware and software, personnel training, employee salaries.
Ex for tangible benefits are completing jobs in fewer hours, producing report with no errors.
Intangible costs and benefits are those that cannot be easily identifiable and measured
accurately.
Ex for tangible costs are employee morale problem caused by new system, lowered company
image. Ex for intangible benefits are more satisfied customers.
2. Direct or indirect
Direct costs and benefits are those functions that are directly applied to the operation ex for
direct costs is purchase of a box of diskettes. A new system that can handle 25 percent more
transactions per day is a direct benefit.
BCA III - SAD Compiled By: GIRIJA 23
Indirect costs and benefits are those whose results of the operations that are not directly
associated with given system or activity. Indirect costs are referred to as overhead. Ex-indirect
costs are insurance, maintenance, and protection of computer center, air conditioning. Indirect
benefits are defined as a by-product of another activity or system.
3. Fixed or variable
fixed costs and benefits are constant, they do not change. Fixed costs are insurance. ex for fixed
benefits is decrease in a number of personnel by 20 percent resulting from the use of a new
computer. Variable costs and benefits are changeable. They are not constant
2. User Feedback:
Early playback enables users and stakeholders to provide feedback on the
software's functionality and design.
BCA III - SAD Compiled By: GIRIJA 24
User input during the development process helps in identifying and addressing
issues before the final product is delivered.
3. Risk Identification:
Playback helps in identifying potential risks and challenges early in the
development life cycle.
Stakeholders can assess the software's feasibility, making it possible to adjust
the project plan or requirements as needed.
5. Cost-Efficiency:
Early detection of issues through playback minimizes the cost of fixing defects
later in the development process.
Iterative playback also facilitates incremental development, making it easier to
manage costs and resources.
6. Adaptability to Changes:
Playback supports an iterative and adaptive development approach.
It allows for adjustments and changes based on feedback, ensuring that the
software meets evolving business requirements.
OR
NPV can also be calculated by finding the difference between the Present Value (PV) after the
competition of time duration of investment and the initial amount invested where the Present
Value "PV" after time "t" for a rate of return "r" can be calculated as:
NPV < 0 = The money earned from the investment is less than the money invested
Example 1: An investor made an investment of $500 in property and gets back $570 the next
year. If the rate of return is 10%. Calculate the net present value.
Solution:
Given:
Amount invested = $500
Money received after a year = $570
Rate of return = 10% = 0.1
Using net present value formula,
PV = $570/1.1
PV = $518.18
Net Present Value = $518.18 − $500.00 = $18.18
Therefore, for 10% rate of return, investment has NPV = $18.18.
Interpretation:
A positive NPV indicates that the investment is expected to generate a return greater than the
discount rate, suggesting potential profitability.
A negative NPV implies the investment is likely to lose money, as the present value of its future
cash flows is less than the initial investment.
A zero NPV suggests the investment will exactly break even, generating a return equal to the
discount rate.
Benefits of using NPV:
Considers time value of money: Provides a more accurate picture of an investment's
profitability compared to simply looking at future cash flows.
Compares different investments: Allows for standardized evaluation of various
investment options with different cash flow patterns.
Supports decision-making: Helps investors choose projects with the potential for the
highest return on investment.
BCA III - SAD Compiled By: GIRIJA 27
Limitations of NPV:
Relies on accurate estimates: Requires precise forecasting of future cash flows and
selecting an appropriate discount rate, which can be challenging.
Ignores other factors: Doesn't consider qualitative aspects like market risk, strategic
value, or environmental impact.
BCA III - SAD Compiled By: GIRIJA 28
Assignments:
1. Explain the key aspects involved in system planning and initial investigation for a new
project. What are the main objectives of this phase?
2. Describe the different investigation techniques used in the initial stages of a project,
and provide examples.
3. Define project scheduling and explain its importance in system development. What
are the key factors considered while creating a project schedule?
4. What is requirement analysis? Explain the different phases involved in this process.
5. Describe the different types of requirements.
6. Difference between functional and non-functional requirements.
7. List and explain various techniques used to gather requirements from stakeholders.
What are the advantages and disadvantages of each method?
8. In a specific scenario (e.g., developing a new student information system), suggest
suitable requirement gathering methods and provide justifications for your choices.
9. Define a feasibility study and explain its significance in system development. What are
the major areas of investigation in a feasibility study?
10. Differentiate between the different types of feasibility studies and provide examples
of how each one is assessed.
11. Outline the key steps involved in conducting a comprehensive feasibility study for a
proposed information system.
12. Explain the importance of conducting a cost-benefit analysis in a feasibility study.
What are the key factors considered in this analysis?
13. Compare and contrast two common cost-benefit analysis methods: the payback
method and the net present value (NPV) method. Discuss the strengths and
weaknesses of each method and when it might be appropriate to use one over the
other.
Additional Question:
Consider a real-world scenario (e.g., developing a mobile app for a local business) and
apply your understanding of system planning, requirement analysis, feasibility study, and
cost-benefit analysis to develop a comprehensive plan for launching the project.