SOFTWARE ENGINEERING / WEEK 07

Develop the software.
Improve the code.

An illustrated guide to development tools, Git, issue tracking, code review, debugging, software metrics, and clean code.

6 study sections68 illustrations0 resources
Begin with software development
Software development toolsFROM DESIGN TO DEVELOPMENT

Study sections

Follow the order or choose a section
01

Module 1 · Introduction to Software Development

Requirements describe what people need, interface designs show what users see, and software design describes how the parts fit together…

8 illustrations
02

Module 2 · Version Control Systems

When different developers change the same application, an accidental defect can enter the code. Version history records earlier states…

20 illustrations
03

Module 3 · Issue Tracking and Code Review

An issue is reported by a developer, tester or user and must be saved and tracked until it is fixed. An issue tracking system manages a…

10 illustrations
04

Module 4 · Debugging

Error = discrepancy between actual behaviour and intended behaviour. Failure = an observable error (incorrect output value, exception e…

13 illustrations
05

Module 5 · Software Metrics

Clean code is easier for team members to understand, easier to test and debug, and easier to maintain or extend later. A program that p…

8 illustrations
06

Module 6 · Writing Clean Code

A code smell is a warning sign that code may be difficult to understand, change or maintain. The program might still run and produce th…

9 illustrations

How to study: Read one short explanation, inspect the matching illustration, then test yourself using the review questions. Figure numbers follow the 01–68 figure sequence.

Week 7 learning route

Figures 01–08: Introduction to Software Development. From requirements and design to code, programming environments, frameworks and web templates.

Figures 09–28: Version Control Systems. How Git records history, how repositories communicate and how teams use branches, merging and rebasing.

Figures 29–38: Issue Tracking and Code Review. How teams report problems, manage issues, review pull requests and collaborate on better code.

Figures 39–51: Debugging. Find and explain faults with input manipulation, logging, tracing, profilers and Python pdb.

Figures 52–59: Software Metrics. Use quantitative measurements of complexity, source lines and comments, alongside qualitative review.

Figures 60–68: Writing Clean Code. Spot maintainability problems and refactor without changing the observable behaviour of a program.