M01 - Developing System Infrastructure Design Plan
M01 - Developing System Infrastructure Design Plan
M01 - Developing System Infrastructure Design Plan
SERVICING LEVEL-IV
Based on November 2023, Curriculum Version - II
November 2023
Addis Ababa, Ethiopia
Contents
Acknowledgment........................................................................................................................................iii
Acronym......................................................................................................................................................1
Introduction to module...............................................................................................................................2
Module Instruction......................................................................................................................................2
Self-check 1...............................................................................................................................................22
Self-Check2................................................................................................................................................29
Self-test 3..................................................................................................................................................34
Self-test 4..................................................................................................................................................39
Reference..................................................................................................................................................40
Acknowledgment
In this module, introduces Trainees to the foundational concepts and experience in system function and
business requirement. This module aims to provide the basic theory, concepts in logical and physical
topology, identifying project gaps and Specifying Architecture Requirementsinstallation and configuration
of internet Infrastructure based on user requirements.
Module units
Identifying critical principles, functions and framework of System
Organizing business requirement functions
Identifying operational environment support
Refining system topology model, templates and standards
Utilizing project architecture development
The word system is widely used. It has become fashionable to attach the word system to add a
contemporary flair when referring to things or processes. People speak of exercise system, investment
system, delivery system, information system, education system, computer system etc. System may be
referred to any set of components, which function in interrelated manner for a common cause or objective.
Definition of System
Page 3 of 45 Author/Copyright: Version - 1
Hardware and Networking Service Level- III
Ministry of Labor and Skills November, 2023
The term system is derived from the Greek word systema, which means an organized relationship among
functioning units or components.
A system refers to a collection of interconnected elements or components that work together to achieve a
common purpose or function. These elements can be physical components, such as machinery or organs,
or they can be abstract entities, such as processes or rules. Systems can range from simple to complex, and
they can exist within various domains, including engineering, biology, sociology, and computer science.
The behavior of a system often depends on the interactions among its components, as well as on
external factors and inputs. Understanding systems is crucial for analyzing, designing, and optimizing
various processes and structures in both natural and artificial contexts.
A system exists because it is designed to achieve one or more objectives. We come into daily contact with
the transportation system, the telephone system, the accounting system, the production system, and, for
over two decades, the computer system.
Similarly, we talk of the business system and of the organization as a system consisting of interrelated
departments (subsystems) such as production, sales, personnel, and an information system. None of these
subsystems is of much use as a single, independent unit. When they are properly coordinated, however,
the firm can function effectively and profitably.
A system is a group of interrelated components working together towards a common goal, by accepting
inputs and producing outputs in an organized transformation process. The interrelated components, which
are systematically arranged to form a system, are called subsystems. In simple words, system is a set of
elements which operate together to accomplish an objective. Systems may be physical, like the sun
and its planets; biological like the human body; technological, like an oil refinery; and socio-economic,
like a business organization.
A system is an organized collection of parts (or subsystems) that are highly integrated to accomplish an
overall goal. The system has various inputs, which go through certain processes to produce certain
outputs, which together, accomplish the overall desired goal for the system. So a system is usually made
up of many smaller systems, or subsystems.
System can be defined as a group of interrelated or interacting elements forming a unified whole. It
may be either physical or abstract.
Types of systems
The frame of reference within which one views a system is related to the use of the systems
approach for analysis. Systems have been classified in different ways. Common classifications are:
Physical or abstract,
Open or closed
“man – made” information systems.
Physical or abstract systems
Physical systems are tangible entities that may be static or dynamic in operation. For example, the
physical parts of the computer center are the officers, desks, and chairs that facilitate operation of
the computer.
They can be seen and counted; they are static. In contrast, a programmed computer is a dynamic
system. Data, programs, output, and applications change as the user’s demands or the priority of
the information requested changes.
Abstract systems are conceptual or non-physical entities. They may be as straightforward as
formulas of relationships among sets of variables or models the abstract conceptualization of
physical situations.
A model is a representation of a real or a planned system. The use of models makes it easier for
the analyst to visualize relationships in the system under study. The objective is to point out the
significant elements and the key interrelationships of a complex system.
Open or Closed Systems
Another classification of systems is based on their degree of independence. An open system has many
interfaces with its environment. It permits interaction across its boundary; it receives inputs from and
delivers outputs to the outside. An information system falls into this category, since it must adapt to
the changing demands of the user.
Systems Models
A system topology model is a graphical representation of the components and connections that make
up a system .
It is used to illustrate the structure of a system and how its components interact with each other.
In the context of a system infrastructure design plan, a topology model can be used to show the
physical and logical layout of the system’s hardware, network, and software components .
The model can help identify potential bottlenecks, optimize performance, and ensure reliable
communication between devices
The analyst beings by creating a model of the reality (facts, relationships, procedures, etc.) with which
the system is concerned.
Every computer system deals with the real world, a problem area, or a reality outside itself. For
examples, a telephone switching system is made up of subscribers, telephone handsets, dialing,
conference calls, and the like. The analyst beings by modeling this reality before considering the
functions that the system is to perform.
Various business system models are used to show the benefits of abstracting complex system to
model form.
The major models are schematic, flow, static and dynamic system models.
Characteristics of a System
Our definition of a system suggests some characteristics that are present in all systems:
organization (order), interaction, interdependence, integration and a central objective.
Organization
Organization implies structure and order.
It is the arrangement of components that helps to achieve objectives.
In the design of a business system, for example, the hierarchical relationships starting with the
president on top and leading downward to the blue collar workers represents the organization
structure..
Interaction
Analysts structure their investigation by seeking answers to these four major questions:
What is the basic business process?
What data are used or produced during that process?
What are the limits imposed by time and the volume of work?
What performance controls are used?
Why do we need Requirements?
To ensure a software solution correctly solves a particular problem, we must initially fully
understand the problem that needs to be solved, discover why the problem needs to be solved and
determine who should be involved.
Types of Requirement
User requirements
Statements in natural language plus diagrams of the services that the systems provide and
its operational constraints.
Written for customers
Should describe functional and non-functional requirements so that they are
understandableby systemuserswho don’thave detailedtechnicalknowledge
System requirements
For example, requirements that state that a system must have the ability to search for available
inventory or to report actual and budgeted expenses are functional requirements.
Functional requirements flow directly into the creation of functional, structural, and behavioral
models that represent the functionality of the evolving system.
External requirements which arise from factors which are external to the system and its
development process, e.g. interoperability requirements, legislative requirements etc.
System requirement identification is important to help the customer and developers define and
understand what will be involved in the system.
These requirements are capabilities or conditions as stated by the customers, users, and
stakeholders.
Requirements can be functions, constraints, or other properties that must be provided, met, or
satisfied so that the needs are filled for the systems intended users.
Requirements are the conditions that must be met for a system product to be acceptable to its
customers, users, and stakeholders.
Requirements can be totally new for an IT systems development project, or requirements can be
for improving an existing IT system.
This improvement can be possible by changing requirements in the existing system, enhancing
the existing requirements, or correcting requirements to solve a problem in the existing system.
This process involves determining, defining, and specifying requirements before analyzing them.
Requirement Determination
Determining what is desired involves subprocesses, such as the customer defining the
requirements and the system developer learning those requirements.
The customer must state requirements clearly, rigorously, and precisely before proceeding to other
system development phases.
The following questions are important in requirement determination:
Who determines exactly what the requirements are?
Does the customer know exactly what the requirements are?
Does the IT project manager know exactly what the requirements are?
Do the system developers know exactly what the requirements are?
Do the system testers know exactly what the requirements are?
Importance of a Good Requirement
A good requirement is an agreement among the customers, users, stakeholders, and system
developers. A study by the Standish Group in 1997 showed that American companies spent $100
billion for canceled software projects. Another $45 billion was spent on software projects that
significantly exceeded their time and budget estimates.
The Standish Group and other studies indicate the following top three reasons why software
projects fail:Requirements and specifications are incomplete. Requirements and specifications are
changing too often. The project has a lack of user input.
A good requirement should use imperative phrases in the requirement specification.
Imperative phrases command that something must be provided.
Shall means prescribes and is used to dictate the provision of a functional capability
Will means describes and is used to cite things that the operational or developmental
environments are to provide to the capability being specified.
The organizations web site shall provide the customers and the public with accurate, timely, and relevant
information on the missions and functions of the organization.
The web site shall contain a clearly defined purpose that supports the mission of the organization
and achievements.
The web site shall be developed in accordance with the organizations management policy.
The web site shall be maintained continuously with current data, updated at least biweekly
The point of contact for this requirement shall be a member of the organizations web site working
group and performs tasks as directed by the working group chairperson.
The Requirements Document
Official statement of what is required of the system developers
Should include both a definition and a specification of requirements
Should:
specify external system behavior
specify implementation constraints
be easy to change (but changes must be managed)
serve as a reference tool for maintenance
recordforethoughtabout thelife cycleof the system (i.e. predictchanges)
characterize responses to unexpected events
It is not a design document
it should state what the system should do rather than how it should do it
Business requirement
A Business Requirements Document is the document used in complex projects to define what
needs to be done or altered in order to meet some business objective.
It also documents what will, or will not, be included in the project and a certain amount of detail
about risks, assumptions, training and quality measures.
Page 13 of 45 Author/Copyright: Version - 1
Hardware and Networking Service Level- III
Ministry of Labor and Skills November, 2023
But it must also detail what the user needs to do to fulfil their role and deliver the business
objective and how they will perform their tasks.
So it is necessary to include details in the Business Requirements Document about the features and
functions that are required to deliver the project successfully.
Business Requirements Document. There will be additional functional and technical specifications
that cover in detail any changes to software or machinery or product composition.
However, it is necessary that the end-users know what the new system will do, how they will use it
and how it will look and feel to a certain extent.
This is why the functional and non-functional requirement sections of the Business Requirements
Document are necessary.
What does a business requirement include?
A business requirement can include:
Key objectives and identification of a problem.
Benefits of the proposed solution.
Project scope.
Rules, regulations, and policies.
Key features of the project. This can include what will the facilities project offer to the users.
Performance and security features.
Metrics to measure the success of the project.
Even within the lines of a single manufacturer, there are many different models and configurations
from which to select.
How then does the analyst determine which system to use when a new computer is to be acquired?
The starting point in an equipment decision process is the size and capacity requirements.
Software infrastructure, also known as software architecture or application infrastructure, refers to the
collection of software components, frameworks, tools, and services that support the development,
deployment, operation, and maintenance of software applications.
It provides the foundation for building and running software systems efficiently and reliably.
Operating Systems: An operating system is fundamental software that manages hardware resources
and provides essential services for other software applications.
Database Systems:Database management systems (DBMS) store, organize, and manage data.
Common types include MySQL, PostgreSQL, Oracle, and Microsoft SQL Server.
Development Tools:Integrated Development Environments (IDEs), code editors, compilers, and
debugging tools facilitate the creation of software applications.
Programming Languages:Various programming languages (e.g., Java, Python, C++, JavaScript) are
used to write code and develop applications.
System topology model
System topology in computer networks refers to the physical or logical layout of network devices
and the interconnection between them.
The physical topology refers to the actual layout of the devices and cables, while the logical
topology refers to how data flows in the network.
There are several types of physical topologies, including bus, ring, star, mesh, tree, and hybrid
topologies.
Logical topologies include point-to-point, point-to-multipoint, client-server, and peer-to-peer
topologies.
Each topology has its own strengths and weaknesses, and the choice of topology depends on the
specific needs of the network.
For example, a bus topology is simple and inexpensive, but it can be slow and unreliable. A mesh
topology is highly reliable, but it can be complex to manage.
Logical topologies are often used in conjunction with physical topologies to create a complete
network design.
When you’re doing a gap analysis, you’re really asking yourself a few questions: Where are we now,
where do we wish we were and how are we going to get there? So, it’s not merely a picture but a roadmap
to improve production.
There are four basic technic that you take when conducting a gap analysis. They can be boiled
down to the following.
Identify Current State
The first step is knowing where you are at the present time. So, be clear as to what is being
described and what is not.
This will avoid scope creep and keep your analysis focused.
Then comes collecting contextual information. That means collecting qualitative information, such
as what are your team processes and methodologies.
Identity Where You Want to Go
The point of a gap analysis is to figure out where you want to go and if you’re getting there. This is
the desired state, future target or stretch goal.
To get there you need to know about your current state and what a reasonable timeframe is to get
from there to the goal you’ve set for yourself.
Identify the Gaps
You know where you are and where you want to go, the space between those two marks is the gap
you must bridge to reach your target.
This is when you want to figure out why there is a gap.
To do that you need to be very specific about the gap. Also, dig deeper and determine why the gap
happened.
The technique of modeling requirements and solutions as they change through collaborative work
and cooperation is known as Requirements Modeling.
You may ensure that your team satisfies the stakeholders’ exact requirements by employing this
approach of cross-functional, self-organizing teams.
Requirements Modeling is a process of documenting, analyzing, and managing Requirements.
Requirements change throughout the project, so it is important to have a way to track them and
make sure everyone understands them.
There are many tools and courses available to help you with Requirements Modeling.
Requirements modeling will improve the clarity of your requirements. This may have a profound
influence on the success of your software projects.
The following are some of the most significant advantages of adopting modern requirements
modeling and management systems:
Creating simulations is a breeze
Automatic document generation
Automatics Test Conduction
Easy integration with development and testing tools
Requirements Modeling is important because it helps to ensure that the Requirements for a project
are well understood by everyone involved.
It also helps to identify any potential risks or problems early on in the project, which can save time
and money later on.
If you want to achieve quick, consistent, and continuous software delivery, then requirements
modeling is key.
Even though this process might not give you clear-cut solutions, it will provide you with a reliable
guide for the end product.
This way, your development team will have a stronger comprehension of the product and how to
develop it.
There are many different tools that can be used for Requirements Modeling, depending on the
needs of the project.
Some of the most popular requirements modeling tools include
Use Cases
A use case is a description of how a user will interact with the system to achieve a specific
goal.
Use cases can be used to capture functional requirements.
Use cases depict the high-level functionalities that the system should be able to perform.
User Stories:
A user story is a short, simple description of a feature from the perspective of the user.
User stories can be used to capture both functional and non-functional requirements.
A process flow diagram shows how tasks are performed in a process. Process flow
diagrams can be used to capture both functional and non-functional requirements.
Activity Diagram
This approach is used to address the whole business process or system process which may
be appropriate for all sorts of users depending on the requirement’s being functional and
the type being fundamental.
Sequence Diagram
This is more relevant for a technical user, especially when many processes are underway.
It visualizes how processes or objects interact during a scenario and depicts this in a
graphical way.
This approach adds additional value to technical users since it can help them get down to
specific technological specifications.
During the development phase, this technique is the most popular method for requirement
reference, owing to its usefulness.
Requirements Modeling Elements
Reference
1. "The Practice of System and Network Administration" by Thomas A. Limoncelli, Christina J.
Hogan, and Strata R. Chalup
2. "Designing Data-Intensive Applications" by Martin Kleppmann
3. "Site Reliability Engineering: How Google Runs Production Systems" by Niall Richard Murphy,
Betsy Beyer, Chris Jones, and Jennifer Petoff
4. "Infrastructure as Code: Managing Servers in the Cloud" by Kief Morris:
5. "The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win" by Gene
Kim, Kevin Behr, and George Spafford