The Software Development Process

We will avoid any in-depth discussion of how software is developed, and instead encourage you to seek out a textbook on software engineering practices. In many cases, software is developed by some orderly, perhaps iterative, progression through the following activities:

  • Requirements analysis What the software needs to do

  • Design Planning out the pieces of the program and considering how they will interact

  • Implementation Expressing the design in software source code

  • Testing Ensuring that the implementation meets the requirements

  • Operation and support Deployment of the software to end-users and support of the product in end-user hands

Problems generally creep into the software during any of the first three phases. These ...

Get Gray Hat Hacking, Second Edition, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.