Module 1 · Introduction to Software Development
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.
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.
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.
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.
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.
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.
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.
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.
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.
