0% found this document useful (0 votes)
22 views22 pages

ITM Module 3

Module 3 discusses System Analysis and Development, emphasizing the importance of understanding business requirements, identifying problems, and optimizing processes through structured methodologies. It outlines the stages of system analysis, including problem definition, feasibility study, requirements analysis, and system design, along with various system development models like Waterfall, Agile, and Spiral. Additionally, it highlights tools such as Data Flow Diagrams and Decision Tables that aid in visualizing and managing system processes.

Uploaded by

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

ITM Module 3

Module 3 discusses System Analysis and Development, emphasizing the importance of understanding business requirements, identifying problems, and optimizing processes through structured methodologies. It outlines the stages of system analysis, including problem definition, feasibility study, requirements analysis, and system design, along with various system development models like Waterfall, Agile, and Spiral. Additionally, it highlights tools such as Data Flow Diagrams and Decision Tables that aid in visualizing and managing system processes.

Uploaded by

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

Information Technology for Managers Module-3

System Analysis and Development and its models

 Systems Analysis-It is a process of collecting and interpreting facts, identifying the problems, and
decomposition of a system into its components.

 System analysis is conducted for the purpose of studying a system or its parts in order to identify
its objectives. It is a problem solving technique that improves the system and ensures that all the
components of the system work efficiently to accomplish their purpose.

 Systems Design-It is a process of planning a new business system or replacing an existing system
by defining its components or modules to satisfy the specific requirements. Before planning, you
need to understand the old system thoroughly and determine how computers can best be used in
order to operate efficiently.

 System Design focuses on how to accomplish the objective of the system.

What are Systems?

 Term system is derived from the Greek word ‘Systema’ which means an organized relationship
among functioning units or components.

 A system is an orderly grouping of interdependent components linked together according to a


plan to achieve a specific objective.

 Characteristics of a System

• Organization- It implies structure and order

• Interaction- -It refers to manner in which each component functions with other components of
the system.

• Interdependence- Units/parts are dependent on each other

• Integration- The parts of a system work together within the system even though each part
performs a unique function.

• Central Objective- Objective may be real or stated All the components work together to achieve
that particular objective

Need for System Analysis:


System analysis is a crucial phase in the development and maintenance of information systems. It
involves studying and understanding a business or organizational system to identify its goals, objectives,
processes, and information needs. The need for system analysis arises for several important reasons:
1. Understanding Business Requirements:
 System analysis helps in understanding the business processes and requirements of an
organization. This includes identifying the functionalities and features needed in a new
system or improvements required in an existing system.
2. Problem Identification and Definition:

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 1


Information Technology for Managers Module-3

 It helps in identifying problems or inefficiencies in the current system. Through analysis,


areas for improvement can be pinpointed, and solutions can be proposed to address these
issues.
3. Optimizing Business Processes:
 System analysis allows for the optimization of business processes. By studying how tasks
are currently performed, analysts can suggest changes or redesign processes to make
them more efficient and effective.
4. Aligning Technology with Business Goals:
 As technology evolves, businesses need to align their information systems with their
strategic goals. System analysis ensures that technology solutions support and enhance
the overall objectives of the organization.
5. Scope and Feasibility Assessment:
 Before investing time and resources in system development, it is crucial to assess the
scope and feasibility of the project. System analysis helps in determining the size and
complexity of the system and evaluating its technical, economic, and operational
feasibility.
6. User Involvement and Satisfaction:
 Involving end-users in the system analysis process ensures that their needs and
perspectives are taken into account. This increases user satisfaction and acceptance of the
new system.
7. Risk Management:
 System analysis allows for the identification and mitigation of potential risks associated
with system development. By understanding the challenges and uncertainties upfront,
project managers can develop strategies to manage and overcome these risks.
8. Resource Allocation and Planning:
 It helps in planning and allocating resources effectively. System analysis provides
insights into the required manpower, technology, and financial resources, allowing
organizations to plan and budget accordingly.
9. Decision Support:
 Through data gathering and analysis, system analysis provides decision-makers with the
