Diploma in Information Communication Technology (ICT)
Course ContentSystem documentation
Habari Mwanafunzi! Welcome to System Documentation!
Ever tried to assemble a new piece of furniture, like a bed from a shop in Kamukunji, without the instructions? It's chaos, right? You end up with extra screws, a wobbly frame, and a lot of frustration! Well, building a software system without instructions is exactly the same, but a thousand times more complicated.
Think of System Documentation as the ultimate "instruction manual" or the "blueprint" for the ICT project you are building. It’s the story of your system, explaining what it does, how it works, and how to use it. It's not just a boring report you write at the end; it's a vital part of a successful project. Let's dive in and become experts!
What is System Documentation, Really?
System documentation is the collection of all documents and materials that describe a computer system. This includes how it was designed, how it's built, and how to use it. It’s created for everyone involved – the users, the developers who will maintain it later, and even your college examiner!
Image Suggestion: A vibrant, modern illustration of a Kenyan student developer standing confidently in front of two screens. On the left screen is a complex but clear system flowchart. On the right screen is the beautiful user interface of their project (e.g., a SACCO management system). In the background, there are faint outlines of architectural blueprints, connecting the idea of building software to building a house. The style should be colourful and optimistic.
The Two Main Families of Documentation
Documentation comes in two main flavours, each for a different audience. Think of it like a car: there's the manual for the driver and the detailed service manual for the mechanic.
SYSTEM DOCUMENTATION
/ \
/ \
/ \
+------------------+ +----------------------+
| User | | Technical (System) |
| Documentation | | Documentation |
+------------------+ +----------------------+
| (For the 'Driver') | | (For the 'Mechanic') |
| - How to USE it | | - How it WORKS |
| - Simple Language| | - Technical Details |
| - Tutorials, FAQs| | - Code, Diagrams |
+------------------+ +----------------------+
-
User Documentation: This is for the end-user, the person who will actually interact with your system. It must be clear, simple, and non-technical.
- Example: Imagine you built a system for a local clinic to manage patient appointments. The user documentation would be a simple guide for the receptionist, showing them step-by-step how to log in, book a new patient, and view the doctor's schedule, complete with screenshots. It's the "How-To" guide.
-
Technical Documentation: This is for your fellow developers, system administrators, and anyone who needs to understand the system's inner workings. It's the "How-It-Works" guide.
- Example: For that same clinic system, the technical documentation would include the database schema (the design of your database tables), flowcharts of the booking process, comments in your source code, and instructions on how to set up the system on a new server.
Kenyan Scenario: The M-Pesa EngineerImagine Safaricom hires a new brilliant software engineer today to work on the M-Pesa system. M-Pesa has millions of lines of code written over many years! How does this new engineer start? They don't just guess!
They are given the technical documentation. It explains the system's architecture, the programming languages used, the database structure, and how different parts connect. Without this documentation, it would take them months, maybe even years, to understand anything. Good documentation saves time and prevents catastrophic mistakes!
Why Documentation is Your Project's Superpower
Writing documentation might seem like extra work, but it pays off massively. A well-documented project is a professional project.
- Easier Maintenance: When a bug appears weeks after you've finished, good docs help you find and fix the problem quickly.
- Smooth Handovers: If you get a job and someone else has to take over your project at the college, your documentation makes it possible.
- Better Teamwork: If you work in a group, documentation ensures everyone is on the same page.
- Saves Time and Money: This is a big one! Let's do some simple math.
--- Calculating the Value of Documentation ---
SCENARIO: A critical bug is found in a school's fee payment system.
CASE 1: NO Documentation
- Time for a developer to understand the relevant code: 10 hours
- Time to fix the bug: 2 hours
- TOTAL TIME: 12 hours
CASE 2: WITH Good Documentation
- Time for a developer to read the docs & find the relevant code: 2 hours
- Time to fix the bug: 2 hours
- TOTAL TIME: 4 hours
CALCULATION:
Time Saved = Time_Without_Doc - Time_With_Doc
Time Saved = 12 hours - 4 hours = 8 hours
If the developer's time costs KES 1,000 per hour:
Cost Saved = Time Saved * Hourly Rate
Cost Saved = 8 hours * 1000 KES/hour = KES 8,000
By simply writing good documentation, you saved the school 8,000 shillings for just ONE bug!
A Practical Example: Documenting a Piece of Code
Even small pieces of code need documentation. This is often done using comments directly in the code. Let's imagine a simple function for a point-of-sale (POS) system in a small duka.
# A simple Python function to calculate the total price including VAT.
def calculate_final_price(item_price, quantity):
"""
Calculates the total cost for an item, including 16% VAT.
Args:
item_price (float): The price of a single item.
quantity (int): The number of items being purchased.
Returns:
float: The final total price rounded to 2 decimal places.
"""
# Define the VAT rate as a constant (e.g., 16%)
VAT_RATE = 0.16
# Calculate the subtotal before tax
subtotal = item_price * quantity
# Calculate the VAT amount
vat_amount = subtotal * VAT_RATE
# Calculate the final price
final_price = subtotal + vat_amount
# Return the final price, rounded to make it neat for the customer
return round(final_price, 2)
See? The comments (lines with '#') and the text inside the `"""..."""` block explain what the function does, what inputs it needs (its 'Args'), and what it gives back (its 'Returns'). This is simple but powerful technical documentation!
Your Turn to Shine!
As you build your Module 3 project, don't leave documentation until the last minute. Think of it as telling the story of your creation as you build it. Create a folder for your documentation and start writing down your designs, your user guides, and commenting your code from day one.
A great project with no documentation is like a brilliant idea whispered into the wind – it gets lost. A great project WITH great documentation is a legacy that others can use, learn from, and build upon.
You've got this! Sasa, wewe ni mtaalamu! Go and document your amazing project.
Pro Tip
Take your own short notes while going through the topics.