Lesson 5: Software Architecture
Lesson 5: Software Architecture jib18Lesson Overview
Lesson Overview azs2In this module, you will be writing the system requirements for your design including a detailed explanation of the GIS hardware, GIS software, network resources, and Database Design requirements.
Additionally, you will write the enterprise limitations for your design, including the interoperability of the design within an enterprise and cloud system. You will research the enterprise performance considerations, maintenance considerations, and security considerations for your users, to ensure that the users are aware of the limitations of the design.
This module will culminate with a table outlining the hardware and software requirements, an example relational (or simple) database, and an explanation of the enterprise limitations and requirements.
Objectives
At the successful completion of this lesson, students should be able to:
- Research and describe the computer hardware and software requirements for your design
- Develop a relational or simple database table
- Describe the network requirements
- Describe the enterprise performance, maintenance, and security considerations and limitations for the geospatial design
Assignments
| Step | Activity | Directions |
|---|---|---|
| 1 | Work through Module 5 | You are in the Lesson 5 online content right now. Be sure to carefully read through the online lesson material. |
| 2 | Assignment |
Write the systems and enterprise requirements for your design
|
| 3 | Technology Training | Complete the “The Systems Approach to ArcGIS: An Introduction” ESRI Academy Training |
Questions?
Please use the Discussion Forum to ask you classmates for additional suggestions as you are drafting your research questions. You can feel free to email me and I will strive to respond within 48 hours. I am also available for a phone call or zoom meeting upon request.
Computer Hardware
Computer Hardware azs2In this module, you will be identifying the necessary hardware to run your design; even web designs must use a computer or mobile device to view the geospatial platform, therefore, requiring the minimum hardware requirements. Therefore, the readings and content information in this module will provide the basic understanding necessary to research the system infrastructure necessary for your design.
RAM: Random Access Memory
This type of memory is “volatile” meaning it can only retain memory while its powered. RAM sizes can range from 4GB, 8GB, 16GB, 32GB, and 64GB. The larger ram will increase performance on large software.
For example, a Google Chromebook, which has minimum computer system architecture – just enough to access the internet and performance basic functions, has as little as 2-4 GB.
However, ArcGIS Pro Desktop requires a minimum of 8GB RAM but recommends 32GB, with 64GB or higher increasing performance even more.
CPU: Central Processing Unit
The CPU carries out the instruction in the software and can directly access main memory. It is usually on a processor circuit. A processing circuit is a closed loop that connect multiple processing cores. A core is a smaller CPU that can execute instructions, but a processor circuit connects multiple cores to increase performance.
For example, a common PC processor circuit is the Intel Core i7 processor (4 cores). However, Mac processors uses a System on a Chip (SoC) architecture, which combines multiple components into a single chip. As of the writing of this module content, apple has the M1 Chip, which has 8 cores – 4 high performance cores and 4 high efficiency cores. Apple can also use an intel based processor system, but research shows the M1 chip uses less energy, is faster, and has greater performance.
More cores increases performance, since it provides more functionality for the computer to implement the “instructions” from the RAM.
For example, a google chromebook has an Intel Core i3 processor (usually 2 cores). ArcGIS Pro can function on a minimum of 2 cores, however, it is recommended to have a 4-10 core processor for better performance.
Secondary Storage: Hard Drive and Solid-State Drive
Hard drives store data using magnetism on a spinning platter, whereas solid state hard drives store data using electrical charges in nonvolatile memory cells. SSDs are faster, quieter, and more resistant to mechanical failure, since they don’t have moving parts.
When a computer and/or program is powered on, the computer loads data from secondary storage to the RAM. Additionally, any time a user downloads data, documents, etc, all the information is held on the secondary storage (unless its downloaded to a server).
Higher secondary storage simply means you can download more information, but it shouldn’t effect performance. Most basic computers (chromebook and/or mobile devices) have 64 GB of space. ArcGIS requires 32GB or more to download the software, however, more would be needed to download accessible data.
References:
Computer Software: Operating Systems
Computer Software: Operating Systems azs2Operating systems provide an interface between hardware and other software. Operating systems allows a computer to run multiple programs in parallels, ensuring that each program can share time of the processor and share system resources. An operating system can be thought of as a layer of code between hardware and applications (see “How Computers Really Work”).