information needed to make informed choices about the development, enhancement, or
replacement of information systems.
10. Adaptability to Change:
 Businesses are subject to change due to internal or external factors. System analysis
ensures that information systems are designed to be flexible and adaptable, allowing them
to evolve with changing business needs.
11. Quality Improvement:
 By analyzing existing systems, identifying bottlenecks, and proposing enhancements,
system analysis contributes to the overall quality improvement of information systems,
leading to better performance and reliability.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 2


Information Technology for Managers Module-3

Stages in System Analysis:

System analysis involves a systematic approach to studying a business or organizational system


to understand its processes, identify problems, and propose solutions for improvement. The stages
in system analysis can vary depending on the methodology or framework used, but a common set
of stages includes:

1. Problem Definition and Project Identification:

 Identify and define the problem or need that the new system should address.

 Determine the scope of the project and establish its objectives.

2. Feasibility Study:

 Evaluate the feasibility of the proposed system in terms of technical, operational,


economic, and scheduling aspects.

 Assess the cost and benefits associated with implementing the new system.

3. System Planning:

 Develop a detailed plan for the project, outlining the tasks, timelines, resources, and
budget requirements.

 Establish project milestones and deliverables.

4. Requirements Analysis:

 Gather and document detailed requirements from stakeholders, including users and
management.

 Define the functionalities and features the new system should have.

5. System Design:

 Develop a blueprint for the new system based on the gathered requirements.

 Specify the architecture, components, modules, interfaces, and data for the system.

6. Implementation:

 Build or acquire the necessary hardware and software components.

 Develop and test the system based on the design specifications.

7. Integration and Testing:

 Combine the various components and test the entire system to ensure that it functions as
intended.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 3


Information Technology for Managers Module-3

 Identify and resolve any issues or bugs that may arise during testing.

8. System Deployment:

 Introduce the new system into the organization or business environment.

 Train users and provide documentation to support the use of the new system.

9. Maintenance and Review:

 Monitor the performance of the system after deployment.

 Address any issues that arise, and make enhancements or updates as needed.

 Conduct periodic reviews to ensure that the system continues to meet the business needs.

Structured SAD and tools like DFD:

Structured Systems Analysis and Design (SAD) is an approach to software development that
involves a systematic process for analyzing, designing, and implementing information systems.
One of the key tools associated with Structured SAD is the Data Flow Diagram (DFD).

Structured SAD:

Structured SAD is characterized by a hierarchical and modular approach to system development.


It emphasizes dividing the system into smaller, manageable components or modules, each with a
specific function. The process is typically sequential and follows a phased approach, often using
techniques like top-down decomposition.

Data Flow Diagram (DFD):

A Data Flow Diagram (DFD) is a graphical representation of how data moves within a system. It
shows the flow of data between different processes, data stores, and external entities. DFDs are a
fundamental tool in structured analysis and design. Key components of a DFD include:

1. Processes:

 Represent activities or functions performed on data. Processes are typically depicted as


circles or ovals in a DFD.

2. Data Flows:

 Represent the paths along which data moves within the system. Arrows depict the
direction of data flow between processes, data stores, and external entities.

3. Data Stores:

 Represent repositories where data is stored. This can include databases, file systems, or
any other storage mechanisms.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 4


Information Technology for Managers Module-3

4. External Entities:

 Represent sources or destinations of data that are external to the system. External entities
interact with the system by sending or receiving data.

Advantages of DFD in Structured SAD:

1. Clarity and Understanding:

 DFDs provide a clear and concise visual representation of how data flows through a
system. This aids in understanding the system's overall functionality.

2. Communication:

 DFDs serve as effective communication tools between system analysts and stakeholders.
They help convey complex processes in a more easily understandable format.

3. Hierarchical Decomposition:

 DFDs support a top-down approach to system decomposition. The diagram can be


decomposed into lower-level diagrams, breaking down complex systems into more
manageable sub-systems.

4. Identifying Processes and Data Flows:

 Through DFDs, analysts can identify the processes that need to be implemented and the
