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