Systems Analysis and Design Chapter 1 Baham
What are some of the advantages of the waterfall approach?
-stages are distinct, fairly well defined, and completed in succession -Support documentation and requirements help developers to work autonomously -Allow for better understanding of the projected end date of the project
Systems Development Methodology
A standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems.
Heart of the Systems Development Process
Analysis, Design, and Implemenation
Application Software
Computer software designed to support organizational functions or processes.
Evolutionary View of SDLC
Continuous Cycle, goes around and around the phases.
Agile Methodologies
Motivated by recognition of software development as fluid, unpredictable, and dynamic. Three Key Principles: 1. Adaptive rather than predictive. 2. Emphasize people rather than roles 3. Self-Adaptive Processes
Critical Factors for Traditional Methods
Size - Matches well for large products and teams. Criticality - Methods are made to handle highly critical products. Dynamism - Best for structured environments. Expensive to rework. Personnel - requires presence of experts at beginning and fewer at end. Culture - Best for places with defined roles.
Critical Factors for Agile Methodologies
Size - Matches well for small products and teams. Criticality - Untested on safety-critical products. Potential difficulties with simple design and lack of documentation. Dynamism - Great for constant change Personnel - requires constant presence of experts. Culture - Best for places with lots of freedom
Computer-Aided Software Engineering (CASE) Tools
Software tools that provide automated support for some portion of the systems development process.
Rapid Application Development (RAD)
Systems development methodology created to radically decrease the time needed to design and implement information systems. RAD relies on extensive user involvement, prototyping, integrated CASE tools, and code generators.
Information Systems Analysis and Design
The complex organizational process whereby computer-based information systems are developed and maintained.
Technique
particular processes that you, as an analyst, will follow to help ensure that your work is well thought out, complete, and comprehensive to others on your project team.
Agile Manifesto
-*Individuals and interactions* over processes and tools -*Working software* over comprehensive documentation -*Customer collaboration* over contract negotiation -*Responsible to change* over following a plan
Advantages of Agile
-Clients involved through entire process of development -Open to revisions and additions through lifetime of project --High amount of flexibility -Deliver minimum viable product so client has usable software quickly
What are the problems with the Waterfall Approach?
-Spend a large amount of time creating documents that may become out-of-date very quickly -Feedback is ignored, milestones lock in design specs even when conditions changed. -Limited user involvement. Too much focus on deadlines.
Rational Unified Process (RUP)
An object-oriented systems development methodology. RUP establishes four phases of development: inception, elaboration, construction, and transition. Each phase is organized into a number of separate iterations.
Traditional Waterfall SDLC
One phase begins when another completes, with little backtracking and looping. Planning ->analysis -> logical design -> physical design -> implementation -> maintenance
Phases in SDLC
Planning Analysis Design Implementation Maintenance
Maintenance
The final phase of the SDLC in which an information system is systematically repaired and improved.
Planning
The first phase of the SDLC in which an organization's total information system needs are identified, analyzed, prioritized, and arranged.
Logical Design
The part of the design phrase of the SDLC in which all functional features of the system chosen for development in analysis are described independently of any computer platform.
Inheritance
The property that occurs when entity types or object classes are arranged in a hierarchy and each entity type or object class assumes the attributes and methods of its ancestors,that is, those higher up in the hierarchy. Inheritance allows new but related classes to be derived from existing classes.
Analysis
The second phase of the SDLC in which system requirements are studied and structured.
system development methodology
a standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems.
Different Approaches to Improving Development
-CASE Tools -Rapid Application Development (RAD) -Agile Methodologies *eXtreme Programming
method
comprehensive, multi-step approaches to system development that will guide your work and influence the quality of your final product
An organizational approach to systems analysis and design is driven by ______________, _____________, and ____________.
methodologies, techniques, and tools
Tools
typical computer programs that make it easy to use and benefit form techniques and to faithfully follow guidelines of the overall development methodology
Implementation
The fourth phase of the SDLC in which the information system is coded, tested, installed, and supported in the organization.
Systems Analyst
The organizational role most responsible for the analysis and design of information.
Physical Design
The part of the design phase of the SDLC in which the logical specifications of the system from logical design are transformed into technology-specific details from which all programming and system construction can be accomplished.
Design
The third phrase of the SDLC in which the description of the recommended solution is converted into logical and then physical system specifications.
Systems Development Life Cycle (SDLC)
The traditional methodology used to develop, maintain, and replace information systems.
When to use Agile Methodologies?
When your project involves: 1. Unpredictable or dynamic requirements 2. Responsive and motivated developers 3. Customers who understand the process and will get involved