data flows between these processes. This identification is crucial for system development.

5. System Validation:

 DFDs assist in validating the proposed system against the requirements. They help ensure
that all necessary processes are considered and that the system will fulfill its intended
purpose.

6. Change Management:

 DFDs can be easily modified to incorporate changes in requirements or system


enhancements. This flexibility supports adaptability throughout the system development
life cycle.

Context Diagram Decision Table and Structured Diagram:

A Context Diagram is a high-level visual representation that provides an overview of a system,


illustrating its interactions with external entities. It is part of the Data Flow Diagram (DFD)
methodology and typically represents the system as a single process, surrounded by external
entities and connected by data flows. A Context Diagram helps stakeholders understand the
boundaries and scope of the system without delving into internal details.

Decision Table:

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 5


Information Technology for Managers Module-3

A Decision Table is a decision support tool used in system analysis and design to represent
complex decision logic. It provides a structured way to document various combinations of
conditions and the corresponding actions or decisions that result from those conditions. Decision
Tables are especially useful when dealing with multiple conditions and possible outcomes. Each
row in the table represents a unique combination of conditions, and each column represents a
specific action or decision based on those conditions.

Structured Diagram:

A Structured Diagram is a visual representation used in structured analysis and design


methodologies, such as Structured Systems Analysis and Design Method (SSADM) or
Yourdon/DeMarco. Structured diagrams include various types, such as Structure Charts and
Nassi-Shneiderman diagrams. These diagrams help represent the modular and hierarchical
structure of a system, showing the relationships between different components or modules.
Structure Charts, for example, depict the hierarchy of modules and their connections in a top-
down manner.

In the context of system analysis and design:

 Context Diagram: Provides an overview of the system's interactions with external entities,
helping stakeholders understand the system's boundaries.

 Decision Table: Documents complex decision logic, specifying different conditions and
corresponding outcomes, aiding in the analysis of decision-making processes within the system.

 Structured Diagram: Represents the modular and hierarchical structure of the system, showing
how components or modules are organized and interact.

System Development Models

System development models are frameworks or methodologies used in the process of developing
information systems or software applications. Each model follows a specific set of steps, phases,
or stages to guide the development process. Here are some commonly used system development
models:

1. Waterfall Model:

 The Waterfall Model is a linear and sequential approach where each phase must be
completed before moving on to the next. The phases include requirements gathering,
system design, implementation, testing, deployment, and maintenance.

2. Iterative Model:

 The Iterative Model involves repeating cycles of the development process. Each iteration
goes through the phases of planning, design, implementation, and testing. It allows for
incremental development and refinement based on feedback.

3. Spiral Model:

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 6


Information Technology for Managers Module-3

 The Spiral Model combines elements of the waterfall model and iterative model. It
emphasizes risk assessment and incorporates multiple cycles of planning, risk analysis,
engineering, testing, and evaluation. The process spirals outward, allowing for continuous
improvement.

4. V-Model (Verification and Validation Model):

 The V-Model is an extension of the waterfall model. It involves testing and validation
activities corresponding to each development stage. The left side of the "V" represents
the development phases, while the right side represents the corresponding testing phases.

5. Incremental Model:

 The Incremental Model divides the system into small, manageable parts or increments.
Each increment represents a portion of the system's functionality, and development
occurs incrementally. New increments are added until the system is complete.

6. RAD Model (Rapid Application Development):

 RAD is an iterative model that emphasizes rapid prototyping and quick feedback. It
involves user feedback and iterative development to create prototypes that evolve into the
final system.

7. Agile Model:

 Agile is an iterative and incremental model that prioritizes flexibility and collaboration. It
focuses on delivering small, functional increments of the system in short development
cycles. Agile methodologies include Scrum, Kanban, and Extreme Programming (XP).

8. Prototyping Model:

 The Prototyping Model involves creating a prototype (a preliminary model of the system)
to gather user feedback and refine requirements. It is an iterative process that continues
until the final system meets user expectations.

Software Development Life Cycle:

