0% found this document useful (0 votes)
16 views31 pages

1 Systems Analysis Fundamentals

The document outlines the fundamentals of systems analysis and design, emphasizing the importance of information systems in modern organizations. It details various types of information systems, the systems development lifecycle, and methodologies such as object-oriented approaches. Additionally, it highlights the role of systems analysts in improving organizational processes and the significance of design in software development.

Uploaded by

Cassim Jaffer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views31 pages

1 Systems Analysis Fundamentals

The document outlines the fundamentals of systems analysis and design, emphasizing the importance of information systems in modern organizations. It details various types of information systems, the systems development lifecycle, and methodologies such as object-oriented approaches. Additionally, it highlights the role of systems analysts in improving organizational processes and the significance of design in software development.

Uploaded by

Cassim Jaffer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

COM-323 Object Oriented

Systems Analysis and Design


Systems Analysis Fundamentals
Objectives

● Information Needs
● Types of information systems
● Systems analysis and design and the analyst
● Systems development lifecycle
● Systems Development Methodologies and Tools
Introduction / Information Need
● Organizations have always understood the importance of managing key
resources (material and human)
● With time, information has also become a key resource for modern society
○ No longer a by-product of conducting business;
○ Critical in determining the success or failure of a business.
● Thus, there is need to maximize the usefulness of information
○ Requires correct management like all other resources
○ Appreciate the costs associated with the production, distribution, security,
storage, and retrieval of all information.
● Information is all over
○ not free, and should not be taken for granted
● Therefore, a lot of information systems have been developed largely to
manage organizational information
Types of Information Systems
● Information systems are developed for different purposes, depending on the needs of
human users and the business.
● Transaction Processing Systems (TPS)
○ processes large amounts of data for routine business transactions eg payroll and inventory
○ boundary-spanning allowing organizations to interact with external environments
● Office Automation Systems (OAS) and Knowledge Work Systems (KWS)
○ Operate at the knowledge level of the organization
○ OAS support data workers to analyze and transform/manipulate for dissemination
○ KWS supports professional workers eg scientists, engineers, to create new knowledge
● Management Information Systems
○ Supports broader spectrum of organizational tasks than TPSes, including decision analysis and
decision making.
○ Shared database for interacting with, interpreting, and applying data.
○ Outputs information for decision making
Types of Information Systems
● Decision Support Systems
○ Like MIS but emphasize support of decision making in all its phases
○ More tailored/specific to a person or group using them than MIS
○ Their software is built on some model (eg statistical, optimization,
forecasting/predictive etc)
● Artificial Intelligence & Expert Systems
○ Captures and uses human expert knowledge to solve problems
○ Key components include knowledge base, an inference engine, and the user interface
● Group Decision Support Systems and Computer Supported Collaborative Work
Systems
○ Supports groups make semi structured or unstructured decisions
● Executive Support Systems
○ provide graphics and communications technologies in accessible places eg boardrooms
for corporate executives
○ Seeks to address unstructured decision problems that are not application specific
Types of Information Systems
IS and advancement in technologies
● As technology advances there is need to
integrate these systems
● Most of these systems have greater
functionality when on the web
○ Thus, migrate or design for the web
● Many organizations envision potential
benefits from the integration of many IS
○ Thus, design for the enterprise
● More and more users are becoming
adventurous
○ Thus, design for mobile / wireless
● Proprietary design is an option, but so too
is open-source design and development
Why Systems Analysis and Design?
● Understand what humans need to
○ analyze data input or data flow systematically,
○ process or transform data, store data, and
○ output information in the context of a particular organization or enterprise.
● Analyze, design, and implement improvements in the support of users
and the functioning of businesses
○ using computerized information systems
● Thus, provide structure to the costly endeavor of analysis and design of
IS that
○ Includes a series of processes systematically undertaken to improve a business
○ Involves current and eventual users of IS
■ As users move to the forefront of system development
■ Work with and communicate to software user
○ Leverages new technologies
■ AJAX, Ruby on Rails
Systems Analyst
● A systems analyst
○ Systematically assesses how users interact with technology and
○ How businesses function
● S/he examines the inputting and processing of data and the outputting of
information with the intent of improving organizational processes.
○ Eg better support of users’ work tasks and business functions
● Roles of a systems analyst include
○ Consultant: hired specifically to address IS issues within a business
○ Supporting expert: a resource for those who are doing the project
○ Agent of change: catalyze plan for, and facilitate change
● As a problem solver, a systems analyst must
○ Be self-disciplined, self-motivated
○ Be able to manage and coordinate other people, as well as innumerable project
resources.
Why design really?
● Tempted to sit down and produce code at the earliest
possible moment?
○ Not alone, most professional programmers do that
○ Especially those who do not understand the need for formal
and well-planned life-cycle methodologies
● And that is EXACTLY where the biggest problem lies in
software development, Why?
● Well, Design is a process that involves
○ Communication,
○ Creativity,
○ Negotiation, and
○ Agreement
Why design really?...
● Designing is a human process, that produces products for human
consumption.
● Design to add value to the business
● Because we feel we are “master coders” too often the communication,
negotiation and agreement aspects are left out.
○ With technically catastrophic consequences
● We therefore need to find design notations which are
○ clear,
○ consistent, and
○ which can be used to communicate within a software development team,
and with the clients and other third-parties which the team need to deal
with
Systems Development
The Systems Development Life Cycle

● ISs have ‘life spans’


