Introduction to System Analysis and Design Flashcards
Mention the System Development Life Cycle
Planning
Analysis
Design
Implementation
What does the Planning phase consist of
Project Initiation
Project Management
WHY SHOULD WE BUILD THIS SYSTEM
What does the analysisa phase consist of
Develop analysis strategy
Gather requirements
Develop a system proposal
WHAT SHOULD THE SYSTEM DO FOR US?
WHERE AND WHEN WILL IT BE USED
What does the Design phase consist of
Develop a design strategy
Design architecture and interfaces
Develop databases and file specifications
Develop the program design
HOW WILL WE BUILD THE SYSTEM?
What does the implementation phase consist of?
Construct system
Install system
–Implement a training plan for the users
Establish a support plan
BUILD THE SYSTEM
Mention the processes and Deliverables
Planning -> Project Plan
Analysis -> System Proposal
Design -> System Specification
Implementation -> New system and support plan
What is a methodology
A methodology is a formalized approach to implementing the SDLC
Mention well known methodolgies
Waterfall development
Parallel development
Rapid application development
Agile development
Mention some categories of methodologies
- Structured Design
– Waterfall Development
– Parallel Development - Rapid Application Development
– Phased
– Prototyping
– Throwaway Prototyping - Agile Development
– eXtreme Programming
Practice the diagram for Waterfall
Mention 2 key pros and cons of waterfall
Pros:
1. it identifies system requirements long before programming begins
2. it minimizes changes to the requirements as the project proceeds.
Cons:
1. the design must be completely specified before programming begins
2. a long time elapses between the completion of the system proposal in the analysis phase and the delivery of the system (usually many months or years).
Describe parallel development
Parallel development methodology attempts to address the problem of long delays between the analysis phase and the delivery of the system
Instead of doing design and implementation in sequence, it performs a general design for the whole system and then divides the project into a series of distinct subprojects that can be designed and implemented in parallel.
Once all subprojects are complete, the separate pieces are integrated, and the system is delivered
Pros and cons of parallel
it can reduce the time to deliver a system
there is less chance of changes in the business environment causing rework.
Cons:
subprojects are not completely independent
design decisions made in one subproject can affect another
Describe Rapid Application Development
RAD-based methodologies attempt to address weaknesses of structured design methodologies by adjusting the SDLC phases to get some part of the system developed quickly and into the hands of the users.
In this way, the users can better understand the system and suggest revisions that bring the system closer to what is needed
Revise the diagram for RAD
Pros and cons of RAD 1: Phased Development
have the advantage of quickly getting a useful system into the hands of the users.
Provide business value sooner
Cons:
The major drawback to phased development is that users begin to work with systems that are intentionally incomplete.
Describe RAD2: System Prototypingq
A prototyping-based methodology performs the analysis, design, and implementation phases concurrently, and all three phases are performed repeatedly in a cycle until the system is completed.
The first prototype is usually the first part of the system that is used. This is shown to the users and the project sponsor, who provide comments.
These comments are used to reanalyze, redesign, and reimplement a second prototype, which provides a few more features.
Pros and cons of system prototyping
Pros:
prototyping-based methodology is that it very quickly provides a system with which the users can interact
2. reassures the users that the project team is working on the system
3. and prototyping helps to more quickly refine real requirements
Cons:
1. A key drawback of prototyping is that its quick development cycles can make it difficult to prioritize careful and methodical analysis.
2. Incomplete or Inaccurate Prototypes: Prototypes may not fully represent the final system or may contain inaccuracies due to the iterative and exploratory nature of prototyping
Describe Throwaway prototyping
Throwaway prototyping, also known as rapid prototyping, involves quickly creating a prototype to demonstrate specific aspects of a system or validate requirements. Unlike evolutionary prototyping, throwaway prototypes are not meant for long-term use and are discarded after fulfilling their purpose, such as gathering feedback or clarifying requirements.
Describe agile Development
Agile development is an iterative approach to software development focused on flexibility, collaboration, and customer feedback.
It involves breaking down the process into small iterations (sprints), delivering working software frequently, and adapting plans based on feedback.
Key principles include adaptive planning, continuous improvement, and delivering customer value.
Cons of agile develoment
- Requires strong collaboration and communication.
- May lack comprehensive documentation.
- Embraces changing requirements, leading to uncertainty.
- Depends on experienced team members.
- Can be challenging to scale for large projects.
- Susceptible to scope creep without strict control.
- Requires active client involvement throughout the process.
Extreme programming is founded on how many core values
Extreme programming (XP) is founded on four core values:
communication,
simplicity,
feedback,
courage.
Strengths of XP
Communication is improved with stakeholders because programmers work closely with them
- Emphasizes customer satisfaction.
- Highly adaptable to changing requirements.
- Promotes high software quality.
- Encourages team collaboration.
- Facilitates early and continuous delivery.
- Reduces project risk.
- Supports adaptive planning.
Cons of XP
Certainly! Here’s a concise list of weaknesses of Extreme Programming (XP):
- Reliance on Pair Programming
- Lack of Comprehensive Documentation
- Dependency on Skilled Team
- Requirement for Active Customer Involvement
- Difficulty Scaling for Large Teams
- Risk of Scope Creep
- Potential Overemphasis on Coding
Describe Scrum
In the case of the Scrum methodology, a sprint lasts thirty working days.
At the end of the sprint, a system is delivered to the customer.
Of all systems development approaches, on the surface, Scrum is the most chaotic.
Teams are self-organized and self-directed.
They dont have a designated team leader
Once a sprint has begun scrum teams do not consider any additional requirement
Cons of scrum
Scaling to large systems
Scaling to large members
Pros of scrums
Certainly! Here’s a short sentence list of the pros of Scrum:
- Flexibility in adapting to changes.
- Transparency through regular meetings.
- Collaboration among team members.
- Continuous improvement with retrospectives.
- Faster time-to-market with incremental delivery.
- Reduced risk through early value delivery.
- Empowered, self-organizing teams.
Chateristics of OOAD
Use case driven
Architecture Centric
Iterative and Incremental