SDLC stands for Software Development Life Cycle. It is a systematic and structured process that guides
the development of software applications from initial concept to final deployment and maintenance. The
purpose of SDLC is to produce high-quality software that meets or exceeds customer expectations, is
delivered on time, and stays within budget. The exact phases and steps in SDLC may vary depending on
the methodology or model used, but the core stages generally include:

1. Planning:

 Identify the scope of the project, define objectives, and determine feasibility.

 Establish the project team, allocate resources, and create a project plan.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 7


Information Technology for Managers Module-3

2. Feasibility Study:

 Evaluate the technical, operational, and economic feasibility of the project.

 Assess potential risks and benefits associated with the development.

3. Requirements Analysis:

 Gather and document detailed requirements for the software based on stakeholder needs.

 Analyze and prioritize requirements, and create a requirements specification document.

4. System Design:

 Develop a high-level system architecture and design based on the requirements.

 Specify the system components, interfaces, data structures, and algorithms.

5. Implementation (Coding):

 Write the actual code based on the design specifications.

 Implement unit testing to ensure individual components work as intended.

6. Testing:

 Conduct various levels of testing, including unit testing, integration testing, and system
testing.

 Identify and fix defects, ensuring the software meets quality standards.

7. Deployment (Installation):

 Deploy the software in the production environment for end-users.

 Train users and provide necessary documentation for system use.

8. Maintenance and Support:

 Address and fix issues reported by users during the operation of the software.

 Implement updates, enhancements, and modifications as needed to meet changing


requirements.

These stages in SDLC can be represented in various models, including the Waterfall Model, Iterative
Models, Spiral Model, and Agile Models. Each model has its own characteristics, advantages, and
drawbacks, catering to different project needs and preferences.

Key Principles of SDLC:

1. Systematic Approach:

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 8


Information Technology for Managers Module-3

 SDLC follows a systematic and organized process, ensuring that each phase is completed
before moving on to the next.

2. Communication and Collaboration:

 Collaboration between stakeholders, including users, developers, and testers, is crucial


throughout the life cycle.

3. Documentation:

 Comprehensive documentation is maintained at each stage, providing a record of


decisions, requirements, and design specifications.

4. Verification and Validation:

 Rigorous testing and validation activities are conducted to ensure that the software meets
specified requirements.

5. Flexibility:

 Many modern SDLC methodologies, such as Agile, emphasize adaptability to change and
frequent reassessment of project priorities.

Waterfall Model:

 Decision Support System is an interactive information system that provides information, models
and data manipulation tools to help in making the decision in a semi-structured and unstructured
situation.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 9


Information Technology for Managers Module-3

The Waterfall Model is a traditional and linear software development methodology that follows a
sequential and phased approach. It is one of the earliest models used in software engineering and is
characterized by a well-defined set of phases, with each phase acting as a prerequisite for the next one.
The progression through these phases resembles a waterfall, where progress is seen as flowing steadily
downwards through the phases.

The key phases of the Waterfall Model include:

1. Requirements Phase:

 In this phase, the system requirements are gathered and documented in detail. This
involves communication with stakeholders to understand their needs and expectations for
the software.

2. System Design:

 Based on the requirements, the system architecture and design are created. This phase
involves defining the overall system structure, specifying components, and establishing
the relationships between them.

3. Implementation (Coding) Phase:

 The actual coding of the software takes place in this phase. The design specifications are
translated into executable code, and individual modules are developed.

4. Testing Phase:

 The completed software undergoes testing to identify and rectify defects or bugs. Testing
includes various levels such as unit testing, integration testing, and system testing.

5. Deployment (Installation) Phase:

 Once testing is successfully completed, the software is deployed or installed in the live
environment. Users are trained on how to use the software, and any necessary
documentation is provided.

6. Maintenance and Support:

 This phase involves ongoing maintenance and support for the software in the operational
environment. Updates, bug fixes, and enhancements are addressed as needed.

Characteristics of the Waterfall Model:

1. Sequential and Linear:

 The phases are executed in a sequential and linear fashion, with progress moving only in
one direction.

2. Document-Driven:

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 10


