chap01
chap01
The Context of
Systems Analysis and
Design Methods
1-3
1-4
A Framework for Systems
Analysis and Design
A system is a group of interrelated components that
function together to achieve a desired result.
1-8
Roles in System Analysis and Design:
1-10
Roles in System Analysis and
Design(cont):
1-11
Roles in System Analysis and
Design(cont):
System users – a “customer” who will
use or is affected by an information
system on a regular basis – capturing,
validating, entering, responding to,
storing, and exchanging data and
information.
1-12
Internal System Users:(Roles
in System Analysis and
Design(cont):
• Clerical and service workers
• Technical and professional staff
• Supervisors, middle managers, and
executive managers
1-13
External System Users Roles
in System Analysis and
Design(cont):
• Customers
• Suppliers
• Partners
• Employees
• Remote users - users who are not physically
located on the premises but who still requires
access to information systems.
• Mobile users - users whose location is
constantly changing but who requires access
to information systems from any location
1-14
System Designers and
System Builders
System designer – a technical specialist who
translates system users’ business requirements
and constraints into technical solution. She or he
designs the computer databases, inputs, outputs,
screens, networks, and software that will meet the
system users’ requirements.
1-17
The Systems Analyst
as a Problem-Solver
• By "Problems" that need solving, we mean:
• Problems, either real or anticipated, that require
corrective action
• Opportunities to improve a situation despite the
absence of complaints
• Directives to change a situation regardless of
whether anyone has complained about the
current situation
1-18
Where Do Systems Analysts
Work?
1-19
1-20
Skills Needed by
the Systems Analyst
• Working knowledge of information technology
• Computer programming experience and expertise
• General business knowledge
• General problem-solving skills
• Good interpersonal communication skills
• Good interpersonal relations skills
• Flexibility and adaptability
• Character and ethics
1-21
The Systems Analyst as
a Facilitator
1-22
The Ten Commandments of
Computer Ethics
1. Thou shalt not use a computer to harm other people.
2. Thou shalt not interfere with other people’s computer work.
3. Thou shalt not snoop around in other people’s computer files.
4. Thou shalt not use a computer to steal.
5. Thou shalt not use a computer to bear false witness.
6. Thou shalt not copy or use proprietary software for which you
have not paid.
7. Thou shalt not use other people’s computer resources without
authorization or proper compensation.
8. Thou shalt not appropriate other people’s intellectual output.
9. Thou shalt think about the social consequences of the
program you are writing or the system you are designing.
10. Thou shalt always use a computer in ways that insure
1-23 consideration and respect for your fellow human
Source: Computer Ethics Institute
The Ten Commandments of
Computer Ethics
• 1. Don't use computers to harm others.
• 2. Don't mess with other people's computer work.
• 3. Don't snoop around in other people's files.
• 4. Don't use computers to steal.
• 5. Don't spread false information using computers.
• 6. Don't use software that you haven't paid for.
• 7. Don't use other people's computer resources without permission.
• 8. Don't steal other people's ideas.
• 9. Think about the impact your programs or systems may have on
society.
• 10. Always be respectful and considerate of others when using
computers.
1-24
Other Stakeholders
External Service Provider (ESP) – a systems analyst,
system designer, or system builder who sells his or her
expertise and experience to other businesses to help those
businesses purchase, develop, or integrate their
information systems solutions; may be affiliated with a
consulting or services organization.
1-26
Agile approaches to system
development
• (An umbrella term) Argues that Software development methods,
adapted from engineering, do not work well in reality
• - Focus on adaptiveness.
• - Focus on people rather than roles.
• -Focus on self-adaptive processes
• The four key values of the Agile Manifesto are:
• 1. Individuals and interactions over processes and tools: Emphasizing the
importance of communication and collaboration between team members,
rather than relying solely on processes and tools.
• 2. Working software over comprehensive documentation: Prioritizing the
creation of working software that meets customer needs, rather than
focusing on extensive documentation that may not add value.
• 3. Customer collaboration over contract negotiation: Encouraging
customer involvement throughout the development process to ensure that
the final product meets their needs and expectations.
• 4. Responding to change over following a plan: Acknowledging that
requirements and priorities may change during development and
1-27 emphasizing the need to be adaptable and responsive to these changes.
Agile approaches to system
development
• Overall, the Agile Manifesto values flexibility,
collaboration, and customer satisfaction, and seeks to
deliver high-quality software, that meets user needs,
and can adapt to changing circumstances.
• Agile methodologies problems:
• - Not for everyone
• - Mostly recommended if:
• Unpredictable or dynamic requirements.
• Developers are responsible and motivated.
• Customers understand the process and will be involved
1-28
Extreme Programming (XP):
• 1. Pair programming: Two developers work together at one
computer, sharing knowledge and skills to increase efficiency and
code quality.
• 2. Test-driven development: Writing automated tests before
writing code to ensure that the code meets requirements and
functions correctly.
• 3. Continuous integration: Frequent integration of code changes
into the main codebase to detect and fix issues early.
• 4. On-site customer: Having a customer representative on the
development team to provide feedback and ensure that the final
product meets their needs
• 5. Continuous feedback: Regular communication and feedback
between team members and customers to identify areas for
improvement.
1-29
Extreme Programming (XP)
(cont):
• 6. Simple design: Prioritizing simplicity and minimizing unnecessary
complexity in the software design.
• 7. Iterative development: Breaking the development process into
small, manageable iterations,each of which produces a functional
product increment
1-30
Scrum
Roles in the scrum:
• 1. Product Owner: Represents the customer and defines the product backlog, which is a
prioritized list of features and requirements for the product.
• 2. Scrum Master: Facilitates the Scrum process and removes any obstacles or impediments
that may prevent the team from delivering the product increment.
• 3. Development Team: Self-organizing and cross-functional team responsible for delivering
the product increment.
• 4. Sprint: Fixed-length (usually 1-4 weeks) iteration during which the team works on
delivering a potentially shippable product increment.
• 5. Daily Scrum: Daily meeting where team members share progress, discuss obstacles, and
plan the next steps.
• 6. Sprint Review: A meeting at the end of each sprint where the team presents the product
increment and receives feedback from stakeholders.
• 7. Sprint Retrospective: A meeting at the end of each sprint where the team reflects on the
previous sprint and identifies areas for improvement.
•Scrum aims to deliver software that meets customer needs, while also being
flexible and adaptable to changing requirements. The methodology values
transparency and adaptation and seeks to continuously improve the
development process and the final product through regular feedback and
•reflection.
1-31
Agile
1-32
Agile vs Traditional:
1-33
Object Oriented Analysis and
Design (OOAD)
Object Oriented Analysis and Design (OOAD)
• - Based on objects, rather than data
• - Combines data and processes (methods) into objects.
•Object: Contains methods and attributes
•Inheritance: Hierarchical arrangement of classes, allowing subclasses to
inherit properties from parent classes
•Object Class: Logical group of objects based on attributes and behaviours
Relational Unified Process (RUP)
An object-oriented development methodology
Based on an incremental approach to development
Four phases:
1. Inception
2. Elaboration
3. Construction
4. Transition
1-34
Business Drivers for Today’s
Information Systems
• Globalization of the Economy
• Requires support of multiple languages and currencies
1-36
Globalization of the Economy
Global Economy brings
• New and expanded international markets
• New international competitors
1-39
An Electronic Commerce
Procurement Storefront
1-40
Security and Privacy
Security
• How will the business continue in the even of a
security breach, terrorist attack, or disaster?
• How can the business protect its digital assets
from outside threats?
Privacy
• Consumer demands for privacy in e-commerce
transactions
• Government requirements
1-45
Technology Drivers for Today’s
Information Systems
• Networks and the Internet
• Time-sharing systems, network servers, desktops and computers
• Most use networking technologies based on the internet.
• e.g., XML, Portals, Web services
• Object Technologies
• Defines a system in terms of objects that compiles data and behaviour into objects
• Object Orientated programming (OOP) (C++, Java)
• Advantages of OOP:
– 1. Objects are reusable
– 2. Objects are extensible (Changeable and expandable
• Collaborative Technologies
• Enhance interpersonal communications and teamwork
• (e-mail, groupware)
1-46
• Enterprise Applications
Technology Drivers for Today’s
Information Systems
• Enterprise Applications
• Practically all businesses require a core set of enterprise applications, like financial management software
• - Frequently purchased
• - Need to have custom modifications added
• Systems integration: Building an information system out of diverse components of software,hardware and
networking
1-47
Technology Drivers for Today’s
Information Systems
• Enterprise Resource Planning (ERP):
Software that fully integrates the information
systems of all the basic/core business functions,
built around a common database.
• Enterprise Application Integration (EAI):
Linking applications to support the flow of data
and information between them
• Middleware: Software that translates and routes
data between applications
1-48
Networks and the Internet
Networks include mainframe time-sharing systems,
network servers, and a variety of desktop, laptop, and
handheld client computers.
1-52
Enterprise Applications
1-54
Enterprise Applications - ERP
Enterprise Resource Planning (ERP) – a software
application that fully integrates information systems
that span most or all of the basic, core business
functions.
1-57
Enterprise Applications - CRM
Customer Relationship Management (CRM) – a
software application that provides customers with
access to a business’s processes from initial inquiry
through postsale service and support.
1-60
System Development Process
System development process – a set of activities, methods,
best practices, deliverables, and automated tools that
stakeholders use to develop and maintain information
systems and software.
1-62
Simple process for the
development of IS.
Problem-Solving Steps
•1. Identify the problem
•2. Analyse the problem
•3. Identify Solution requirements
•4. Identify alternative solutions and choose the best one
•5. Design the solution
•6. Implement the solution
•7. Evaluate the results, if not solved, return to step ½
•Project Management: Planning, monitoring and controlling a project to develop a high-quality system within the budget and
schedule.
•Process Management: Defines, improves and coordinates the use of the chosen methodology (Traditional/Agiles) and
standards for all projects
1-63
System Development Process
Overview
System initiation – the initial planning for a project to
define initial business scope, goals, schedule, and
budget.
1-65
Project and Process
Management
Project management – the activity of defining,
planning, directing, monitoring, and controlling a
project to develop an acceptable system within
the allotted time and budget.