SECTION 01 / 6

Module 1 · Introduction to Software Development

3 min read
On this page 9 headings

Learning goals: From requirements and design to code, programming environments, frameworks and web templates.

From Design to Development

Requirements describe what people need, interface designs show what users see, and software design describes how the parts fit together. Development turns those plans into a working system. In the Seller Portal example, a team builds features using the requirements and earlier design instead of starting to code without a plan.

Figure 1. From Design to Development.
Figure 1. From Design to Development.
Open image ↗
Illustration: Module 1 · Introduction to Software Development

Remember: Understand the problem and design before turning the design into running code.

What Happens When We Work with Code?

Ways of interacting with code: writing code (development environments, frameworks), sharing and maintaining code versions (version control systems, e.g. Git), and debugging.

Figure 2. Ways of Interacting with Code.
Figure 2. Ways of Interacting with Code.
Open image ↗
Illustration: Module 1 · Introduction to Software Development

Development Environment: Write and Run

A development environment is a combination of tools to write code and run code. Write code: a text editor, e.g. Notepad, Vim, Emacs. Run code: a compiler or interpreter, e.g. Notepad + the Python runtime implementation.

Figure 3. Development Environment: Write and Run.
Figure 3. Development Environment: Write and Run.
Open image ↗
Illustration: Module 1 · Introduction to Software Development

Remember: Writing code and executing code are different jobs.

IDE: Extra Powers for Programmers

An integrated development environment (IDE) provides additional features that make development more effective: syntax checking, finding where a function has been used, and renaming a variable/class name throughout the code base. Examples: Visual Studio Code (VSCode), PyCharm, Thonny.

Figure 4. IDE: Extra Powers for Programmers.
Figure 4. IDE: Extra Powers for Programmers.
Open image ↗
Illustration: Module 1 · Introduction to Software Development

Remember: An IDE makes development easier; the program still needs to be run and tested.

Frameworks: A Helpful Starter Kit

Frameworks bundle common features together, built and maintained by a software development community; they help structure projects so developers can quickly build and maintain the application.

Figure 5. Frameworks: A Helpful Starter Kit.
Figure 5. Frameworks: A Helpful Starter Kit.
Open image ↗
Illustration: Module 1 · Introduction to Software Development

Remember: A framework is a starter structure, not a finished application.

Flask: A Web App Framework

Flask is a web application framework that helps developers quickly start a web application.

Figure 6. Flask: A Web App Framework.
Figure 6. Flask: A Web App Framework.
Open image ↗
Illustration: Module 1 · Introduction to Software Development

Remember: Browser request → Flask application → browser response.

Templates Build Web Pages

A web template separates the page layout from the changing data. One template might describe where product names, prices and images go. The server combines that template with a set of data to render a page for the user. The same template can serve different products without copying the whole HTML layout.

Figure 7. Templates Build Web Pages.
Figure 7. Templates Build Web Pages.
Open image ↗
Illustration: Module 1 · Introduction to Software Development

Remember: Template + data = a rendered page.

Developer Toolbox Recap

Software developers use several kinds of tools together: editors create source files; interpreters or compilers execute or prepare programs; IDEs support editing and navigation; frameworks provide reusable structure; debuggers help find faults; and Git maintains versions and supports collaboration.

Figure 8. Developer Toolbox Recap.
Figure 8. Developer Toolbox Recap.
Open image ↗
Illustration: Module 1 · Introduction to Software Development

Remember: Choose a tool according to the problem it solves.

Quick revision and self-check

Question: What is different about an editor and an interpreter?

Answer: The editor saves source code; the interpreter runs it.

Question: What is a framework?

Answer: A reusable application structure and common features maintained by a development community.

Question: What does a web template do?

Answer: Combines a reusable page layout with changing data.

YOUR STUDY PROGRESS

Finished this section? Save your progress.

Back to top ↑