Uploaded by Quyết Hoàng Tiến

SYSTEM ANALYSIS & DESIGN

advertisement
HANOI
UNIVERSITY
System Analysis & Design
FIRST EDITION, 2022
Dr. BAO NGOC TRINH
Hanoi University
MSc. THI MINH NGUYET DINH
Hanoi University
SYSTEM ANALYSIS &
DESIGN
Undergraduate Coursebook
Trinh Bao Ngoc
2
Chapter 01: Foundation of Software Development - Learning Outcomes
Table of Contents
3
Learning Objectives
3
Introduction
4
A Modern Approach to SAD
5
Developing Information Systems and System
Development Life Cycle
7
Agile Methodologies
8
Object-Oriented Analysis and Design
8
Rational Unified Process
9
Summary
3
Chapter 01: Foundation of Software Development - Learning Outcomes
Chapter 01: Foundation of Software Development
Learning Outcomes
Learning Objectives
After learning this chapter, you should be able to:
1.1 Define information systems analysis and
design
1.3 Describe the agile methodologies, eXtreme
Programming, and Scrum
1.2 Describe the information systems
development life cycle
1.4 Explain object-oriented analysis and design
and the Rational Unified Process
Introduction
According to Scott Tilley, System analysis and design (SAD) is a step-by-step process for developing highquality information system. An information system combines technology, people, and data to provide
support for business functions such as order processing, inventory control, human resources, and many
more. Some information systems handle routine day-to-day tasks, while others can help managers make
better decisions, spot marketplace trends, and reveal patterns that might be hidden in stored data [1].
How information systems are important?
The world runs on information systems. Information systems form the foundation for every major
organizational activity and industry, from retail to healthcare to manufacturing to logistics. Although
advances in information technology continually give us new capabilities, the analysis and design of
information systems is driven from an organizational perspective. An organization might consist of a whole
enterprise, specific departments, or individual work groups. Organizations can respond to and anticipate
problems and opportunities through innovative use of information technology [2]. Information systems
analysis and design is therefore an organizational improvement process. Systems are built and rebuilt for
organizational benefits. Benefits result from adding value during the process of creating, producing, and
supporting the organization’s products and services. Thus, the analysis and design of information systems
is based on your understanding of the organization’s objectives, structure, and processes, as well as your
knowledge of how to exploit information technology for advantage.
With the challenges and opportunities of dealing with rapid advances in technology, it is difficult to imagine
a more exciting career choice than information technology (IT), and systems analysis and design is a big
part of the IT landscape. Furthermore, analyzing and designing information systems will give you the
4
Chapter 01: Foundation of Software Development - Learning Outcomes
chance to understand organizations at a depth and breadth that might take many more years to accomplish
in other careers.
Although many people in organizations are responsible for systems analysis and design, in most
organizations the systems analyst has the primary responsibility. When you begin your career in systems
development, you will most likely begin as a systems analyst or as a business analyst. The primary role of
a systems analyst is to study the problems and needs of an organization in order to determine how people,
methods, and information technology can best be combined to bring about improvements in the
organization. A systems analyst helps system users and other business managers define their requirements
for new or enhanced information services. As such, a systems analyst is an agent of change and innovation.
Video Introduction to system analysis and design: https://www.youtube.com/watch?v=t7YMEnnxjJ8
A Modern Approach to SAD
Systems analysis and design is undoubtedly a pillar in the field of Information Systems (IS). Some
researchers have even claimed that SAD is the field that defines the Information Systems discipline and is
the core of information systems. The past decades have seen the development of Structured SAD
methodologies and Object-Oriented Methodologies. In the early 1990s, key players in the field collaborated
to develop the Unified Modeling Language and the Unified Process. Agile approaches followed, as did
other dynamic methods. These approaches remain heavily employed in the development of contemporary
information systems. At the same time, new approaches such as DevOps and DevSecOps continue to
emerge [3].
FIGURE ERROR! NO TEXT OF SPECIFIED STYLE IN DOCUMENT..1: DEVOPS (WWW.INTLAND.COM)
DevOps is the acronym given to the combination of Development and Operations. It refers to a collaborative
approach to make the Application Development team and the IT Operations team of an organization to
seamlessly work with better communication. It is a philosophy that encourages adopting iterative software
development, automation, and programmable infrastructure deployment and maintenance.
5
Chapter 01: Foundation of Software Development - Learning Outcomes
DevSecOps is a collaboration framework that expands the impact of DevOps by adding security practices
to the software development and delivery process. DevSecOps resolves the tension between DevOps teams
that want to release software quickly, and security teams that prioritize security over all else.
PreMethodology
Era (1960s 1970s)
Early
Methodology
Era (1970s 1980s)
Methodology
Proliferation Era
(1980s -1990s)
Methodology
Post Methodology
Standardization Era Era (late-1990s to
(mid-1990s to early- present)
2000s)
Approaches
Hardwired
Structured
Object-oriented
Object-oriented,
Agile
Agile, DevOps,
DevSecOps
Methodologies
Documentation Software
Development
, Algorithm
Life Cycle
(SDLC)
Unified Process
Unified Process
Scrum, Extreme
Programming
Data/File
Structures
File System
Hierarchical,
Network
Database
Relational, Entity- Relational, ObjectRelationship,
oriented
Object-oriented
Relational, In
memory, Vertical,
Web-based, Data
warehouse/Data
lake, NoSQL
Techniques
Flowchart
ER Model,
DFD
Object-oriented
methodologies
UML, BPMN
Coarse-grained
conceptual model
Effectiveness,
Strategy,
Strategy,
(e.g., OMT, OOSE,
FUSION)
Goals of IT
Systems
Efficiency
Effectiveness
Effectiveness,
Strategy
Value creation
Value creation,
Societal impacts
Table 1.Error! No text of specified style in document..1: Eras of information system analysis and
design methodologies
Developing Information Systems and System
Development Life Cycle
Whether they rely on structured or agile approaches, or on a hybrid, most organizations find it beneficial to
use a standard set of steps, called a systems development methodology, to develop and support their
information systems. Like many processes, the development of information systems often follows a life
cycle. For example, a commercial product follows a life cycle in that it is created, tested, and introduced to
the market. Its sales increase, peak, and decline. Finally, the product is removed from the market and
6
Chapter 01: Foundation of Software Development - Learning Outcomes
replaced by something else. The system development life
cycle (SDLC) also referred to as the application development
life-cycle, is a process for planning, creating, testing, and
deploying an information system. The systems development
life cycle concept applies to a range of hardware and software
configurations, as a system can be composed of hardware
only, software only, or a combination of both [4]. There are
usually six stages in this cycle, but different resources
introduced a cycle with slightly differences in stages. Some
common stages in a SDLC are: planning, requirement
analysis, system analysis, system design, prototyping,
implementation, testing, documentation, deployment,
evaluation, maintenance [4].
Planning
Analysis and
Design
Requirement analysis
Implementation
Testing
Maintenance
The Waterfall model was the first process model to be introduced. It is also referred to as a linear-sequential
life cycle model [5]. It is very simple to understand and use.
FIGURE ERROR! NO TEXT OF SPECIFIED STYLE IN
In a waterfall model, each phase must be completed before the
DOCUMENT..2: WATERFALL MODEL
next phase can begin and there is no overlapping in the phases.
Video 1.Error! No text of specified style in document..1: Introduction to system development life cycle
(https://www.youtube.com/watch?v=i-QyW8D3ei0)
FIGURE ERROR! NO TEXT OF SPECIFIED STYLE IN DOCUMENT..3: SPIRAL MODEL
The Evolutionary model is a combination of Iterative and Incremental model of SDLC. Delivering your
system in a big bang release, delivering it in incremental process over time is the action done in this model.
Some initial requirements and architecture envisioning need to be done [3].
Application of Evolutionary Model:
It is used in large projects where you can easily find modules for incremental implementation.
7
Chapter 01: Foundation of Software Development - Learning Outcomes
It is also used in object-oriented software development because the system can be easily portioned into
units in terms of objects.
Agile Methodologies
The Agile methodology is a way to manage a project by breaking it up into several phases. It involves
constant collaboration with stakeholders and continuous improvement at every stage. Once the work begins,
teams’ cycle through a process of planning, executing, and evaluating. Continuous collaboration is vital,
both with team members and project stakeholders [3]. This consensus turned into a document they called
"The Agile Manifesto".
According to Fowler (2003), the agile methodologies share three key principles:



Focus on adaptive rather than predictive methodologies,
Focus on people rather than roles, and
Focus on self-adaptive processes.
Many different individual methodologies come under the umbrella of agile methodologies, including:
Crystal, Lean, Adaptive Software Development, Scrum, Feature Driven Development, eXtreme
Programming and others as agile methodologies.
8
Chapter 01: Foundation of Software Development - Learning Outcomes
Figure Error! No text of specified style in document..4: Agile scrum methodology
(www.planview.com)
Object-Oriented Analysis and Design
There is no question that object-oriented analysis
and design (OOAD) is the standard for systems
development (we elaborate on this approach later
throughout the book). OOAD is often called the
third approach to systems development, after the
process-oriented and data-oriented approaches
[2]. The object-oriented approach combines data
and processes (called methods) into single
entities called objects. Objects usually
correspond to the real things an information
system deals with, such as customers, suppliers,
contracts, and rental agreements. The goal of
OOAD is to make systems elements more
reusable, thus improving system quality and the
productivity of systems analysis and design.
FIGURE ERROR! NO TEXT OF SPECIFIED STYLE IN
DOCUMENT..5: PHASES OF OOAD DEVELOPMENT
Rational Unified Process
Rational Unified Process (RUP) is a software development process for object-oriented models. It is also
known as the Unified Process Model. It is created by Rational corporation and is designed and documented
using UML (Unified Modeling Language). This process is included in IBM Rational Method Composer
(RMC) product. IBM (International Business Machine Corporation) allows us to customize, design, and
personalize the unified process. RUP is proposed by Ivar Jacobson, Grady Bootch, and James Rambaugh
[6]. Some characteristics of RUP include use-case driven, Iterative (repetition of the process), and
Incremental (increase in value) by nature, delivered online using web technology, can be customized or
tailored in modular and electronic form, etc. RUP reduces unexpected development costs and prevents
wastage of resources.
9
Chapter 01: Foundation of Software Development - Learning Outcomes
Figure Error! No text of specified style in document..6: Rational Unified Process architecture
Summary
This chapter introduced you to information systems analysis and design, the complex organizational process
whereby computer-based information systems are developed and maintained. You also learned about the
basic framework that guides systems analysis and design - the systems development life cycle (SDLC),
with its some common stages: planning, requirement analysis, system analysis, system design, prototyping,
implementation, testing, documentation, deployment, evaluation, maintenance. The Waterfall model was
the first process model to be introduced. The Evolutionary model is a combination of Iterative and
Incremental model of SDLC. You were also briefly introduced to object-oriented analysis and design, and
RUP is a kind of OOAD. RUP include use-case driven, iterative, and Incremental in value by nature. All
these approaches share the underlying idea of iteration.
Reading:
System development life cycle, phases and processes: https://www.softwaretestinghelp.com/softwaredevelopment-life-cycle-sdlc
Object-oriented analysis and design: https://www.geeksforgeeks.org/object-oriented-analysis-and-design
Download