code complete chp1 Flashcards
Construction focuses on…?
Coding and debugging but also includes detailed design, unit testing, integration testing, and other activists.
Distinct activists that go into software development, they include…?
- problem definition
- requirements development
- construction planning
- software architecture, or high-level design
- detailed design
- coding and debugging
- unit testing
- integration testing
- integration
- system testing
- corrective maintenance
Construction is also known as…?
Coding or programming. Coding isn’t really the best word, because it implies the mechanical translation of a pre-existing design into a computer language; construction is not at all mechanical and involves substantial creativity and judgement.
Specific tasks involved in construction:
- verifying that the groundwork has been laid so that construction can proceed successfully.
- determining how your code will be tested
- designing and writing classes and routines.
- creating and naming variables and named constants
- selecting control structures and organising blocks of statements.
- unit testing, integration testing, and debugging your own code.
- reviewing other team members’ low-level designs and code have 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.
Important non-construction activities include…?
Management, requirements development, software architecture, user-interface design, system testing, and maintenance. (Each of these activities affects the ultimate success of a project as much as construction)
Construction is a large part of software because…?
Depending on the size of the project, construction typically takes 30 to 80% of the total time spent on a project. ( anything that takes up that much project time is bound to affect the success of the project)
Construction is the central activity in software development because…?
Requirements and architecture are done before construction so that you can do construction effectively. System testing (in the strict sense of independent testing) is done after construction to verify that construction has been done correctly.
Constructions product, the source code, is often the only accurate description of the software, because…?
In many projects, the only documentation is the code itself. Requirements specifications and design documents can go out of date, but source code is always up to date. (It is imperative that source code be of highest quality. )
Construction is the only activity that’s guaranteed to be done, because….?
No matter how rushed or poorly planned a project is, you can’t drop construction. ( it is where the rubber meets the road. Improving construction is thus a way of improving any software development effort, no matter how abbreviated)
Software construction…?
Is the central activity in software development; construction is the only activity that’s guaranteed to happen on every project.
The main activities in construction are…?
Detailed design, coding, debugging, integration, and developer testing (unit testing and integration testing)
The quality of construction substantially affects the quality of…?
The software
In the final analysis, your understanding of how to do construction determines…?
How good a programmer you are.