Information Technology for Managers Module-3

 Extensive documentation is produced at each phase, providing a comprehensive record of


requirements, design specifications, and testing procedures.

3. Rigidity:

 The Waterfall Model can be rigid, and changes in requirements or design can be
challenging to accommodate once the project has progressed to later stages.

4. Client Involvement at the Beginning and End:

 Stakeholder or client involvement is typically higher at the beginning (requirements


gathering) and end (deployment) of the development process.

5. Well-Suited for Small Projects with Well-Defined Requirements:

 The Waterfall Model is often well-suited for small projects with clear and stable
requirements.

6. Limited Iteration:

 There is limited room for iteration or revisiting previous phases once a phase is
completed.

Advantages of Classical Waterfall Model

The classical waterfall model is an idealistic model for software development. It is very simple, so it can
be considered the basis for other software development life cycle models. Below are some of the major
advantages of this SDLC model.

 Easy to Understand: Classical Waterfall Model is very simple and easy to understand.

 Individual Processing: Phases in the Classical Waterfall model are processed one at a time.

 Properly Defined: In the classical waterfall model, each stage in the model is clearly defined.

 Clear Milestones: Classical Waterfall model has very clear and well-understood milestones.

 Properly Documented: Processes, actions, and results are very well documented.

 Reinforces Good Habits: Classical Waterfall Model reinforces good habits like define-before-
design and design-before-code.

 Working: Classical Waterfall Model works well for smaller projects and projects where
requirements are well understood.

Applications of Classical Waterfall Model

 Large-scale Software Development Projects: The Waterfall Model is often used for large-scale
software development projects, where a structured and sequential approach is necessary to ensure
that the project is completed on time and within budget.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 11


Information Technology for Managers Module-3

 Safety-Critical Systems: The Waterfall Model is often used in the development of safety-critical
systems, such as aerospace or medical systems, where the consequences of errors or defects can
be severe.

 Government and Defense Projects: The Waterfall Model is also commonly used in government
and defense projects, where a rigorous and structured approach is necessary to ensure that the
project meets all requirements and is delivered on time.

 Projects with well-defined Requirements: The Waterfall Model is best suited for projects with
well-defined requirements, as the sequential nature of the model requires a clear understanding of
the project objectives and scope.

 Projects with Stable Requirements: The Waterfall Model is also well-suited for projects with
stable requirements, as the linear nature of the model does not allow for changes to be made once
a phase has been completed.

Disadvantages of Classical Waterfall Model

The Classical Waterfall Model suffers from various shortcomings, basically, we can’t use it in real
projects, but we use other software development lifecycle models which are based on the classical
waterfall model. Below are some major drawbacks of this model.

 No Feedback Path: In the classical waterfall model evolution of software from one phase to
another phase is like a waterfall. It assumes that no error is ever committed by developers during
any phase. Therefore, it does not incorporate any mechanism for error correction.

 Difficult to accommodate Change Requests: This model assumes that all the customer
requirements can be completely and correctly defined at the beginning of the project, but actually
customer’s requirements keep on changing with time. It is difficult to accommodate any change
requests after the requirements specification phase is complete.

 No Overlapping of Phases: This model recommends that a new phase can start only after the
completion of the previous phase. But in real projects, this can’t be maintained. To increase
efficiency and reduce cost, phases may overlap.

 Limited Flexibility: The Waterfall Model is a rigid and linear approach to software development,
which means that it is not well-suited for projects with changing or uncertain requirements. Once
a phase has been completed, it is difficult to make changes or go back to a previous phase.

 Limited Stakeholder Involvement: The Waterfall Model is a structured and sequential


approach, which means that stakeholders are typically involved in the early phases of the project
(requirements gathering and analysis) but may not be involved in the later
phases (implementation, testing, and deployment).

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 12


Information Technology for Managers Module-3

 Late Defect Detection: In the Waterfall Model, testing is typically done toward the end of the
development process. This means that defects may not be discovered until late in the
development process, which can be expensive and time-consuming to fix.

 Lengthy Development Cycle: The Waterfall Model can result in a lengthy development cycle, as