○ An IS gets conceived as an idea, designed, built and then
deployed during production; and finally it is put into production
and used to support the business
○ But even in its productive use the IS is still dynamic as it gets
updated; modified and repaired
● SDLC is then this process of building, deploying, using,
and updating an information system
● SDLC has these phases: planning, analysis, design, and
implementation
○ a phase is a series of steps, with techniques that produce deliverables
Systems development methodologies

● A methodology is a formalized approach to


implementing the SDLC
● Traditional methodologies focus on business
processes or the data that support the business
○ Ie process- or data-centred
● Object-oriented methodologies balance the focus
between process and data by incorporating both
into one model
○ Objects handling both processes (eg register) and data
(eg name, and reg number)
Systems development methodologies…
● A methodology can be
○ Structured
■ adopt a formal step-by-step approach to the SDLC that moves
logically from one phase to the next
■ Eg Waterfall and/or parallel development
○ Rapid Application Development (RAD)
■ adjusts the SDLC phases to get some part of the system developed
quickly and into the hands of the users
■ Eg phased development, prototyping, throwaway prototyping
○ Agile Development
■ eliminating much of the modeling and documentation overhead
and the time spent on those tasks.
■ Projects emphasize simple, iterative application development
■ Eg eXtreme Programming and Scrum all based on OO technologies
Systems development methodologies…

● Choosing a methodology
○ In any case the degree of experience of the analyst
team is very important
Systems development and OO technologies…

●Characteristics of OO Systems
○ Classes and objects;
○ Methods and messages;
○ Encapsulation and information hiding;
○ Inheritance;
○ Polymorphism and dynamic binding
OO systems analysis and design
● Object-oriented approaches are most associated with a phased development
RAD or agile methodology
● Any modern OO approach to developing IS must be
○ use-case driven - use cases must be the primary modeling tools defining the behavior of
the system
■ Focus on only one business process at a time
■ Communicate the requirements of the system to programmers
○ architecture-centric - underlying software architecture must drive the specification,
construction, and documentation of the system.
■ OOSAD approaches must support functional, static, and dynamic architectural views of a
system.
○ Iterative and incremental
■ Building up the three architectural views little by little
■ Undergoing continuous testing and refinement
Unified Process and OOSAD

● UP is a methodology that maps out when and how


to use the various Unified Modeling Language
(UML) techniques for object-oriented systems
analysis and design
● UML provides structural support for developing the
structure and behavior of an information system
● UP provides the behavioral support
● UP is use-case driven, architecture-centric, and
iterative & incremental
Unified Process and OOSAD…
● Includes phases (4) through which project moves over time
○ Inception: develop and refine system vision
○ Elaboration: define requirements and core architecture
○ Construction: continue design and implementation
○ Transition: move the system into operational mode
● Each phase includes one or two iterations (mini-projects) that
involve analysis, design, and implementation for part of a
system
■ Ie by the end of each iteration, UP life cycle will have completed an artifact;
models, documents, source code, and executables
■ Iterations concatenate activities from all disciplines
Unified Process and OOSAD…
The Unified Modelling Language

● UML is a standard set of diagramming techniques


● UML provides a common vocabulary of object-oriented
terms and diagramming techniques rich enough to model
any systems development project from analysis through
implementation
● UML defines ten diagrams
○ The Package Diagram organizes the work
○ The component and deployment diagrams are used to
describe implementation
○ The remaining seven diagrams are used to model
requirements and design
The Unified Modelling Language…
● One way to organize the 7 UML diagrams is by using views.
● A view is a collection of diagrams that describe a similar aspect of the project
● There are 3 important system views:
○ Static/structural view
○ Dynamic/behavioral view
○ Functional view
UML Functional View

● The functional view models how the system is


supposed to work
○ i.e. what services it provides
● Diagrams used to represent the functional view:
○ Use Case Diagram
■ describes the features that the users expect the system to provide
○ Activity Diagram
■ describes processes; is like a flowchart but enhanced
■ Give more details of the inner workings of a particular use case
■ Alternatively, a use case description is used
Functional View: Diagrams
Static view

● The Static View includes those diagrams that provide a snapshot


of the elements of the system but don’t tell you how the
elements will behave
○ It shows you what the system is made of
○ It is like the blueprint for the system
● Diagrams used to represent the static view:
○ Class Diagram
○ Object Diagram
● The class diagram is the primary tool of the Static View
○ It is the one diagram nearly always used for code generation and
reverse engineering
Static View: Class & Object Diagrams
Dynamic View

● The Dynamic View includes the diagrams that


reveal how objects interact with one another in
response to the environment.
● It includes the Sequence and Collaboration
diagrams, which collectively are referred to as
interaction diagrams
○ They are specifically designed to describe how
objects talk to each other.
● It also includes the Statechart diagram, which
shows how and why an object changes over
time in response to the environment
Dynamic View: Diagrams
Importance of three views

● But do you really need all these diagrams?


● For small and straight forward projects you
may not have to create all these diagrams.
● However, the larger and more complicated the
system becomes the more helpful these
diagrams become
○ The diagrams each look at your system in a different
way
○ If they agree where they overlap you are done
○ If they don’t you can readily identify where more
effort is required, saving you time
References

●Chapter 1
○ Dennis, Wixom and Tergarden (2015). 5 th Ed.
Systems Analysis and Design: An Object-oriented
Approach with UML.
○ Kendall and Kendall (2014). 9th Ed. Systems
Analysis and Design
○ Dennis, Wixom and Roth (2015). 6 th Ed.
Systems Analysis and Design

You might also like