My Takeaways, are a collection of information and concepts that I learn through books, programming, and work experiences. In some cases these posts will be just my personal notes. While they may not give you the audience much pleasure in reading, they will serve as my digital resource library.
The Software Construction section will extract information from the book Code Complete by Steve McConnell. This book is still one of the most regarded books on this subject. As these notes are coming from the fore-mentioned book credit is given to the author.
What is Software Construction?
Software Construction is the discipline that covers the creation of working, meaningful software.
Some of the specific tasks involved in construction are :
- Insure groundwork has been completed.
- Determine how code will be tested.
- Designing and writing classes and routines
- Creating and naming variables and named constants
- Selecting control structures and organizing blocks of statements
- Unit testing, integration testing, and debugging your own code.
- Reviewing other team members’ low level designs and code and having them review yours.
- Polishing code by carefully formatting and commenting it.
- Integrating software components that were created separately.
- Tuning code to make it faster and use fewer resources.
Why is Software Construction Important?
- Construction is a larger part of software development
- Typically takes 30 to 80 percent of the total time spent on a project
- Construction is the central activity in software development
- Requirements and Architecture are done first, with testing done at the end.
- With a focus on construction, the individual programmer’s productivity can improve enormously.
- Study by Sackman, Erikson, and Grant showed that the productivity of individual programmers varied by a factor of 10 or 20 during construction.
- Construction’s product, the source code, is often the only accurate description of the software.
- In many projects, the only documentation available to programmers is the code.
- Requirements and design documents can go out of date, but the source code is always up to date.
- Construction is the only activity that’s guaranteed to be done.
- No matter how rushed or poorly planned a project is, skipped requirements/design and dropped testing, you can’t drop construction.