each phase must be completed before moving on to the next. This can result in delays and
increased costs if requirements change or new issues arise.

 Not Suitable for Complex Projects: The Waterfall Model is not well-suited for complex
projects, as the linear and sequential nature of the model can make it difficult to manage multiple
dependencies and interrelated components.

Prototype:

 A prototype is a simple visualization of the product to test the concept.

 There are thousands of new ideas that originate every day to solve a particular problem.
Executing an idea can be a long and expensive process. Alongside this, no one can, with absolute
certainty, say that their vision will work or that users will ultimately want and use their products.
Sometimes even great ideas fail because they are overly complicated to use or understand.

 Agile development pivots around faster time to market, learning, integration, and adaptability. A
prototype is built on the principle of failing fast, freely experimenting, and learning while trying
to reach the desired result. Finding failures propels learning and optimizes solutions to reach your
goal.

 Teams build prototypes with varying degrees of fidelity to capture design concepts and test them
on users. You can refine and validate your designs with prototypes to ensure that you are building
the right thing your user will use, without wasting time and resources. Because of this,
prototyping is a cost-effective way to learn from failure, promoting innovation and creativity.

 In the product discovery phase, it’s plausible that the product team has numerous compelling
ideas. However, there are many initial uncertainties (e.g., technical feasibility, seamless process
fit, etc.). The best way to avoid letting uncertainties drive the decision is to test the concept and
learn about the possibilities. Prototyping provides an opportunity to test the wildest, craziest
ideas, and decide whether to drop them or push them forward.

What are the 4 methods of prototyping?

1. Feasibility prototypes- To test the technical possibility of the concept. The feasibility prototype is
built with a precise granularity to the proposed feature. Next, the development team creates a
high-level architecture description and writes enough code to test the technical challenges and
possibilities of the concept.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 13


Information Technology for Managers Module-3

This prototype then serves as a ground for engineering the entire product. A feasibility
prototype is usually created while building new algorithms, new approaches, or new structures to
test attainability and push boundaries.

2. Low-fidelity user prototypes- To test the usability of the flow. Low-fidelity user prototypes are
most like wireframes created in tools like Figma or Invision by the UX/product designers. This
prototype aims to identify any user issues early on and test how the feature works and fits in the
entire process.
3. High-fidelity user prototypes- A realistic-looking prototype that takes a bit more time and
resources, but ensures stimulation per the final product. These prototypes are to test concepts that
are non-negotiable but can be adapted in a better way.
For example, when companies wanted to try virtual reality before people knew about VR, they
couldn’t explain it to people with wireframes and sketches and get their feedback. Instead, they
had to develop a high-fidelity user prototype with the goal of testing whether the user would like
the product.
4. Live data prototypes- A prototype embedded with analytical tools to collect live data and actions
from real users. Live-data prototypes help when you have a product and want to see if the
customer will be interested in the new feature.

Spiral:

What is the Spiral Model?

The Spiral Model is a Software Development Life Cycle (SDLC) model that provides a systematic
and iterative approach to software development. In its diagrammatic representation, looks like a spiral
with many loops. The exact number of loops of the spiral is unknown and can vary from project to
project. Each loop of the spiral is called a Phase of the software development process.

 The exact number of phases needed to develop the product can be varied by the project manager
depending upon the project risks.

 As the project manager dynamically determines the number of phases, the project manager has an
important role in developing a product using the spiral model.

 It is based on the idea of a spiral, with each iteration of the spiral representing a complete
software development cycle, from requirements gathering and analysis to design, implementation,
testing, and maintenance.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 14


Information Technology for Managers Module-3

What Are the Phases of Spiral Model?

1. Planning

2. Risk Analysis

3. Engineering

4. Evaluation

5. Planning (NEW)

RAD

RAD, which stands for Rapid Application Development, is a software development methodology that
prioritizes speed and flexibility. It is designed to address the limitations of traditional waterfall models by
emphasizing iterative development, user feedback, and quick turnaround times. RAD is particularly
suitable for projects where requirements are expected to change frequently and rapidly.

