Module 1 2
Module 1 2
COURSE OVERVIEW
Course No.
Course Description This course will introduce to the student on how to design and
build systems and integrate them into an organization. This
knowledge area develops the skills to gather requirements, then
source, evaluate and integrate components into a single system,
and finally validate the system. It also covers the fundamentals
of project management and the interplay between IT
applications and organizational processes.
MODULE GUIDE
PRE-TEST
Test I. Essay
1. What is System Integration?
2. What is System Architecture?
3. Did you previously used any architectural pattern? If yes what architectural pattern did
you used? And how convinent it is?
LEARNING PLAN
Introduction
Many systems are built to easy, improve and transform organizations. Some organizations have
may departments which run systems which are independent of each other. And systems built
sometimes, may not have an abstract view (architecture) which leads to failure of system
interoperability. There is need to have architectural view of the system as a priority to help in the
design to avoid the likeness of system failure.
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
Besides after the system has been designed and developed in consideration of the size of the
organization, i.e. most especially when the organization is large, need is required to integrate such
systems to ensure flexibility, Speed, Cost, Standardization, Data integrity, reliability and
robustness.
Key to Remember:
System - is a set of rules, an arrangement of things, or a group of related things that work
toward a common goal
System Thinking - is a holistic approach to analysis that focuses on the way that a system's
constituent parts interrelate and how systems work over time and within the context of
larger systems.
System Integration - is the process of connecting different sub-systems (components) into
a single larger system that functions as one.
System Architecture - defines its high-level structure, exposing its gross organization as a
collection of interacting components.
Discussion:
In System Integration and Architecture, we have 5 things that we should learn this are the
following:
1. System
2. System Thinking
3. System Integration
4. System Architecture
5. Project
System
An array of components designed to accomplish a particular objective according to plan. Many sub-
systems many be designed which later on are combined together to form a system which is
intended to achieve a specific objective which may be set by the Project manager.
System Thinking
Is a way of understanding an entity in terms of its purpose. The three major steps followed in
systems thinking:
1. Identify a containing whole (system), of which the thing to be explained is a part.
2. Explain the behavior or properties of the containing whole.
3. Explain the behavior or properties of the thing to be explained in terms of its role(s)or
function(s) within its containing whole (Ackoff, 1981)
System Integration
In very broad terms, system integration is the process of connecting different sub-systems
(components) into a single larger system that functions as one. With regards to software solutions,
system integration is typically defined as the process of linking together various IT systems,
services and/or software to enable all of them to work functionally together.
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
The main reason for organizations to use system integration is their need to improve productivity
and quality of their operations. The goal is to get the organizations various IT systems to “talk to
each other” through the integration, to speed up information flows and reduce operational costs
for the organization. But system integration is not used only to connect an organization’s internal
systems, but also third parties that the organization operates with.
Point-to-Point Integration
One could argue that a point-to-point integration (or point-to-point connection) is not a system
integration as such since there are only two system components involved. However, while it lacks
the complexity of “true” system integration, it still connects a system to another system for them to
function together. Typically, such point-to-point integration handles only one function and does
not involve any complex business logic. Many cloud-based applications offer these types of point-
to-point integrations as productized, “out of the box” integration modules for the most common IT
systems.
Vertical Integration
In vertical integration method, the system components (sub-systems) are integrated by creating
functional "silos", beginning with the basic bottom function upward. This is normally relatively
simple and easy method that only involves a limited number of systems (more than two), but on
the other hand, this integration method is quote rigid and more difficult to manage in the long term
as any new functionally will require its own functional” silo”. Still, this method can be used
effectively to create simple integrations, that only need to address a single function.
Star Integration
Star integration means that a system where each sub-system is connected with other sub-systems
using point-to-point connections. This allows for more functionality, but as the number of
integrated systems increases the number of integrations also increases significantly, and the
management of the integrations becomes very demanding.
Example, to connect ten systems to each other using this method, will require 45 separate
integrations, and every time there is a change in one system, nine connections may need to be re-
done as well.
Horizontal Integration
In horizontal integration, a separate sub-system is used as a common interface layer between all
sub-systems. Very often this layer is referred to as an Enterprise Service Bus (ESB). This method
allows each sub-system to have just one single interface to communicate with all the other sub-
systems connected to the common interface layer (i.e., with ten systems, there are only ten
connections). The benefit of this method is also that each sub-system can be changed or even
replaced without having to re-do the interfaces of any other systems.
Integration Objects
1. Integration platforms
2. Data integration
3. Application integration
4. Integration of business processes
System Architecture
The architecture of a system defines its high-level structure, exposing its gross organization as a
collection of interacting components.
Elements needed to model a software architecture include:
Components
Connectors
Systems
Properties
and Styles
Key Scenarios
Key scenarios are those that are considered the most important scenarios for the success of your
application. It helps to make decisions about the architecture. The goal is to achieve a balance
among the user, business, and system objectives.
Application Overview
Build an overview of application, which makes the architecture more touchable, connecting it to
real-world constraints and decisions.
It consists of the following activities:
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
Architecture Review
Architecture review is the most important task in order to reduce the cost of mistakes and to find
and fix architectural problems as early as possible. It is a well-established, cost-effective way of
reducing project costs and the chances of project failure.
Review the architecture frequently at major project milestones, and in response to other
significant architectural changes.
The main objective of an architecture review is to determine the feasibility of baseline and
candidate architectures, which verify the architecture correctly.
Links the functional requirements and the quality attributes with the proposed technical
solution. It also helps to identify issues and recognize areas for improvement
Scenario-based evaluations are a dominant method for reviewing an architecture design which
focuses on the scenarios that are most important from the business perspective, and which have
the greatest impact on the architecture.
Following are common review methodologies:
1. Software Architecture Analysis Method (SAAM)
2. Architecture Tradeoff Analysis Method (ATAM)
3. Active Design Review (ADR)
4. Active Reviews of Intermediate Designs (ARID)
5. Cost Benefits Analysis Method (CBAM)
6. Architecture Level Modifiability Analysis (ALMA)
7. Family Architecture Assessment Method (FAAM)
Architectural Pattern
An Architectural pattern is a general, reusable solution to a commonly occurring problem in software
architecture within a given context.
Usage:
2. Client-server pattern
This pattern consists of two parties; a server and multiple clients. The server component will
provide services to multiple client components. Clients request services from the server and the
server provides relevant services to those clients. Furthermore, the server continues to listen to
client requests.
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
Usage:
3. Master-slave pattern
This pattern consists of two parties; master and slaves. The master component distributes the
work among identical slave components, and computes a final result from the results which the
slaves return.
Usage:
4. Pipe-filter pattern
This pattern can be used to structure systems which produce and process a stream of data.
Each processing step is enclosed within a filter component. Data to be processed is passed
through pipes.
Usage:
Compilers. The consecutive filters perform lexical analysis, parsing, semantic analysis,
and code generation.
Workflows in bioinformatics.
5. Broker pattern
This pattern is used to structure distributed systems with decoupled components. These
components can interact with each other by remote service invocations. A broker component is
responsible for the coordination of communication among components.
Servers publish their capabilities (services and characteristics) to a broker. Clients request a
service from the broker, and the broker then redirects the client to a suitable service from its
registry.
Usage:
Message broker software such as Apache ActiveMQ, Apache Kafka, RabbitMQ and
JBoss Messaging.
6. Peer-to-peer pattern
In this pattern, individual components are known as peers. Peers may function both as a client,
requesting services from other peers, and as a server, providing services to other peers. A peer
may act as a client or as a server or as both, and it can change its role dynamically with time.
Usage:
7. Event-bus pattern
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
This pattern primarily deals with events and has 4 major components; event source, event
listener, channel and event bus. Sources publish messages to particular channels on an event
bus. Listeners subscribe to particular channels. Listeners are notified of messages that are
published to a channel to which they have subscribed before.
Usage:
Android development
Notification services
8. Model-view-controller pattern
This pattern, also known as MVC pattern, divides an interactive application in to 3 parts as;
This is done to separate internal representations of information from the ways information is
presented to, and accepted from, the user. It decouples components and allows efficient code
reuse.
Usage:
9. Blackboard pattern
This pattern is useful for problems for which no deterministic solution strategies are known. The
blackboard pattern consists of 3 main components.
All the components have access to the blackboard. Components may produce new data objects
that are added to the blackboard. Components look for particular kinds of data on the
blackboard, and may find these by pattern matching with the existing knowledge source.
Usage:
Speech recognition
Vehicle identification and tracking
Protein structure identification
Sonar signals interpretation.
This pattern is used for designing a component that interprets programs written in a dedicated
language. It mainly specifies how to evaluate lines of programs, known as sentences or
expressions written in a particular language. The basic idea is to have a class for each symbol of
the language.
Usage:
Project
From the key terms described above, a system developer and architects cannot do anything
without first establishing various projects. These projects may be new or existing.
A project is a temporary endeavor undertaken to accomplish a unique product or service.
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
Attributes of projects:
• unique purpose
• temporary
• require resources, often from various areas
• should have a primary sponsor and/or customer
• involve uncertainty
The Stakeholders
Stakeholders are the people involved in or affected by project activities. Stakeholders include:
1. The project sponsor and project team
2. Support Staff
3. Customers
4. Users
5. Suppliers
6. Opponents to the project
Importance of the Stakeholders
1. Project managers must take time to identify, understand, and manage relationships with all
project stakeholders
2. Using the four frames of organizations can help meet stakeholder needs and expectations
3. Senior executives are very important stakeholders
Organizations
We can analyze a formal organization using the following 4 (four) frames;
structure include quick decision making because the group members are able to
communicate easily with each other. People in functional structures can learn from each
other easier because they already possess similar skill sets and interests.
2. Divisional Structure - In a divisional structure, the company will coordinate inter-group
relationships to create a work team that can readily meet the needs of a certain customer
or group of customers. The division of labor in this kind of structure will ensure greater
output of varieties of similar products. An example of a divisional structure is geographical,
where divisions are set up in regions to work with each other to produce similar products
that meet the needs of the individual regions.
3. Matrix Structure - Matrix structures are more complex in that they group people in two
different ways: by the function they perform and by the product team they are working
with. In a matrix structure the team members are given more autonomy and expected to
take more responsibility for their work. This increases the productivity of the team, fosters
greater innovation and creativity, and allows managers to cooperatively solve decision-
making problems through group interaction.
4. Project Organization Structure - In a project-organizational structure, the teams are put
together based on the number of members needed to produce the product or complete the
project. The number of significantly different kinds of tasks are taken into account when
structuring a project in this manner, assuring that the right members are chosen to
participate in the project.
Concept
Development
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
Implementation
Support
The Systems Development Life Cycle (SDLC) is a framework for describing the phases
involved in developing and maintaining information systems.
System development projects can follow:
o Predictive models: The scope of the project can be clearly articulated and the
schedule and cost run be predicted.
o Adaptive models: Project are mission driven and components based, using time-
based cycles to meet target dates.
Requirements
• A system cannot be analyzed, designed, implemented and evaluated unless the problem is
understood and requirements elicited.
• Requirements are fundamental basis of all the system development processes.
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
• System architects will always base of the requirements elicited by the system analyst to
design an architectural view of the system. Besides much as the system is designed and
there is need for integration say business process integration, legacy integration, new
systems integration, business-to-business integration, integration of commercial-off-the-
shelf (COTS) products, interface control and management, testing, integrated program
management, integrated Business Continuity Planning (BCP), requirement is the basis.
What are requirements?
• Requirements are statements that identify the essential needs of a system in order for it to
have value and utility.
SPE
Analy
sed
Complet CS
Raw Organise e user
Req’ts d Req’ts Req’t Req’ts
The s
User
Elicitati Organiza
Analysis Prototyp
on tion Transform
Phase
Phase e Phase to spec
Phase
Elicitation Phase
The starting point of the requirements engineering process is an elicitation process that involves a number of
people to ensure consideration of a broad scope of potential ideas and candidate problems
Organization Phase
In this step there is no transformation of the requirements, but simple classification and categorization. For
example, requirements may be grouped into functional vs. nonfunctional requirements.
Analysis Phase
Prototype Phase
In this way poorly understood requirements may be tested and perhaps strengthened, corrected, or refined.
This activity is often done as a proof of concept and serves to induce feedback from both the stakeholders
and engineers.
This represents the requirements as the finished product of the stakeholder requirements team. The
requirements are compiled into a requirements list or into some equivalent document format. These
collected requirements are then transformed into a specification.
Requirements elicitation
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
• Requirements determination addresses the gathering and documenting of the true and real
requirements for the Information System being developed.
• Requirements is the wants and /or needs of the user within a problem domain. elicit
System Requirements
Types of Requirements
User Requirements: these are statements in Natural language plus diagrams of services the system
provides, together with its operational constraints. These can be categorised into 2; functional
requirements and non-functional requirements
Functional requirements
Non-functional requirements
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
System requirements
Functional Requirements
Non-functional requirements
• Define system properties and constraints e.g. reliability, response time and storage requirements.
Constraints are I/O device capability, system representations.
• Non-functional requirements may be more critical than functional requirements. If these are not
met, the system is useless.
Example of NFR
• Interface requirements
• how will the new system interface with its environment?
• User interfaces and “user-friendliness”
• Interfaces with other systems
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
• Performance requirements
• Time - response time
• Throughput - transactions per second
• Security
• permissible information flows
• Or who can do what
• Survivability – e.g. system will need to survive fire natural catastrophes, etc
• Operating requirements
• physical constraints (size, weight),
• personnel availability & skill level
• accessibility for maintenance
• environmental conditions
• Lifecycle requirements
• Maintainability, Enhanciability, Portability, expected market or product lifespan
• limits on development
• E.g. development time limitations, resource availability and methodological standards.
• Economic requirements
• e.g. restrictions on immediate and/or long-term costs.
Requirement Documentation
• There are basically two types of documents realized from the requirements elicitation phase. These
include;
• User Requirements Specification Document
• System requirements specification Document
User Requirement Specification may incorporate the functional requirements of the system or may
be in a separate document labelled the Functional Requirements Specification - the FRS.
The URD has the following
information:
1. Functional Requirements
2. Non-Functional Requirements
• Affinity diagrams
• Force-field analysis
• Pareto diagrams
• Pugh charts
Summary:
Summary
Test
Post
References
https://www.techopedia.com/definition/9614/system-integration-si
https://searchcio.techtarget.com/definition/systems-thinking
https://www.youredi.com/blog/what-is-system-integration
https://headchannel.co.uk/6-steps-of-system-integration-process-321
https://flexberry.github.io/en/gbt_integration-methods.html
https://muele.mak.ac.ug/course/view.php?id=1563
https://www.tutorialspoint.com/software_architecture_design/architecture_techniques.htm
https://www.ou.nl/documents/40554/791670/IM0203_03.pdf/30dae517-691e-b3c7-22ed-
a55ad27726d6
Reference Book:
SOUTHERN LEYTE STATE UNIVERSITY
COLLEGE OF COMPUTER STUDIES
AND INFORMATION TECHNOLOGY
Sage A.P. and Rouse, W.B. Handbook of Systems Engineering and management, John Wiley & Sons,
1999.