There are currently 2 types of operating systems: Unix like operating systems (MacOS, iOS, Unix, and Android) and windows. ArcGIS Pro is Windows specific, and is not MacOS compatible. Due to the Windows specificity, ArcGIS Pro also requires Microsoft .NET Desktop Runtime, which allows a workstation to run existing windows desktop applications.
Obviously, most ArcGIS Online, as well as open source WebApps and Mobile apps can be accessed from any recent Mac or Windows operating systems.
Read up on ArcGIS System Requirements.
References:
Databases
Databases azs2You will be developing a prototype of the database for your design, which includes at a minimum, several of the tables your design will use including the fields and records/rows of the data the design is visualizing. Much of the information below may be familiar from GEOG 484.
A database is a collection of related tables stored and organized in a system that allows for additional analyses, querying, and filtering, etc. Each table contains fields, which are the columns of the database, and contain information about a subject. Each field consists of multiple records (e.g. specific data points).
In a relational database, tables are organized by subjects. In order to relate tables in a relational database, the tables need to have common fields between the tables, in order to “match” the tables. The similar fields are called key fields.
| Field 1 | Field 2 | Field 3 | Field 3 |
|---|---|---|---|
| Record 1 | |||
| Record 2 | |||
| Record 3 |
In the example below, notice how the key fields contain uniquely identifying information regarding employee number, which can be used to relate the two tables (Timoshenko).