Key characteristics and principles of Rapid Application Development (RAD) include:

1. Iterative Development:

 RAD follows an iterative and incremental approach, dividing the project into small,
manageable modules or components. Each iteration involves the development of a subset
of features.

2. User Involvement:

 Users are actively involved throughout the development process. Their feedback is
sought at various stages, allowing for quick adjustments based on changing requirements
or user preferences.

3. Prototyping:

 Prototyping is a fundamental aspect of RAD. Quick prototypes or mock-ups of the


software are developed early in the process, allowing users to visualize the system and
provide feedback on its design and functionality.

4. Flexible and Adaptive:

 RAD is highly adaptive to changes in requirements. The development team can quickly
incorporate modifications and enhancements based on user feedback or evolving business
needs.

5. Collaborative Development:

 Collaboration among developers, users, and other stakeholders is emphasized. Frequent


communication and a shared understanding of project goals contribute to the success of
RAD.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 15


Information Technology for Managers Module-3

6. Time-Boxing:

 RAD projects are time-boxed, meaning that there are specific, predefined time frames for
each iteration. This time constraint encourages a sense of urgency and helps in
maintaining project momentum.

7. Rapid Prototyping Tools:

 RAD often leverages rapid prototyping tools and techniques to streamline the creation of
prototypes. These tools allow for quick visualization of the application's interface and
functionality.

8. Parallel Development:

 In RAD, different components or modules of the application can be developed in parallel


by separate teams. This parallelism accelerates the overall development process.

9. Reusability:

 RAD promotes the reuse of existing components or code modules. This can be achieved
through the use of libraries, frameworks, or pre-existing components to expedite
development.

10. Focus on Business Value:

 RAD emphasizes delivering tangible business value quickly. Features that have the
highest priority and contribute directly to business objectives are developed first.

11. Risk Management:

 Continuous risk assessment and mitigation are essential components of RAD. Early
prototypes and iterations help identify and address potential risks early in the
development process.

12. Client Satisfaction:

 Rapid delivery of prototypes and frequent user involvement contribute to high levels of
client satisfaction. Users have a more active role in shaping the final product, leading to a
system that better aligns with their needs.

Roles and responsibilities of System Analyst:

The role of a System Analyst is critical in the development and implementation of information systems.
System Analysts act as a bridge between business stakeholders and IT professionals, ensuring that
technology solutions meet the needs of the organization. Their responsibilities span various stages of the
system development life cycle. Here are key roles and responsibilities of a System Analyst:

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 16


Information Technology for Managers Module-3

1. Requirements Analysis:

 Gather and document business requirements through interviews, surveys, and


collaboration with stakeholders.

 Analyze and prioritize requirements, ensuring they align with organizational goals.

2. System Design:

 Develop system design specifications based on the gathered requirements.

 Define the architecture, components, and data flow of the proposed system.

3. Feasibility Analysis:

 Assess the technical, operational, and economic feasibility of proposed system solutions.

 Identify potential risks and benefits associated with different options.

4. Collaboration and Communication:

 Act as a liaison between business stakeholders and IT professionals, ensuring effective


communication.

 Facilitate collaboration to ensure a shared understanding of system requirements.

5. Prototyping:

 Develop prototypes or mockups to provide stakeholders with a tangible representation of


the proposed system.

 Use prototypes to gather feedback and refine requirements.

6. Data Modeling:

 Analyze and model data requirements, including the structure and relationships of data
entities.

 Design and document data flow diagrams and entity-relationship diagrams.

7. System Testing:

 Contribute to the planning and execution of system testing.

 Collaborate with testing teams to identify and address defects.

8. Change Management:

 Assess the impact of proposed changes to existing systems and processes.

 Coordinate the implementation of changes, ensuring minimal disruption.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 17


Information Technology for Managers Module-3

9. User Training:

 Develop and deliver training programs for end-users.

 Provide support during the transition to new systems.

