Chapter 5 Flashcards
What are the different approaches to systems analysis?
Model-driven analysis approaches
Structured/traditional analysis (uses Process modeling – DFD’s)
Object-oriented analysis (uses Object modeling – Use case)
Accelerated analysis approaches
Discovery prototyping – discover the system by showing prototype and obtaining feedback
Rapid architected analysis (requires reverse engineering)
Requirements discovery methods Fact-finding techniques Joint requirements planning (JRP) Business process redesign methods (BPR) Agile methods
Differentiate between logical and physical system models
Logical modeling deals with gathering business requirements and converting those requirements into a model. The logical model revolves around the needs of the business, not the database, although the needs of the business are used to establish the needs of the database. Logical modeling involves gathering information about business processes, business entities (categories of data), and organizational units.
Ex) ERD, Business Process Diagrams
Physical modeling involves the actual design of a database according to the requirements that were established during logical modeling. Logical modeling mainly involves gathering the requirements of the business, with the latter part of logical modeling directed toward the goals and requirements of the database. Physical modeling deals with the conversion of the logical, or business model, into a relational database model.
Physical modeling is database software specific
What is discovery prototyping?
Discovery prototyping uses rapid development technology to help users discover their business requirements
It is a technique used to identify the users’ business requirements by having them react to a quick and dirty implementation of those requirements
What is RAD?
Rapid Application Development: a system development strategy that emphasizes speed of development through extensive user involvement in the rapid, iterative, and incremental construction of a series of functioning prototypes of a system that eventually evolves into the final system (or a version)
The basic ideas of RAD are:
To more actively involve system users in the analysis, design, and construction activities
To organize systems development into a series of focused, intense workshops jointly involving system owners, users, analysts, designers, and builders
To accelerate the requirements analysis and design phases through an iterative construction approach
To reduce the amount of time that passes before the users begin to see a working system
Describe each phase within systems analysis in terms of its objectives, tasks, stakeholders
- Scope definition phase
- Problem analysis (study) phase
- Requirements analysis (definition) phase:
- Logical design phase
- Decision making (configuration) phase
- Scope definition phase
System’s owners view Intended to be quick Tasks: 1. Identify baseline problems and opportunities 2. Negotiate baseline scope 3. Assess project worthiness 4. Develop baseline schedule and budget 5. Communicate the project plan
- Problem analysis (study) phase
System owner and system user’s view
Reasons to accelerate the problem analysis phase
Tasks:
1. Understand the problem domain (beware of analysis paralysis)
2. Analyze problems and opportunities – PIECES framework
3. Analyze business processes
4. Establish system improvement objectives
5. Update or refine the project plan
6. Communicate findings and recommendations (recommended)
- Requirements analysis (definition) phase:
Emphasis on what the business processes are, not how they are implemented
System user’s view
Tasks:
1. Identify and express system requirements (functional and non-functional)
2. Prioritize system requirements – Time boxing
3. Update or refine the project plan
4. Communicate the requirements statement
- Logical design phase
It is not used in structured system development. It is used in agile system development
Tasks:
1. Structure and Prototype functional requirements
2. Validate functional requirements
3. Define acceptance test cases
Decision making (configuration) phase
Produce system proposal
Tasks:
1. Identify candidate solutions (candidate systems matrix)
2. Analyze candidate solutions (feasibility matrix)
3. Compare candidate solutions
4. Update project plan
5. Recommend a system solution
What tasks are involved in the logical design phase?
- Structure and Prototype functional requirements
- Validate functional requirements
- Define acceptance test cases
Which system development methodology includes the logical design phase?
Agile systems development not structured systems development
What is analysis paralysis? How can it be prevented?
Definition: The state of over-analyzing (or over-thinking) a situation so that a decision or action is never taken, in effect paralyzing the outcome
How it can be prevented?:
Using an incremental or agile approach in which details of the problem and solution are learned during the course of developing the software. This negates the need to analyze “everything” in advance
Stakeholders should be involved in the analysis phase. This will ensure that the analyst focuses on the creation of models that are comprehensive and easy for stakeholders to understand. These models should be validated with stakeholders as often as necessary
Defining the scope of the project which will help ensure you remain on track
Define goals and deliverables before starting the analysis phase and the time it will take to get the task done
Define the success criteria for completing the analysis phase to ensure that the right results are achieved within the deadline.
Break big decisions down into smaller more manageable steps
Are user’s requirements frozen for the duration of system development as they are stated in the requirements statements? Explain
No it is on-going and changing
Requirements analysis (definition) phase:
Emphasis on what the business processes are, not how they are implemented
System user’s view
Tasks:
1. Identify and express system requirements (functional and non-functional)
2. Prioritize system requirements – Time boxing
3. Update or refine the project plan
4. Communicate the requirements statement
On-going requirements management