Once we have the requirements written down we can proceed to make some design decisions about how to implement them. Each design decision must attempt to solve some problem stated in the requirements list.
Because this is not a massive project, there is no need to create a formal design document; the same informal list of statements should suffice here.
So based on the requirements we can make the following decisions about the application development and structure:
• The application is going to be web based.
• It will run on a dedicated web server and will be accessible by anyone in the organization from their web browser.
• The application will be written in Python and will use the Django framework.
• Implementation is split into two phases: basic IP allocation and reservation functionality, and integration with DHCP. We'll tackle the first phase in this chapter and move on to DHCP integration in Chapter 4.
This is it; even as short as this list is, it ensures that we're not going to deviate from the decisions we made initially, and if we really need to make some variation, that will be recorded. The list here mainly represents the nonfunctional aspects of design; we'll get to more specific details in the following sections. Formally this should constitute a detailed design document, but I am only going to describe two things: what data our application is going to operate on, and what the application will do with that data.
Was this article helpful?