Unit 7: Systems Development Life Cycle Flashcards
The aim of an ______________ is to give IT Project Managers the tools they need to assure the effective deployment of systems that meet the University’s strategic and business goals.
SDLC methodology
● investigates, analyzes, designs, develops, installs, evaluates, and
maintains a company’s information systems
● On large projects, they work as a member of an IT department team
● Smaller companies often use consultants to perform the work
system analyst
the process of defining, designing, testing and implementing a software application.
- includes a number of different phases, such as feasibility analysis, requirements analysis, software design, software coding, testing and debugging, installation and maintenance.
system development
System Development Methods
- predictive approach
- use of process models
- process-centered technique
System Development Life Cycle(SDLC)
planning
analysis
design
implementation
maintenance
- initial stage in the systems development life cycle (SDLC).
- fundamental process of understanding why an information system should be built and determine how the project team will go about building it.
- describes how IT projects get started, how systems analysts evaluate proposed projects, the feasibility of a project, and the reasoning behind the proposed system development.
systems planning
___________ must do analysis activities when creating a new system or improving an old system.
- If an information system is built properly, it will give the expected benefits to the company.
- To achieve this goal, system analysts define what the information system requires by performing the analysis activities.
SYSTEM ANALYSIS
System analysts
Systems Analysis Activities
requirements modeling
object modeling
data and process modeling
development strategies
consists of requirements modeling, and process modeling, object modeling, and consideration of development strategies.
systems analysis phase
- involves fact-finding to describe the current system and identification of the requirements for the new system.
requirements:
requirements modeling
input
processes
outputs
performance
security
refer to necessary data that enters the system, either manually or in an automated manner.
- Manufacturing employees must swipe their ID cards into online
data collection terminals that record labor costs and calculate
production efficiency
The department head must enter overtime hours on a separate
screen
input
refer to system characteristics such as speed, volume, capacity, availability, and reliability.
- The student records system must calculate the GPA at the end of each semester. As the final step in year-end processing, the payroll system must update employee salaries, bonuses, and benefits and produce tax data required by the IRS
processes
refer to electronic or printed information produced by the system.
- The Web site must report online volume statistics every four hours, and hourly during peak periods
The inventory system must produce a daily report showing the part number, description, quantity on hand, quantity allocated, quantity available, and unit cost of all sorted by part number
output
refers to the logical rules that are applied to transform the data into meaningful information.
- The system must support 25 users online simultaneously
Response time must not exceed four seconds
performance
refers to hardware, software, and procedural controls that safeguard and protect the system and its data from internal or external threats.
- The system must provide log-on security at the operating system
level and at the application level
An employee record must be added, changed, or deleted only by a member of the human resources department
security
- shows the steps that make up a business process, along with who’s responsible for each step.
- useful for analyzing current processes, planning improvements, and crystallizing communication between process participants
business flowchart
types of flowchart
document
system
program
▪ Illustrates the flow of documents and information between areas of responsibility within an organization.
▪ ____________ is particularly useful in analyzing the adequacy of
control procedures.
DOCUMENT
document flowchart
▪ __________ depict the relationship among the input, processing, and output of an AIS
System flowcharts
▪ ___________ describes the specific logic to perform a process shown on a systems flowchart
program flowchart
In the context of software development and system design, _____________ are statements that describe what the system should do or possess to meet the needs of its users and stakeholders.
2 types:
requirements
functional requirements
non-functional requirements
● Allow users to register and log in to their accounts.
● Provide a search functionality to find products or information.
● Enable users to add items to a shopping cart and proceed to checkout.
● Allow administrators to manage user accounts and product listings.
● Display real-time stock availability for products.
functional requirements
- define the attributes and qualities that describe how the system should perform, rather than what it should do.
- focus on aspects related to system behavior, performance, security, and user experience.
- answer the question, “How well does the system perform?”
non-functional requirements
● Performance
● Scalability
● Security
● Usability
● Reliability
non-functional requirements
The website should load within 3 seconds to provide a good user experience.
performance
The system should handle an increasing number of users without significant
performance degradation.
scalability
User passwords should be securely hashed and stored to prevent unauthorized
access.
security
The website’s interface should be intuitive and easy to navigate for users of all experience levels.
usability
The system should have at least 99.9% uptime, with minimal downtime for maintenance.
reliability
Systems Analysis Skills
Analytical skills
Interpersonal skills
Team-Oriented Methods and Techniques
Joint application development (JAD)
Rapid application development (RAD)
define what the system should achieve in terms of features and capabilities
functional requirements
ensure the system meets the desired levels of performance, quality, and user satisfaction
non-functional requirements
- third of five phases in the systems development life cycle
(SDLC). - Now you are ready to begin the physical design of the system that will meet the specifications described in the system requirements document.
- tasks include output and user interface design, data design, and system architecture.
systems design
System Design Guidelines:
The systems analyst must understand the logical design of the system before beginning the physical design of any one component
● Data design
● User interface
● Architecture
● System design specification
System Design Objectives
The goal of systems design is to build a system that is effective, reliable, and maintainable
● A system is effective if it meets all user needs and business requirements
● A system is reliable if it adequately handles errors
● A system is maintainable if it is well designed, flexible, and developed with future modifications in mind
System Design Considerations
user considerations
data considerations
design trade-offs
◼ Carefully consider any point where users receive output from, or provide input to, the system
◼ Anticipate future needs of the users, the system, and the organization – hard-coded
◼ Provide flexibility
◼ Parameter, default
user considerations
◼ Data should be entered into the system where and when it occurs because delays
cause data errors
◼ Data should be verified when it is entered, to catch errors immediately
◼ Automated methods of data entry should be used whenever possible
◼ Audit trail
◼ Every instance of entry and change to data should be logged
◼ Data should be entered into a system only once
◼ Data duplication should be avoided
data considerations
◼ decisions come down to the basic conflict of quality versus cost
◼ Avoid decisions that achieve short-term savings but might mean higher costs later
design trade-offs
- The method by which a prototype is developed
- involves a repetitive sequence of
analysis, design, modeling, and testing. - common technique that can be used to design anything from a new home to a computer network.
prototyping
Prototyping Methods
System prototyping
Design prototyping or Throwaway prototyping
- produces a full-featured, working model of the information system.
- Because the model is “on track” for implementation, it is especially important to obtain user feedback, and to be sure that the prototype meets all requirements of users and management.
system prototyping
- method of development that employs technical mechanisms for reducing risk in a project, when the project needs are vaguely and poorly laid out.
- The end product is a user-approved model that documents and benchmarks the features of the finished system.
Design prototyping or Throwaway prototyping
Prototyping offers many benefits
◼ Users and systems developers can avoid misunderstandings
◼ Managers can evaluate a working model more effectively than a paper specification
Consider potential problems
◼ The rapid pace of development can create quality problems
◼ In very complex systems, the prototype becomes unwieldy and difficult to manage
systems analysts can use powerful tools to develop prototypes
Prototyping Tools
case tools
application generators
report generators
screen generators
- technique that uses powerful software, called CASE tool, to help
systems analysts develop and maintain information systems.
Computer-aided systems engineering (CASE)
tool that supports the rapid development of computer programs by translating a logical model directly into code.
- Also called a code generator.
application generators
a computer program whose purpose is to take data from a source such as a database, XML stream or a spreadsheet, and use it to produce a document in a format which satisfies a particular human readership
report generators
or form painter, is an interactive tool that helps you design a custom interface, create screens forms, and handle data entry format and procedures.
screen generators
Limitations of Prototypes
● A prototype is a functioning system, but it is LESS EFFICIENT than a fully developed system
● Systems developers can upgrade the prototype into the final information system by adding
the necessary capability. Otherwise, the prototype is discarded
Future Trends in Software Development
Many software development tools and technologies are in transition
● Web services
● Open source software
● Service-oriented architecture (SOA)
● Loose coupling
● Software quality is more important than ever
Describes how users interact with a computer system, and consists of all the hardware, software, screens, menus, functions, output, and features that affect two-way communications between the user and the computer.
- requires the understanding of human-computer interactions and user-centered design principles.
user interface
uses visual objects and techniques that allow users to communicate
effectively with the system.
graphical user interface
user satisfaction, support for business functions, and system effectiveness
usability
process-control systems
user-centered systems
allow users to send commands to the system
process-control systems
how users communicate with the information system, and how the system supports the firm’s business operations
user-centered systems
describes the relationship between computers and people who use them to perform their jobs
human-computer interaction
Seven Habits of Successful Interface Designers:
- understand the business
- Maximize Graphical Effectiveness
- Think Like a User
- Use Models and Prototypes
- Focus on Usability
- Invite Feedback
- Document Everything
- This phase begins once the client has tested and approved the system.
- The system is installed at this phase to support the specified business functions.
- The performance of the system is compared to the performance targets defined during the planning phase.
systems implementation
- a continuous operation that includes eliminating program and design flaws, updating documentation and test data, and updating user support.
systems maintenance
top-down representation of
a function or process
Functional Decomposition Diagram
graphically represent the flow of data in a business information system
Data Flow Diagrams
visually represents the interaction between
users and the information system. (CASE tools)
Use Case Diagrams
widely used method of visualizing
and documenting software systems design
Use case diagrams
Sequence diagrams
Unified Modeling Language
- shows the timing of
interactions between objects as they occur. A systems analyst
might use this to show all possible outcomes, or focus on a single scenario.
sequence diagram
- A scalable system offers a better return on the initial investment
- To evaluate, you need information about projected future volume for all
outputs, inputs, and processes
scalability
- is especially important if the
development team is evaluating several alternatives - One problem is that cost estimates tend to understate indirect costs
- Rapid Economic Justification (REJ)
Total cost of ownership (TCO)
The first step is to identify the information you need
Develop a fact-finding plan
Who, What, Where, When, How, and Why?
Difference between asking what is being done and what could or
should be done
Fact-Finding Overview
for Enterprise Architecture
Helps managers and users understand the model and assures that overall business goals translate into successful IT projects
The Zachman Framework
__________ for Enterprise Architecture
Helps managers and users understand the model and assures that
overall business goals translate into successful IT projects
ZACHMAN FRAMEWORK
Interviews
Observation
Document Review
Questionnaires and Surveys
Research
Sampling
a data collection method for evaluation
includes a basic overview of documents
when to use it
how to plan and conduct it
how it affects the system and the business processes
its advantages and disadvantages
document review
Structured and Unstructured
the most important rule of all is to
make sure that your questions collect the right data in a form that you can use to further your fact-finding
Fill-in form
Questionnaires and Surveys
Can include the Internet, IT magazines, and books to obtain
background information, technical material, and news about industry
trends and developments
Site visit
research
Systematic sample
Stratified sample
Random sample
Main objective of a sample is to ensure that it represents the overall
population accurately
sampling
Interviews versus Questionnaires
Interview is more familiar and personal
Questionnaire gives many people the opportunity to provide input and suggestions
Brainstorming
Structured brainstorming
Unstructured brainstorming
The Need for Recording the Facts
Record information as soon as you obtain it
Use the simplest recording method
Record your findings in such a way that they can be understood by
someone else
Organize your documentation so related material is located easily
documentation
The process of confirming that a strategy, plan or design is possible and makes sense. This can be used to validate assumptions, constraints, decisions, approaches and business cases.
Feasibility Analysis
- Describes how easy or difficult it is to do something
- Taking into consideration relevant factors for the implementation of the project proposal
- Types of feasibility
Schedule (time)
Operational (business)
Technical (technology)
Economic (monetary)
feasibility
The probability of a project to be completed within its scheduled time limits
If a project has a high probability to be completed on-time, then its schedule
feasibility is appraised as high
May include the following methods or measurements:
Project Estimation
Gantt and PERT Chart
CPM (Critical Path Method)
Change Management
Schedule Feasibility
Gain an understanding of whether the proposed system will likely solve the business problems, or take advantage of the opportunities or not
Assess the following areas:
Project Size – number of users
IPO – inputs, processes, outputs
Management support
Environment assessment – are the users going to change
Operational Feasibility
refers to technical resources needed to develop, purchase,
install, or operate the system
Includes evaluating the ability of computer hardware and software to handle workloads adequately.
List all the specifications of all hardware and software currently in use by the company and
the proposed ones as well
Technical Feasibility
Method for evaluating the effectiveness of a new system
Procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs
Compute for the total costs incurred affected by the current system (hardware, software, utilities, overhead, operating costs, …) and compare with the costs incurred affected by the proposed system
Indicate proper sources of monetary values
Calculate for the Payback Period (pp) and the Return on Investment (roi)
Benefits (tangible or intangible)
Economic Feasibility
determines the amount of time required for an investment to generate sufficient cash
flows to recover initial cost
payback period
measured in monetary terms or in tangible assets (reduced costs,
assets not spent on)
tangible
have significant impact on the company (time saved, productivity, efficiency, data accuracy)
intangible
Projects where no choice exists are called ______________
Projects where management has a choice in implementing them are called _________________
______________ an ongoing task that must be performed throughout the
systems development process
nondiscretionary projects
discretionary projects
Feasibility analysis