Upload
maximilian-bennett
View
222
Download
1
Tags:
Embed Size (px)
Citation preview
INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN
1
Information System2
What Is An Information System?
3
An information system is a collection of interrelated components that collect, process, store, and provide as output the information needed to complete a business task.
Examples of Information Systems
4
Course registration system Online order system Online banking system
Why Are Information Systems Important?
5
Support business functions in modern business organizations
Make business more competitive Enhance productivity and profits
Types of Information Systems
6
Customer Relationship Management (CRM) Supply Chain Management (SCM) Accounting and Financial Management (AFM) Human Resource Management (HRM) Manufacturing Management Knowledge Management (KM) Collaboration Support Systems (CSS) Business Intelligence System
7
Information Systems and Component Parts
System Analysis8
What Is System Analysis About?
9
Understanding the goals and strategies of the business.
Defining the information requirements that support those goals and strategies.
It is not about programming.
System Analysis Vs. System Design
10
Systems analysis is a process of understanding in detail what a system should accomplish.
Systems design is a process of specifying in detail how components of an information system should be physically implemented.
System Analyst11
A business professional who uses analysis and design techniques to solve business problems using information technology.
The Role of a System Analyst Investigate, analyze, design, develop,
installs, evaluate, and maintains a company’s information systems.
A business problem solver The solution to the “problem” is
generally a new information system Help translate business requirements
into IT projects.
12
Typical Problems System Analyst Typically Solve
13
Customers want to order product anytime of the day.
Suppliers want to minimize inventory holding costs.
Marketing want to know customer needs better.
Management want to analyzing financial information more efficiently.
The Analyst as a Business Problem Solver
14
Has computer technology knowledge and programming expertise
Understands business problems Uses logical methods for solving problems Has fundamental curiosity Wants to make things better Is more of a business problem solver than
a technical programmer
What is your problem solving approach?
15
Assume that you are deciding whether to buy a new laptop to replace the old one.
Analyst’s Approach to Problem Solving
16
1. Research and understand the problem
2. Verify benefits of solving problem outweigh the costs
3. Define the requirements for solving the problem
4. Develop a set of possible solutions (alternatives)
5. Decide which solution is best and recommend
6. Define the details of the chosen solution
7. Implement the solution
8. Monitor to ensure desired results
Required Skills of the Systems Analyst
17
1. Technical2. Business3. People
1-Technical Knowledge and Skills
18
Computers / peripheral devices (hardware)
Communication networks and connectivity Database and database management
systems (DBMS) Programming languages (for example,
VB.NET or Java) Operating systems and utilities
1-Technical Knowledge and Skills – Tools
19
Software productivity packages Integrated development environments
(IDEs) for programming languages CASE tools, testing, documentation
support, reverse engineering, configuration management
1- Technical Knowledge and Skills – Techniques
20
Project planning, systems analysis Systems design, database design,
network design Construction, implementation, systems
support
2- Business Knowledge and Skills
21
Business functions performed by organization
Strategies, plans, traditions, and values of the organization
Organizational structure
Organization management techniques
Functional work processes
3- People Knowledge and Skills
22
Systems analysts need to understand how people
Think
Learn
React to change
Communicate
Work (in a variety of jobs and levels)
3- People Knowledge and Skills (continued)
23
Interpersonal and communication skills are crucial to
Obtaining information
Motivating people
Getting cooperation
Understanding the complexity and workings of an organization in order to provide necessary support
Hard and Soft Skills24
Hard skills are the skills in technical areas such as database design, programming, and telecommunication.
Soft skills are the skills in nontechnical areas such as interviewing, team management, and leadership.
Integrity and Ethics25
Analyst has access to confidential information, such as salary, an organization’s planned projects, security systems, and so on.
Must keep information private
Any impropriety can ruin an analyst’s career
Analyst plans security in systems to protect confidential information
Analyst-Related Careers26
ERP software related Business Analysts in different business
functions Auditing, compliance, and security Web Development
System Development27
The Systems Development Lifecycle
28
SDLC provides overall framework for managing systems development process.
Two main approaches to SDLC Predictive approach – assumes project can be
planned out in advance Adaptive approach – more flexible, assumes
project cannot be planned out in advance All projects use some variation of SDLC
29
Choosing the Predictive vs. Adaptive Approach to the SDLC
Traditional Predictive Approach to the SDLC
30
Project planning – initiate, ensure feasibility, plan schedule, obtain approval for project
Analysis – understand business needs and processing requirements
Design – define solution system based on requirements and analysis decisions
Implementation – construct, test, train users, and install new system
Support – keep system running and improve
31
Information System Development Phases
SDLC and Problem Solving32
Organization recognizes problem (project planning)
Project team investigates, understands problem and solution requirements (analysis)
Solution is specified in detail (design) System that solves problem is built and
installed (implementation) System used, maintained, and enhanced to
continue to provide intended benefits (support)
Waterfall Model33
Waterfall model is an SDLC approach that assumes the various phases of a project can be completed sequentially – one phase leads into the next phase.
34
“Waterfall” Approach to the SDLC
35
Modified Waterfall Approachwith Overlapping Phases
Newer Adaptive Approaches to the SDLC
36
Based on spiral model Project cycles through development activities over and
over until project is complete Prototype created by end of each cycle Focuses on mitigating risk
Iteration – Work activities are repeated
Each iteration refines previous result
Approach assumes no one gets it right the first time
There are a series of mini projects for each iteration
37
The Spiral Life Cycle Model
Activities of Each SDLC Phase
38
Predictive or adaptive approach use SDLC
Activities of each “phase” are similar Phases are not always sequential Phases can overlap
Activities of Planning Phase of SDLC
39
Define business problem and scope
Produce detailed project schedule
Confirm project feasibility
Economic, organizational, technical, resource, and schedule
Staff the project (resource management)
Launch project official announcement
Activities of Analysis Phase of SDLC
40
Gather information to learn problem domain
Define system requirements
Build prototypes for discovery of requirements
Prioritize requirements
Generate and evaluate alternatives
Review recommendations with management
Activities of Design Phase of SDLC
41
Design and integrate the network
Design the application architecture
Design the user interfaces
Design the system interfaces
Design and integrate the database
Prototype for design details
Design and integrate system controls
Activities of Implementation Phase of SDLC
42
Construct software components
Verify and test
Convert data
Train users and document the system
Install the system
Activities of Support Phase of SDLC
43
Maintain system Small patches, repairs, and updates
Enhance system Small upgrades or enhancements to expand
system capabilities Larger enhancements may require separate
development project Support users
Help desk and/or support team
Approaches to System Development
44
Two Approaches to System Development
45
Traditional (Structured) approach Also called structured system development Structured analysis and design technique
(SADT) Includes information engineering (IE)
Object-oriented approach Also called OOA, OOD, and OOP Views information system as collection of
interacting objects that work together to accomplish tasks
1- Traditional (Structured) approach
46
Structured System Development
47
Structure Programming Top-down Programming Structured Design Structured Analysis
Structured Programming48
Improves computer program quality Allows other programmers to easily read
and modify code Each program module has one beginning
and one ending Three programming constructs
(sequence, decision, repetition)
49
Three Structured Programming Constructs
Top-Down Programming50
Divides complex programs into hierarchy of modules
The module at top controls execution by “calling” lower level modules
Modular programming
Similar to top-down programming
One program calls other programs to work together as single system
51
Top-Down or Modular Programming
Structured Design52
What the set of programs should be What each program should accomplish How the programs should be organized
into a hierarchy
Main Principles of Structured Design
53
Loosely coupled – module is independent of other modules
Highly cohesive – module has one clear task
54
Structure Chart Created Using Structured Design Technique
Structured Analysis55
Define what system needs to do (processing requirements)
Define data system needs to store and use (data requirements)
Define inputs and outputs Define how functions work together to
accomplish tasks Data flow diagrams (DFD) and entity
relationship diagrams (ERD) show results of structured analysis
56
Data Flow Diagram (DFD)
57
Entity-Relationship Diagram (ERD)
58
Framework of Structured Development
Information Engineering (IE)59
Refinement to structured development
Methodology with strategic planning, data modeling, automated tools focus
More rigorous and complete than SADT
Industry merged key concepts from structured development and information engineering approaches into traditional approach
2- Object Oriented Approach
60
Object-Oriented Approach61
Completely different approach to information systems
Views information system as collection of interacting objects that work together to accomplish tasks Objects – things in computer system that can
respond to messages Conceptually, no processes, programs, data
entities, or files are defined – just objects OO languages: Java, C++, C# .NET,
VB .NET
Object-oriented Analysis anddesign (OOAD) OOAD essential for creating well-
designed, & maintainable software system using
All Software Analysis and Design is preceded by the analysis of requirements.
62
Terminologies of O-O Approach
63
Object-oriented analysis (OOA) Object-oriented design (OOD) Object-oriented programming (OOP)
OOA - OOD - OOPAnalysis
Design
Implementation
“Baseball Model”
64
Object-oriented analysis (OOA)
65
Defines types of objects users deal with Shows use cases are required to complete tasks How to get understanding of what we want to
build investigation of the problem (rather than how a solution is defined)
During OOD, there is an emphasis on finding and describing the objects (or concepts) in the problem domain.
For example, concepts in a Library Information System include: Book, and Catalog.
66
Class Diagram Created During OO Analysis
Ex: Use Case (Analysis)
Start from requirements Describe response of system to events
– Normal flow of action– Error and exception handling
Can implement tests to check use cases
Can be quite formal– UML diagrams
67
Use Case Summary
Create use cases from requirements– Response of system to events– Normal and errors/exceptions
Leads to tests– Map use cases to tests
Use cases are not designs– That's how you manage to satisfy the
tests derived from use cases
68
Object-oriented design (OOD)
69
Defines object types needed to communicate with people and devices in system
Shows how objects interact to complete tasks
Refines each type of object for implementation with specific language of environment
UML is used in this phase
OOD: Object Oriented Design
• Emphasizes a conceptual solution that fulfils the
requirements specified in the analysis.
• Need to define software objects and how they
collaborate to fulfill the requirements.
• For example, in the Library Information System, a
Book object may have a title attribute and a
display() method.
• Designs are implemented in a programming
language.
•In the example, we will have a Book class in Java.
70
Analysis vs. Design
– Discovery - Invention– What? - How?– Physical - Logical
71
Object-oriented programming (OOP)
72
Writing statements in programming language to define what each type of object does
OO Programming Language (e.g. C++, Java,
smalltalk, …)
OOP: Object-Oriented Programming
• During Implementation, or Object-Oriented Programming, design objects are implemented, such as a book class in Java.
• Implementation is also known as Coding or Construction.
73
Objects
concepts, concrete or abstract, with meaning derived from the problem domain “the real world”
provide a basis for implementation encapsulation of state (data values) and
behavior (operations)
74
Objects (cont.)
Exhibit behavior by invoking a method in response to a message
instances of classes an object-oriented program is a
collection of autonomous interacting and collaborating objects
75
Classes objects sharing common
characteristics dictate the behavior of the object contain
state: attributes, fields, variables, data member
behavior: functions, methods, function member
76
3 Pillars of Object-Orientation encapsulation
inheritance
polymorphism
77
Encapsulation
combination of state and behavior implementation details are hidden
internally internal mechanisms can change while
public interfaces remain stable state may be retrieved using public
methods behavior consists of methods activated
by receipt of messages
78
Inheritance organization of classes into a hierarchical
inheritance tree data and behavior associated with
classes higher in the tree are accessible to those classes lower in the tree
terminology ancestor/descendant superclass/subclass generalization/specialization
79
Another Inheritance Diagram
80
Polymorphism
polymorphism: many forms localizes responsibility for behavior object automatically uses correct
implementation for a method many objects can respond to the same
message minimizes interface parameter passing
81
Polymorphism
treat many types (all derived from the same type) as if they were all one type
single piece of interface works on all these types
82
Polymorphism Example83