Podcast
Questions and Answers
Which of the following best describes the primary role of a systems analyst in the SDLC?
Which of the following best describes the primary role of a systems analyst in the SDLC?
- Testing the system to ensure it meets requirements.
- Analyzing the business situation and designing an information system. (correct)
- Writing code for the new system.
- Managing the project timeline and budget.
The primary goal of a systems analyst is to create the most technologically advanced system possible, regardless of cost.
The primary goal of a systems analyst is to create the most technologically advanced system possible, regardless of cost.
False (B)
Name the four fundamental phases of the Systems Development Life Cycle (SDLC).
Name the four fundamental phases of the Systems Development Life Cycle (SDLC).
Planning, analysis, design, and implementation.
During the planning phase of the SDLC, the system's business value is documented in the form of a ______.
During the planning phase of the SDLC, the system's business value is documented in the form of a ______.
Match the following SDLC phases with their primary focus:
Match the following SDLC phases with their primary focus:
A feasibility analysis is conducted during the implementation phase of the SDLC.
A feasibility analysis is conducted during the implementation phase of the SDLC.
What is the deliverable of the project management step within the planning phase?
What is the deliverable of the project management step within the planning phase?
Describe the purpose of an 'as-is' system analysis within requirements gathering.
Describe the purpose of an 'as-is' system analysis within requirements gathering.
In the analysis phase, input from the project sponsor and others leads to the development of a concept for a new system. The system concept is then used as a basis to develop a set of business analysis ______.
In the analysis phase, input from the project sponsor and others leads to the development of a concept for a new system. The system concept is then used as a basis to develop a set of business analysis ______.
What document combines analyses, the system concept, and models to present to key decision-makers in the analysis phase?
What document combines analyses, the system concept, and models to present to key decision-makers in the analysis phase?
In the design phase, the design strategy exclusively involves developing the system in-house using the company's programmers.
In the design phase, the design strategy exclusively involves developing the system in-house using the company's programmers.
Name two key aspects determined during the architecture design step of the design phase.
Name two key aspects determined during the architecture design step of the design phase.
During the design phase, the 'Database and file specifications' step focuses on what data will be stored and ______.
During the design phase, the 'Database and file specifications' step focuses on what data will be stored and ______.
What activity is considered one of the most critical steps in the implementation phase?
What activity is considered one of the most critical steps in the implementation phase?
In the implementation phase, the 'installed' step always involves running the old system alongside the new system for a period.
In the implementation phase, the 'installed' step always involves running the old system alongside the new system for a period.
What is the main goal of the training plan component of system installation?
What is the main goal of the training plan component of system installation?
The 'support plan' step in the implementation phase includes a formal or informal ______ review.
The 'support plan' step in the implementation phase includes a formal or informal ______ review.
What is a 'methodology' in the context of systems development?
What is a 'methodology' in the context of systems development?
All systems development methodologies place equal emphasis on each phase of the SDLC.
All systems development methodologies place equal emphasis on each phase of the SDLC.
Distinguish between a 'process-centered' and a 'data-centered' methodology.
Distinguish between a 'process-centered' and a 'data-centered' methodology.
A methodology that attempts to balance the focus between process and data by incorporating both into one model is called ______.
A methodology that attempts to balance the focus between process and data by incorporating both into one model is called ______.
Which of the following is NOT a class of system development methodology?
Which of the following is NOT a class of system development methodology?
The waterfall development methodology easily accommodates changes to requirements once the project begins.
The waterfall development methodology easily accommodates changes to requirements once the project begins.
What are the two key advantages of the waterfall approach to structured design?
What are the two key advantages of the waterfall approach to structured design?
A major disadvantage of the waterfall model is that the design must be completely specified before ______ begins.
A major disadvantage of the waterfall model is that the design must be completely specified before ______ begins.
What is the primary advantage of parallel development methodology?
What is the primary advantage of parallel development methodology?
In parallel development, subprojects are always completely independent, eliminating the need for integration efforts.
In parallel development, subprojects are always completely independent, eliminating the need for integration efforts.
How do Rapid Application Development (RAD) methodologies attempt to address weaknesses of structured design methodologies?
How do Rapid Application Development (RAD) methodologies attempt to address weaknesses of structured design methodologies?
The use of special techniques and computer tools in RAD can lead to a subtle problem: managing user ______.
The use of special techniques and computer tools in RAD can lead to a subtle problem: managing user ______.
In which RAD methodology is an overall system broken into a series of versions that are developed sequentially?
In which RAD methodology is an overall system broken into a series of versions that are developed sequentially?
A key drawback to phased development is that users never work with intentionally incomplete systems.
A key drawback to phased development is that users never work with intentionally incomplete systems.
Describe the core activity of prototyping methodology.
Describe the core activity of prototyping methodology.
A key advantage of prototyping is that it quickly provides a system with which users can ______.
A key advantage of prototyping is that it quickly provides a system with which users can ______.
Which RAD approach uses prototypes at a different point in the SDLC to refine key issues before the system is built?
Which RAD approach uses prototypes at a different point in the SDLC to refine key issues before the system is built?
Throwaway prototyping produces more stable and reliable systems than prototyping-based methodologies.
Throwaway prototyping produces more stable and reliable systems than prototyping-based methodologies.
What document is at the heart of Agile development.
What document is at the heart of Agile development.
Agile methodologies emphasize that the primary measure of progress is working, ______.
Agile methodologies emphasize that the primary measure of progress is working, ______.
Which value is not one of the core values for Extreme Programming?
Which value is not one of the core values for Extreme Programming?
XP encourages small groups of deveopers.
XP encourages small groups of deveopers.
Flashcards
Systems Development Life Cycle (SDLC)
Systems Development Life Cycle (SDLC)
Process for understanding how an IS supports business needs by designing, building, and delivering it.
Systems Analyst
Systems Analyst
Key person in the SDLC who analyzes business situations, identifies improvements, and designs IS.
Primary objective of a Systems Analyst
Primary objective of a Systems Analyst
To create value for the organization.
Four fundamental phases of SDLC
Four fundamental phases of SDLC
Planning, analysis, design, and implementation.
Signup and view all the flashcards
During Project Initiation
During Project Initiation
Business value of the system is identified via a system request. A feasibility analysis will be conducted. The system will be presented to an information systems approval committee.
Signup and view all the flashcards
Project Management Deliverable
Project Management Deliverable
Project plan describing how the project team will develop the system.
Signup and view all the flashcards
Analysis Phase of SDLC
Analysis Phase of SDLC
Focuses on who will use the system, what it will do, and where/when it will be used. Steps include analysis strategy, requirements gathering, and system proposal.
Signup and view all the flashcards
Analysis Strategy
Analysis Strategy
Analysis of the current (as-is) system and designing a new (to-be) system.
Signup and view all the flashcards
System Proposal
System Proposal
Analyses, system concept, and models combined into a document for the project sponsor.
Signup and view all the flashcards
Design Phase of SDLC
Design Phase of SDLC
Determine exactly how the system will operate. Steps include design strategy, architecture design, database and file specifications, and program design.
Signup and view all the flashcards
Design Strategy
Design Strategy
Developed by company programmers, outsourced, or buying an existing software package.
Signup and view all the flashcards
Architecture Design
Architecture Design
Hardware, software, and network infrastructure plus interface design.
Signup and view all the flashcards
Database and File Specifications
Database and File Specifications
What data will be stored and where it will be stored.
Signup and view all the flashcards
Program Design
Program Design
Programs that need to be written and what each will do.
Signup and view all the flashcards
Implementation Phase of SDLC
Implementation Phase of SDLC
Final phase where the system is built/purchased. Steps include construction, installation, and support plan.
Signup and view all the flashcards
Construction
Construction
Actual building and testing of the system components.
Signup and view all the flashcards
Installation
Installation
Turning off the old system and activating the new one, along with user training.
Signup and view all the flashcards
Support Plan
Support Plan
Formal/informal post-implementation review and identifying necessary changes.
Signup and view all the flashcards
Methodology
Methodology
Formalized approach to implementing the SDLC with steps and deliverables.
Signup and view all the flashcards
Categorizing Methodologies
Categorizing Methodologies
Process-centered, data-centered, and object-oriented.
Signup and view all the flashcards
Classes of System Development Methodologies
Classes of System Development Methodologies
Structured design, rapid application development, and agile development.
Signup and view all the flashcards
Advantage of Waterfall Development
Advantage of Waterfall Development
Identifies requirements early and minimizes changes.
Signup and view all the flashcards
Disadvantage of Waterfall Development
Disadvantage of Waterfall Development
Design must be completely specified before programming, and long time elapses before the system is delivered.
Signup and view all the flashcards
Advantage of Parallel Development
Advantage of Parallel Development
Can reduce the time to deliver a system.
Signup and view all the flashcards
Disadvantage of Parallel Development
Disadvantage of Parallel Development
Subprojects might not be independent, causing integration issues.
Signup and view all the flashcards
Rapid Application Development (RAD)
Rapid Application Development (RAD)
Adjusting SDLC phases to get a system developed quickly and into users' hands.
Signup and view all the flashcards
Potential Problem with RAD
Potential Problem with RAD
Managing user expectations.
Signup and view all the flashcards
Phased Development
Phased Development
Breaking a system into versions developed sequentially.
Signup and view all the flashcards
Advantage of Phased Development
Advantage of Phased Development
Quickly getting a useful system to users.
Signup and view all the flashcards
Drawback to Phased Development
Drawback to Phased Development
Users begin with an intentionally incomplete system.
Signup and view all the flashcards
Prototyping
Prototyping
Analysis, design, and implementation occur concurrently and repeatedly.
Signup and view all the flashcards
Advantage of Prototyping
Advantage of Prototyping
Quickly providing a system for user interaction.
Signup and view all the flashcards
Problem with Prototyping
Problem with Prototyping
Challenge to conduct careful analysis.
Signup and view all the flashcards
Throwaway Prototyping
Throwaway Prototyping
Balance analysis/design with advantages of prototypes before building the system.
Signup and view all the flashcards
Agile Development
Agile Development
Based on the agile manifesto with principles like early software delivery and embracing changing requirements.
Signup and view all the flashcards
Examples of Agile Methodologies
Examples of Agile Methodologies
Extreme programming (XP) and Scrum.
Signup and view all the flashcards
Core Values of Extreme Programming
Core Values of Extreme Programming
Communication, simplicity, feedback, and courage.
Signup and view all the flashcards
Key Principles for Implementing XP
Key Principles for Implementing XP
Continuous testing, simple coding by pairs, and close user interactions.
Signup and view all the flashcards
DevOps
DevOps
Systems development incorporating object-oriented and lean manufacturing principles.
Signup and view all the flashcards
Unified Process
Unified Process
Maps out use of Unified Modelling Language (UML) techniques for object-oriented analysis and design.
Signup and view all the flashcardsStudy Notes
Objectives
- Become familiar with the roles and skills of a systems analyst.
- Understand the fundamental systems development life cycle and its four phases.
- Understand the evolution of systems development methodologies.
- Become familiar with the fundamental principles of object-oriented systems analysis and design.
- Become familiar with the Unified Process, its extensions, and the Unified Modelling Language.
Introduction
- The systems development life cycle SDLC is the process of understanding how an information system can support business needs.
- This is achieved by designing a system, building it, and delivering it to users.
- The key person in the SDLC is the systems analyst.
- The systems analyst analyses the business situation, identifies opportunities for improvements and designs an information system to implement improvements.
- The primary objective of a systems analyst is to create value for an organization.
- For most companies, this means increasing profits.
- Government and not-for-profit organizations measure value differently.
The Systems Development Life Cycle
- Building an information system is similar to building a house.
- There are four fundamental phases: planning, analysis, design, and implementation.
- The SDLC is a process of gradual refinement.
Planning
- Planning understands why an information system should be built and how the project team will build it.
- Planning has two steps.
Planning - Project Initiation
- The system's business value to the organization is identified, in the form of a system request.
- A feasibility analysis will be conducted.
- The analyzed project is resented to an information systems approval committee, sometimes called a steering committee.
- The committee will decide whether the project should be undertaken.
Planning - Project Management
- The deliverable for project management is a project plan.
- The plan describes how the project team will develop the system.
Analysis
- The analysis phase focuses on who will use the system, what the system will do, and where and when it will be used.
- The analysis phase has three steps.
Analysis - Analysis Strategy
- An analysis strategy usually includes an analysis of the current system, called the 'as-is' system.
- The analysis will include the current system's problems and ways to design a new system, called the 'to-be' system.
Analysis - Requirements Gathering
- Gather requirements through interviews or questionnaires.
- Input from the project sponsor and other people leads to the development of a concept for a new system.
- The system concept is then used as a basis to develop a set of business analysis models.
Analysis - System Proposal
- Analyses, system concept, and models are combined into the system proposal.
- The proposal is presented to the project sponsor and other key decision makers.
- The key decision makers decide whether the project proceeds.
Design
- Design determines exactly how the system will operate.
- There are four steps in the design phase.
Design - Design Strategy
- Develops the system strategy by asking if the system will be developed by the company's own programmers, outsourced, or whether there will be an existing software package purchased.
Design - Architecture Design
- The architecture design determines the hardware, software, and network infrastructure.
- The architecture design also defines the interface design.
Design - Database and File Specifications
- Database and file specifications denote what data will be stored and where be stored.
Design - Program Design
- Program design specifies the programs that need to be written and exactly what each program will do.
- A feasibility analysis and project plan are re-examined and revised during design.
- Another decision is made by the project sponsor and approval committee about project termination or continuation.
Implementation
- In the final implementation phase, the system is built or purchased.
- There are three steps in the implementation phase.
Implementation - Construction
- During construction, the system is built and tested.
- Testing is one of the most critical steps in implementation.
Implementation - Installation
- During installation, the old system is turned off and the new system is turned on.
- A training plan will teach users how to use the new system and manage the changes caused by the new system.
Implementation - Support Plan
- There will be a formal or informal post-implementation review and identifying major and minor changes needed for the system.
Systems Development Methodologies
- A methodology is a formalized approach to implementing the SDLC, is a list of steps and deliverables.
- There are many different systems development methodologies.
- Each methodology is unique, based on the order and focus it places on each SDLC phase.
- A process-centered methodology emphasizes process models as the core of the system concept.
- Data-centered methodologies emphasize data models as the core of the system concept.
- Object-oriented methodologies attempt to balance the focus between process and data by incorporating both into one model.
- Another important factor in categorizing methodologies is the sequencing of the SDLC phases and the amount of time and effort devoted to each.
- Three different classes of system development methodologies will be discussed: structured design, rapid application development and agile development.
Structured Design
- Structured design falls under waterfall development.
Structured Design - Waterfall Development
- The key advantage of the structured design waterfall approach is it identifies system requirements long before programming and minimizes changes to the requirements as the project proceeds.
- The key disadvantages are that the design must be completely specified before programming begins and that a long time elapses between system proposal completion in the analysis phase and system delivery.
- This can take many months or years.
Structured Design - Parallel Development
- The primary advantage of this parallel development methodology is it can reduce system delivery time.
- There is less chance of changes in the business environment causing rework.
- Sometimes the subprojects are not completely independent which can be a disadvantage.
- In parallel development, design decisions made in one subproject can affect another.
- The end of the project can require significant integration efforts.
Rapid Application Development (RAD)
- RAD-based methodologies attempt to address both weaknesses of structured design methodologies by adjusting the SDLC phases.
- The aim is to get some part of the system developed quickly and into the hands of the users.
- Recommendation to use special techniques and computer tools to speed up analysis, design, and implementation phases.
- Suggested techniques and tools are computer-aided software engineering (CASE) tools, joint application design (JAD) sessions, fourth-generation or visual programming languages that simplify and speed up programming, and code generators that automatically produce programs from design specifications.
- A possible problem with RAD-based methodologies is managing user expectations.
- Due to the use of tools and techniques that improve speed and quality of systems development, user expectations of what is possible can change dramatically.
- As users better understand IT, the systems requirements can expand.
Rapid Application Development (RAD) - Phased Development
- Phased development breaks an overall system into a series of versions that are developed sequentially.
- Phased development-based methodologies offer the advantage of quickly getting a useful system in the hands of users.
- Users begin working with the system sooner, and are more likely to identify requirements sooner than with structured design.
- The major drawback to phased development is that users begin to work with systems that are intentionally incomplete.
Rapid Application Development (RAD) - Prototyping
- Prototyping performs the analysis, design, and implementation phases concurrently.
- All three phases are performed repeatedly in a cycle until the system is completed.
- A key advantage of prototyping is that it quickly provides a system with which the users can interact, even if it is not ready for widespread organizational use.
- Prototyping assures the users that the project team is working on the system and helps to refine real requirements quickly.
- The major problem with prototyping is that its fast-paced system releases make methodical analysis challenging.
Rapid Application Development (RAD) - Throwaway Prototyping
- Throwaway prototyping-based methodologies are similar to prototyping-based methodologies in that they include the development of prototypes.
- The prototypes are done at a different point in the SDLC and are used for a very different purpose than other methodologies.
- This balances the benefits of well-thought-out analysis and design phases with using prototypes to refine issues before a system is built.
- Delivery of the final system may take longer as compared to prototyping, but this usually produces more stable and reliable systems.
Agile Development
- All agile development methodologies are based on the agile manifesto and a set of twelve principles.
- Software is delivered early and continuously through the development process, satisfying the customer.
- Changing requirements are embraced regardless of when in the development process.
- Working software is delivered frequently to the customer.
- Customers and developers work together to solve the business problem.
- Motivated individuals create solutions and are provided with the tools and environment they need, and are trusted to deliver.
- Face-to-face communication within the development team is most efficient and effective for gathering requirements.
- The primary progress measure is working, executing software.
- Both customers and developers should work at a sustainable pace where the work level could be maintained indefinitely without any worker burnout.
- Simplicity and avoiding unnecessary work are essential.
- Self-organizing teams develop the best architectures, requirements, and designs.
- Development teams regularly reflect on how to improve their development processes.
- Agile approaches should be considered in some circumstances.
- Two popular examples of agile development methodologies are extreme programming (XP) and Scrum.
- Business environment
- Auditability
- The methodology recommends against large mission-critical systems that aren't carefully managed.
Agile Development - Extreme Programming
- XP is founded on four core values: communication, simplicity, feedback, and courage.
- XP requires rapid feedback to end users continuously, following the KISS principle, incremental changes to make the system grow, embracing change, and a quality-first mentality.
- Team members require development of additional skills, with continuous testing, simple coding done by pairs of developers, and close interactions with end users to build systems very quickly.
- Testing and efficient coding are core to XP.
- Code is tested each day and placed into an integrative testing environment where bugs will have their code backed out until completely free of errors.
- XP should work fine for small projects with highly motivated, cohesive, stable, and experienced teams.
- Success is doubtful if the project is not small or the teams aren't gelled.
- XP requires discipline, otherwise projects become unfocused and chaotic.
- XP is recommended only for small developer groups of under 10 members and not large applications.
- User input is very important, with the commitment of many business units.
DevOps
- Another category of systems development methodologies is DevOps.
- It incorporates ideas from both object-oriented approaches to systems development and lean manufacturing into the agile approaches.
- Two of the popular approaches are DAD and SAFe.
- Operations personnel will be included as development team members.
- Non-functional requirements, like security, can be addressed during the design of the system.
- Deployment is completed when a new chunk of software has passed a set of relevant tests.
- The new version is deployed in pieces over time; this is a rolling upgrade.
Custom Methodologies
- Custom methodologies support applying agile and object-oriented ideas to system development methodology itself.
- The goal is to support development with customization to the specific systems development project.
- A high-level framework will be used to create the project-specific method.
- Two of the approaches that have made progress in this area are Brian Henderson-Sellers' and of Ivar Jacobson's contributions.
- Both allow the team to pick and choose components of a methodology from a component repository to create a custom methodology.
- Care must be taken to ensure that each component is plug compatible by having compatible inputs and outputs.
Systems Analyst Roles and Skills
- Project members are change agents to improve an organization, build an information system to support them, and train and motivate others to use the system.
- This requires a wide range of technical, business, analytical, interpersonal, management, and ethical skills.
- Small organizations expect one person to perform many roles, while most large organizations build project teams with defined responsibilities.
- Positions include business analysts, system analysts, infrastructure analysts, change management analysts, and project managers.
Object-Oriented Systems Analysis & Design (OOSAD)
- Object-oriented approaches to developing information systems can use any of the traditional methodologies.
- Object-oriented approaches are most associated with a phased development RAD or agile methodology.
- Attempts to balance the emphasis between process and data.
- Any modern object-oriented approach to developing information systems must be use-case driven, architecture-centric, and iterative and incremental.
Object-Oriented Systems Analysis & Design (OOSAD) - Use-Case Driven
- Use-case driven approaches means that use cases are defining behaviour of the system.
- Describes how the user interacts with the system to perform activity.
- Identifies and to communicate requirements.
- Its simple.
Object-Oriented Systems Analysis & Design (OOSAD) - Architecture-Centric
- Architecture-centric approaches means that the underlying software specification drives the specification, construction, and documentation of the system.
- Analysis and design approaches should support at least three separate but interrelated architectural views of a system: functional, static, and dynamic.
- The functional, or external, view describes the behaviour of the system from the user's perspective.
- The structural, or static, view describes the system in terms of attributes, methods, classes, and relationships.
- The behavioural, or dynamic, view describes the behaviour of the system in terms of messages passed among objects and state changes within an object.
Object-Oriented Systems Analysis & Design (OOSAD) - Iterative and Incremental
- There is continuous testing and refinement throughout the life of the project.
- The systems analysts develop their understanding of a user's problem by building up three architectural views little by little.
- The systems analyst does this by working with the user to create a functional representation of the system under study.
- Then, the analyst attempts to build a structural representation of the evolving system and distributes the system’s functionality to create a behavioural representation.
Object-Oriented Systems Analysis & Design (OOSAD) - Benefits of Object-Oriented Systems Analysis and Design
- Can break complex systems into smaller, more manageable modules, working on the modules individually, and piecing them back together to form an information system.
- Easier to grasp, easier to share among team members, and easier to communicate to users.
- Creates reusable pieces.
- Saves time.
Object-Oriented Systems Analysis & Design (OOSAD) - Factors Leading to Object-Orientation
- Increasing abstraction
- Event-driven programming
- Spread of GUIs
- Modular software
- Lifecycle problems
- Model transitions
- Reusable software
The Unified Process
- The Unified Process is a specific methodology that maps out when and how to use the various Unified Modelling Language UML techniques for object-oriented analysis and design.
- The Unified Process is a two-dimensional systems development process described by phases and workflows.
- Phases are inception, elaboration, construction, and transition.
- Workflows include business modelling, requirements, analysis, design, implementation, test, deployment, configuration and change management, project management, and environment.
The Unified Modelling Language (UML)
- Grady Booch, Ivar Jacobson, and James Rumbaugh created a standard set of diagramming techniques known as the Unified Modelling Language (UML).
- The goal of UML was to provide a common vocabulary of object-oriented terms and diagramming techniques rich enough to model any systems development project from analysis through implementation.
- UML Version 2.5 defines 15 diagramming techniques used to model a system with one category for structure and another for behaviour.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.