Introduction to System Analysis and Design Flashcards

1
Q

Mention the System Development Life Cycle

A

Planning
Analysis
Design
Implementation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does the Planning phase consist of

A

Project Initiation
Project Management

WHY SHOULD WE BUILD THIS SYSTEM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does the analysisa phase consist of

A

Develop analysis strategy
Gather requirements
Develop a system proposal

WHAT SHOULD THE SYSTEM DO FOR US?
WHERE AND WHEN WILL IT BE USED

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does the Design phase consist of

A

Develop a design strategy
Design architecture and interfaces
Develop databases and file specifications
Develop the program design

HOW WILL WE BUILD THE SYSTEM?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does the implementation phase consist of?

A

Construct system
Install system
–Implement a training plan for the users
Establish a support plan

BUILD THE SYSTEM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Mention the processes and Deliverables

A

Planning -> Project Plan
Analysis -> System Proposal
Design -> System Specification
Implementation -> New system and support plan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a methodology

A

A methodology is a formalized approach to implementing the SDLC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Mention well known methodolgies

A

Waterfall development
Parallel development
Rapid application development
Agile development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Mention some categories of methodologies

A
  1. Structured Design
    – Waterfall Development
    – Parallel Development
  2. Rapid Application Development
    – Phased
    – Prototyping
    – Throwaway Prototyping
  3. Agile Development
    – eXtreme Programming
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Practice the diagram for Waterfall

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Mention 2 key pros and cons of waterfall

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe parallel development

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Pros and cons of parallel

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe Rapid Application Development

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Revise the diagram for RAD

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Pros and cons of RAD 1: Phased Development

A

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.

17
Q

Describe RAD2: System Prototypingq

A

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.

18
Q

Pros and cons of system prototyping

A

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

19
Q

Describe Throwaway prototyping

A

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.

20
Q

Describe agile Development

A

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.

21
Q

Cons of agile develoment

A
  1. Requires strong collaboration and communication.
  2. May lack comprehensive documentation.
  3. Embraces changing requirements, leading to uncertainty.
  4. Depends on experienced team members.
  5. Can be challenging to scale for large projects.
  6. Susceptible to scope creep without strict control.
  7. Requires active client involvement throughout the process.
22
Q

Extreme programming is founded on how many core values

A

Extreme programming (XP) is founded on four core values:

communication,
simplicity,
feedback,
courage.

23
Q

Strengths of XP

A

Communication is improved with stakeholders because programmers work closely with them

  1. Emphasizes customer satisfaction.
  2. Highly adaptable to changing requirements.
  3. Promotes high software quality.
  4. Encourages team collaboration.
  5. Facilitates early and continuous delivery.
  6. Reduces project risk.
  7. Supports adaptive planning.
24
Q

Cons of XP

A

Certainly! Here’s a concise list of weaknesses of Extreme Programming (XP):

  1. Reliance on Pair Programming
  2. Lack of Comprehensive Documentation
  3. Dependency on Skilled Team
  4. Requirement for Active Customer Involvement
  5. Difficulty Scaling for Large Teams
  6. Risk of Scope Creep
  7. Potential Overemphasis on Coding
25
Q

Describe Scrum

A

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

26
Q

Cons of scrum

A

Scaling to large systems
Scaling to large members

27
Q

Pros of scrums

A

Certainly! Here’s a short sentence list of the pros of Scrum:

  1. Flexibility in adapting to changes.
  2. Transparency through regular meetings.
  3. Collaboration among team members.
  4. Continuous improvement with retrospectives.
  5. Faster time-to-market with incremental delivery.
  6. Reduced risk through early value delivery.
  7. Empowered, self-organizing teams.
28
Q

Chateristics of OOAD

A

Use case driven
Architecture Centric
Iterative and Incremental

29
Q
A