10. Documentation:

 Maintain comprehensive documentation throughout the system development life cycle.

 Create user manuals, system documentation, and other relevant materials.

11. Quality Assurance:

 Ensure that the developed system meets quality standards and aligns with organizational
policies.

 Implement best practices for system development and analysis.

12. Project Management:

 Participate in project planning and scheduling activities.

 Monitor progress, manage timelines, and report on project status.

13. Continuous Improvement:

 Identify opportunities for process improvement and optimization.

 Stay informed about industry trends and technological advancements.

14. Security and Compliance:

 Assess and address security considerations in system design and implementation.

 Ensure that systems comply with relevant regulations and security standards.

15. Vendor Interaction:

 Collaborate with external vendors when necessary, such as selecting and integrating
third-party solutions.

 Evaluate vendor proposals and solutions.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 18


Information Technology for Managers Module-3

Database Administrator and Database Designer:

Database Administrator (DBA) and Database Designer are distinct roles in the management and
development of databases. Each role plays a crucial part in ensuring the efficiency, reliability, and
security of a database system. Here are the key responsibilities of each role:

Database Administrator (DBA):

1. Database Management:

 Install, configure, and maintain database management systems (DBMS) such as Oracle,
MySQL, SQL Server, or others.

 Manage the overall health and performance of the database.

2. Security Management:

 Implement and enforce security measures to protect the database from unauthorized
access, data breaches, and other security threats.

 Define and manage user access and permissions.

3. Backup and Recovery:

 Develop and implement backup and recovery strategies to ensure data integrity and
availability in case of system failures or disasters.

 Regularly perform database backups and test recovery procedures.

4. Performance Tuning:

 Optimize database performance by monitoring and analyzing system resource usage,


query performance, and indexing strategies.

 Implement tuning measures to enhance database efficiency.

5. Database Upgrades and Patching:

 Plan and execute database upgrades, migrations, and patching to keep the system up-to-
date with the latest features, enhancements, and security fixes.

6. Troubleshooting:

 Diagnose and resolve database-related issues, including performance problems,


connectivity issues, and data inconsistencies.

 Provide support to end-users and developers in resolving database-related problems.

7. Capacity Planning:

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 19


Information Technology for Managers Module-3

 Monitor and forecast database growth to ensure that the system has sufficient resources
(storage, processing power) to handle increasing data volumes and user demands.

8. Disaster Recovery Planning:

 Develop and maintain disaster recovery plans to minimize downtime and data loss in the
event of a catastrophic failure or disaster.

Database Designer:

1. Data Modeling:

 Design and create conceptual, logical, and physical data models that represent the
structure of the database, including tables, relationships, and constraints.

2. Normalization:

 Apply normalization techniques to eliminate data redundancy and ensure efficient data
storage.

 Create normalized database schemas to support data integrity.

3. Indexing Strategies:

 Design and implement indexing strategies to optimize query performance.

 Evaluate query patterns and user requirements to determine appropriate indexing.

4. Entity-Relationship Diagrams (ERD):

 Develop Entity-Relationship Diagrams to illustrate the relationships between different


entities (tables) in the database.

 Use ERDs to communicate the database structure to stakeholders.

5. Database Schema Design:

 Define and create database schemas that align with business requirements and support
efficient data retrieval and manipulation.

 Work closely with application developers to ensure the database schema meets
application needs.

6. Collaboration with Developers:

 Collaborate with software developers to understand application requirements and


integrate database design with application development.

 Provide guidance on database-related aspects of application design.

7. Data Integrity and Constraints:

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 20


Information Technology for Managers Module-3

 Enforce data integrity through the implementation of constraints, such as primary keys,
foreign keys, unique constraints, and check constraints.

 Ensure that data stored in the database meets specified business rules.

8. Normalization and Denormalization:

 Determine the appropriate level of normalization for a database based on performance


requirements and query patterns.

 Consider denormalization when necessary to optimize specific queries.

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 21


Information Technology for Managers Module-3

Karthikeyan S M, Asst. Professor, Dept. of. CSE, SVIT, Bengaluru Page 22

You might also like