M01 Developing System Infrastructure Design Plan
M01 Developing System Infrastructure Design Plan
November 2023
Addis Ababa, Ethiopia
Contents
Acknowledgment ........................................................................................................................... iii
Acronym ......................................................................................................................................... 1
Self-check 1 .................................................................................................................................. 26
Self-Check 2.................................................................................................................................. 34
Self-test 3 ...................................................................................................................................... 40
Self-test 4 ...................................................................................................................................... 46
Reference ...................................................................................................................................... 47
Acknowledgment
Ministry of Labor and Skills wish to extend thanks and appreciation to the many representatives
of TVET instructors and respective industry experts who donated their time and expertise to the
development of this Teaching, Training and Learning Materials (TTLM)
Acronym
Introduction to module
This module defines the Competence required to Developing System Infrastructure Design Plan
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 Requirements installation
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
Learning objectives of the Module
At the end of this session, the students will able to:
Define the principles, functions and framework of System
Organize business requirement functions
Identify operational environment of hardware, software and Network
Refining system topology model, templates and standards
Utilizing project architecture development
Module Instruction
For effective use this module trainees are expected to follow the following module instruction:
This learning guide is developed to provide you the necessary information regarding the
following content coverage and topics:
Identifying critical principles, functions and framework of System
Organizing business requirement functions
Identifying operational environment support
Hardware
Network
Software
Refining system topology model, templates and standards
Logical Topologies
Physical Topologies
Utilizing project architecture development
Identifying project gaps
Specifying Architecture Requirements
This guide will also assist you to attain the learning outcomes stated in the cover page.
Specifically, upon completion of this learning guide, you will be able to:
Define the principles, functions and framework of System
Organize business requirement functions
Identify operational environment of hardware, software and Network
Refining system topology model, templates and standards
Utilizing project architecture development
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
Interaction refers to the manner in which each component functions with other components
of the system.
In an organization, for example, purchasing must interact with production, advertising
with sales and payroll with personnel.
In a computer system, the central processing unit must interact with the input device to
solve a problem.
In turn, the main memory holds programs and data that the arithmetic unit uses for
computation.
The interrelationship between these components enables the computer to perform.
Interdependence
Interdependence means that parts of the organization or computer system depend on one
another.
They are coordinated and linked together according to a plan. One subsystem depends on
the input of another subsystem for proper functioning: that is, the output of one subsystem
is the required input for another subsystem.
This interdependence is crucial in systems work.
An integrated information system is designed to serve the needs of authorized users
(department heads, managers, etc.) for quick access and retrieval via remote terminals.
Integration
Integration refers to the holism of systems.
Synthesis follows analysis to achieve the central objective of the organization. Integration
is concerned with how a system is tied together.
It is more than sharing a physical part or location.
It means that parts of the system work together within the system even though each part
performs a unique function.
Central objective
Although a stated objective may be the real objective, it is not uncommon for an
organization to state one objective and operate to achieve another.
The important point is that users must know the central objective of a computer application
early in the analysis for a successful design and conversion. Political as well as
organizational considerations often cloud the real objective. This means that the analyst
must work around such obstacles to identify the real objective of the proposed change.
Elements of a System
In most cases, systems analysts operate in a dynamic environment where change is a way of life.
The environment may be a business firm, a business application, or a computer system. To
reconstruct a system, the following key elements must be considered:
Outputs and inputs.
Processor(s).
Control.
Feedback.
Environment.
Boundaries and interface
Requirements play a vital role in the systems development and maintenance processes.
System requirements consist of hardware requirements, software requirements, and
operational requirements.
The IT project manager establishes a process to identify, define, elicit, and understand
system requirements.
The purpose is to establish a common understanding between the customers, users,
stakeholders, and project manager of the requirements that will be completely addressed in
the systems development.
Requirements are descriptions of the services that a software system must provide and the
constraints under which it must operate Requirements can range from high-level abstract
statements of services or system constraints to detailed mathematical functional
specification
Requirement definition is a process. It is difficult to define requirements if they are not
mature enough.
The requirement may only be an idea in the customer’s mind. A customer must write
explicitly his or her requirements.
The primary function of defining requirements is to draw blueprints and document them to
eliminate potential confusion and misinterpretation.
Thus the requirement definition document that the customer produces will ensure that the
system developers understand the customers’ requirements, needs, and objectives.
A requirement is simply a statement of what the system must do or what characteristic it
must have.
During analysis, requirements are written from the perspective of the business person, and
they focus on the “what” of the system.
Because they focus on the needs of the business user, they are usually called business
requirements (and sometimes user requirements).
Requirements in design are written from the developer’s perspective, and they are usually
called system requirements.
Basic Requirements
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.
Poorly defined requirements can cause major problems to a project in both financial terms
as well as added time.
There are specific techniques we may use in the requirements engineering phase which we
shall be considering during the next four lectures.
It may range from a high-level abstract statement of a service or of a system constraint to a detailed
mathematical functional specification
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
Functional 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.
Nonfunctional requirements refer to behavioral properties that the system must have,
such as performance and usability.
The ability to access the system using a Web browser is considered a nonfunctional
requirement.
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 are the conditions that must be met for a system product to be acceptable to
its customers, users, and stakeholders.
The customer and developers must understand the requirements before making a costly
decision of what to build.
Requirement Determination
Determining what is desired involves sub processes, 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
Page 13 of 51 Author/Copyright: Version - 1
Hardware and Networking Service Level- III
Ministry of Labor and Skills November, 2023
Will means describes and is used to cite things that the operational or developmental
environments are to provide to the capability being specified.
Must and must not indicate constraints. Must is often used to establish performance
requirements or constraints.
Should means suggest and is not used as an imperative in requirement specification
statements
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)
Instead the factors, which are to be considered, should be determining equipment size,
capacity needs, financial considerations and acquisition method.
Determining size and capacity requirements with computers ranging in size from small
microcomputers to large mainframe systems, the number of options to choose from when
selecting a system is obviously very large.
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 needs often dictate hardware requirements such as internal memory sizes,
communication ports, disk capacity, and the ability to use magnetic tape.
Vendors are reliable sources of configuration requirements. They can provide information
on the minimum configuration requirements needed to use their software properly.
Trade newspapers and magazines provide regular distribution of information about
hardware and software requirements.
Network Infrastructure
Network infrastructure refers to the hardware and software resources that enable the
connectivity, communication, and management of computer networks.
It is the foundation on which network services, applications, and data are transmitted and
accessed within an organization or between different entities.
Key components of network infrastructure include
Hardware: Routers, switches, firewalls, servers, cabling, and connectivity components.
Network Services: DNS (Domain Name System), DHCP (Dynamic Host Configuration
Protocol), LAN and WAN services.
Security Measures: Firewalls, Intrusion Detection and Prevention Systems (IDPS).
Internet Connectivity: Gateways.
Network infrastructure, which is the foundation of network services, applications, and
data transmission.
The hardware components of network infrastructure include routers, switches, firewalls,
servers, cabling, and connectivity components.
Software
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.
Expandability
Number and location of users
The number of users and the estimated amount of future growth determines the initial
physical and logical topology of the network.
An inspection, called a site survey, should be done early in the project.
A site survey is a physical inspection of the building that helps determine a basic physical
topology.
Create a checklist to record the needs of your customer to determine the physical topology:
Location of users’ computers
Position of network equipment, such as switches and routers
Position of the servers
A floor plan or blueprint is helpful to determine the physical layout of equipment and
cables. The physical layout is often based on available space, power, security, and air
conditioning. The figure shows a typical network topology.
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.
Ask yourself questions that are applicable to your business and answer them honestly.
Bridge the Gap
You’ve done the due diligence, and now it’s time to act. You know why there’s a gap, so
you must now devise a way to close it.
To do this, you can follow the guidelines of basing all improvements on the information
you discovered when you identified the gap.
Architecture requirements are specifications and criteria that define the design and
functionality of a system, software application, or physical structure.
These requirements help guide the development and ensure that the final product meets the
desired objectives.
Self-check 1
Directions: Answer all the questions listed below.
This learning guide is developed to provide you the necessary information regarding the following
content coverage and topics:
Architecture Requirements
Evaluating various products and vendors
Determining best IT solutions
Requirement Capacity against Client Requirements
System and application requirement
This guide will also assist you to attain the learning outcomes stated in the cover page. Specifically,
upon completion of this learning guide, you will be able to:
Define Architecture Requirements
Explain capacity and client’s requirements
Identify system and application requirement
Evaluating products and vendors is a critical process that organizations undertake to make
informed decisions about the technologies and services they invest in.
The evaluation process involves assessing various factors to determine the best fit for your
organization’s needs.
Self-Check 2
Instruction: -Read all questions which given below and you to answer the correct one.
Part I. Say True for the correct or False for incorrect Statements
1.___ Hardware requirements specify the necessary physical components such as CPU,
memory, and storage for a software application to run.
2.___ Software requirements define the capabilities and characteristics that the hardware must
possess to support a particular software application.
3. ___Compatibility issues between software and hardware can lead to performance problems
and system instability.
4. ____Software requirements remain constant throughout the entire lifecycle of a system and do
not change over time
This learning guide is developed to provide you the necessary information regarding the following content
coverage and topics:
Comparing requirement model
Compare technical specifications and acceptance criteria
Compare proposed venders offering
Benchmarking requirement model
Current industry standards and IT blueprint
Expect future organizational requirements
This guide will also assist you to attain the learning outcomes stated in the cover page. Specifically, upon
completion of this learning guide, you will be able to:
Define Requirements Model
Explain Benchmarking requirement model
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
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.
Consequently, both developers and clients can voice any concerns they may have about the
product early on. By using this process from the beginning stages of planning, you can
present both your project stakeholders and customers with a comprehensive blueprint that
is easy to follow.
If Requirements are not well understood, there is a risk that they will not be met. This can
lead to the project being delayed, over budget, or even canceled.
In some cases, it can also lead to legal issues if the final product does not meet the
customer’s expectations.
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.
This approach can only define the scope of a system or procedure, but it can’t help
with detailed impact analysis.
State Diagram
A state diagram is a more detailed approach than a flow chart. Only the various
states of an object that passes through a process flow are depicted in a state
diagram when it comes to the system’s or procedure’s elements, or the process
itself.
This element, according to this viewpoint, cannot be used directly in impact
analysis calculations.
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
Classes – To figure out which classes to take, underline each noun or noun clause in
the text and enter it into the table.
Attributes – Attributes are the data objects that define a class within the context of the
problem. For example, ’employee’ is a class consisting of the name, Id, department,
designation, and salary of the employee.
Operations – The operations describe the actions of a thing.
Page 39 of 51 Author/Copyright: Version - 1
Hardware and Networking Service Level- III
Ministry of Labor and Skills November, 2023
Self-test 3
Instruction: Read the all question properly
Part I: True/False Statements
1. Requirements modeling is a one-time activity in the software development lifecycle.
2. Benchmarking requirement models involves comparing them to industry best practices to
identify areas for improvement.
3. Requirements modeling primarily focuses on documenting the final product features and
functionalities.
4. Benchmarking can be used to assess the performance and effectiveness of different
requirement modeling techniques.
Part II: Choose the correct answer from the given alternatives
1. Which of the following is a key benefit of using formal methods in requirements modeling?
A) Improved communication
B) Flexibility in documentation
C) Ease of implementation
D) Rigorous analysis and verification
2. In benchmarking requirement models, what is the main purpose of comparing against industry
standards?
A) To copy existing practices
B) To identify areas for improvement
C) To prove superiority
D) To ignore best practices
3. What is the main advantage of using use cases in requirements modeling?
A) Simplifies documentation
B) Focuses only on system functions
C) Captures user interactions and scenarios
D) Eliminates the need for testing
Data Collection and Analysis: Gather data on the identified metrics from both your
organization and benchmarking partners. Analyze the data to understand performance
gaps and areas for improvement.
Performance Gap Identification: Compare your organization’s performance against the
benchmarking partners. Identify performance gaps and areas where improvements are
needed.
Best Practices Identification: Examine the practices and processes of benchmarking
partners that contribute to their superior performance. Identify best practices that can
be adapted and implemented in your organization.
Goal Setting and Action Planning: Set realistic and achievable performance
improvement goals based on the benchmarking findings. Develop action plans to
implement identified best practices and improve performance.
Implementation of Changes: Execute the action plans and incorporate the identified
best practices into your organization’s processes. Monitor progress and make
adjustments as needed.
Continuous Monitoring and Feedback: Continuously monitor performance against
benchmarks. Collect feedback from stakeholders and make ongoing improvements to
maintain or enhance performance.
Documentation and Communication: Document the benchmarking process, findings,
and implemented changes. Communicate the results and improvements to internal and
external stakeholders.
Review and Update: Regularly review and update the benchmarking requirement
model to ensure it remains relevant to changing business environments and goals.
Implementing a benchmarking requirement model can help organizations stay competitive,
drive innovation, and achieve continuous improvement.
It is a dynamic process that requires commitment, collaboration, and a focus on learning from
others in the industry or related fields
This learning guide is developed to provide you the necessary information regarding the following content
coverage and topics:
Preparing system infrastructure design plan
Documenting and referring recommendations
This guide will also assist you to attain the learning outcomes stated in the cover page. Specifically, upon
completion of this learning guide, you will be able to:
Describe system infrastructure design plan
Document and refer recommendations
Self-test 4
Instruction: Answer all question properly
Part I Say True or False
1.______ Documenting the system infrastructure is a one-time activity and does not require
updates once completed.
2.________Referring to documentation during the implementation phase is not essential, as the
development team should rely on their expertise.
3.________A system infrastructure design plan typically includes only technical specifications
and does not address non-functional requirements.
Part II Choose the correct Answer
1. Which of the following is a primary purpose of preparing a system infrastructure design plan?
a. Enhancing user experience b. Streamlining project management
c. Providing a blueprint for the technical architecture d. Conducting market research
2. When documenting the system infrastructure, what should be considered a best practice for
ensuring clarity and accessibility?
a. Use highly technical language to cater to technical audiences.
b. Include as much detail as possible to cover all potential scenarios.
c. Organize information logically and use clear, concise language.
d. Avoid including diagrams or visual aids to prevent confusion.
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
6. "The Art of Capacity Planning: Scaling Web Resources" by Arun Kejariwal and John
Allspaw
7. "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert
C. Martin
Organization/
No Name Qualification Field of Study Mobile number E-mail
Institution