Figure 2: A relational database, which contains two tables with "key" fields that can be used to connect the tables. Screen Capture by Brandi Gaertner
The image consists of two tables related by Employee Number data:
Table 1: Employee Information
This table lists employee details:
| Last Name | First Name | Employee Number | Address | Job Title | Wage |
|---|---|---|---|---|---|
| Evans | Mark | 04-234 | 21 Elm St. | Researcher | $10.00 |
| van Druemel | Terry | 07-456 | 45 Jalan Merdeka | Supervisor | $12.00 |
| Nagase | Yoshi | 01-637 | 87 Jalan Sempur | Secretary | $7.00 |
| Cooper | Charlotte | 04-734 | 29 Spagnum St. | Researcher | $10.00 |
| Evans | Michelle | 03-346 | 21 Elm St. | Accountant | $9.00 |
Table 2: Work Hours Information
This table lists details of employee hours:
| Record Number | Employee Number | Week | Hours |
|---|---|---|---|
| 1 | 04-234 | 02/02/98 | 35 |
| 2 | 07-456 | 02/02/98 | 35 |
| 3 | 01-637 | 02/02/98 | 42 |
| 4 | 04-734 | 02/02/98 | 28 |
| 5 | 03-346 | 02/02/98 | 35 |
| 6 | 04-234 | 09/02/98 | 35 |
| 7 | 07-456 | 09/02/98 | 35 |
| 8 | 01-637 | 09/02/98 | 42 |
| 9 | 04-734 | 09/02/98 | 28 |
| 10 | 03-346 | 09/02/98 | 35 |
Key and Relationship Between Tables
The data in the two tables are related by Employee Number:
In Table 1: The Employee Number column serves as a unique identifier for each employee.
In Table 2: The Employee Number column links to the Employee Number column in Table 1, and establishes which employee's hours are recorded in each row for this table.
An arrow in the image visually represents this link between the two tables.
Your Turn:
For your database, create a relational table which will be used to add data to your geospatial design, including the key fields, and the arrows connecting the key fields, to visualize how the relational databases can be related/joined.
References:
Timoshenko, G. Introduction to Relational Database Management Systems. Database Management and Analytical Techniques for Agricultural Planning: A Course Manual, 19.
Enterprise Systems
Enterprise Systems azs2Enterprise system define how software, data, technology and people use workflows within a design context. Enterprise systems can be a set of technologies that communicate across a cloud/server or a set of technologies/designs in which multiple people in a team work together to import, extract, and analyze data.
Figure 1 below shows the interconnected system in which the technology, software, data, and others communicate in a well-functioning enterprise system. You will also see this image in the “The Systems Approach to ArcGIS: An Introduction” technology lesson.
Enterprise systems can function in a variety of ways including local or federal government, mobile application solutions, and data hubs. Local and federal government projects rely on enterprise systems to allow multiple technologies and people are communicating. Similarly, single mobile apps (for example Survey 123) communicates with the ESRI ArcGIS Online enterprise systems to store, transfer, and analyze data. Finally, data hubs require cloud servers, which are themselves usually an interconnected system that allows for the upload, download, and storage of data.
Lesson 5 Reading Assignment
Lesson 5 Reading Assignment azs2The readings this week will cover basic computer hardware, software, and database structures in order for you to develop your own system requirements.
Read
Choose "SIGN IN" at the top right of the screen, in the "email address" box type in your PSU email, click "continue". It should say "I'm with: Pennsylvania State University", click "Sign in with SSO", then you should be directed to the chapter above.
Chapter 7: Computer Hardware
Think About
Chapter 7 will introduce you to basic computer hardware including RAM, CPU, and Hard Drives. Every design (even online and web designs) requires basic computer architecture. This reading and the module content will describe the requirements to run web designs as well as ArcGIS Pro Desktop designs. While you’re reading, consider what is required for your own design in terms of Computer Hardware.
Read
Choose "SIGN IN" at the top right of the screen, in the "email address" box type in your PSU email, click "continue". It should say "I'm with: Pennsylvania State University", click "Sign in with SSO", then you should be directed to the chapter above.
Chapter 10: Operating Systems
Think About:
Chapter 10 will introduce you to the different operating systems including iOS and Windows, and the features of the different types of operating systems. The module content also introduces you to which operating systems are best for Web designs, FOSS designs, and ArcGIS Pro Desktop designs.
Read:
Think About:
This article introduces you to the basic design requirements for a relationship database management system, including how to design tables and how to join/relate table based on key fields. While you’re reading, consider how you will develop your own database design tables, and while key field(s) you’ll use.
Term Project: System Architecture
Term Project: System Architecture azs2At this point in the course project, the project’s goal has been expressed, turned into a preferred design concept as the basis for development, and transformed into a set of requirements. The next step is to develop an architecture (or an update to an existing architecture for fielded systems) to guide design and development. This architecture is the fundamental organization of the system. In a sense, the system architecture describes the potential to meet user expectations and how the major components satisfy important design requirements. It is also an opportunity to highlight novel features to show their potential to outperform competing products.
A system architecture concerns itself with the GIS software, the hardware, network resources, databases, and the people who build, maintain, and use these systems. An Enterprise GIS is the implementation of GIS infrastructure, processes and tools at scale within the context of an organization. This week, you will be describing the basic components of the system architecture and enterprise GIS framework of your GISystem Design, including the following:
- Architecture Components
- GIS software: Operating System (Mac, Windows, mobile devices); Internet browsers; server information (if applicable)
- GIS hardware: CPU speed; processor platform; RAM/memory; Storage; Screen resolution; Graphics
- Network Resources: WiFi speed; cellular connectivity speed; Network limitations
- Database Design and Requirements (data organization and storage, etc.): A table design of your database with pivot tables
- Enterprise GIS components
- Performance Considerations: Server storage space limitations (or cost for additional space); upload size limitations; download speed limitations
- Maintenance Considerations: A maintenance schedule (preferably as a table, by month).
- Security Considerations: cybersecurity options (login requirements, updates, username authentication, etc.)
Once you are ready, move onto the Lesson 5 Term Project: System Architecture.