Lecture No 01 SC 23092020 124855am
Lecture No 01 SC 23092020 124855am
Lecture No 01 SC 23092020 124855am
Lecture No. 01
By
RAFIA HASSAN
INTRODUCTION
COURSE OVERVIEW
• What and Why? (Foundations)
• Creating High Quality Code: Design in Construction, Working
Classes, High-Quality Routines, Defensive Programming, The
Pseudocode Programming Process
3
• System Considerations
Course Books
• Code Complete: A Practical Handbook of
Software Construction by Steve McConnell
4
Reference Books
• Software Essentials: Design and Construction
by Adair Dingle, 3rd edition 2014.
5
Software Construction
6
Key Points
• The software construction is linked to all the other
software engineering, most strongly to software design
and software testing.
• 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
8
9
Software Construction Activities
10
11
Software Construction Activities
• 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 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 smaller and faster
13
Minimizing complexity
14
Anticipating change
17
Reuse
Systematic reuse can enable significant software
productivity, quality, and cost improvements.
Reuse has two closely related facets:
19
Why is SC important?
• Construction is a large part of software development
• https://voer.edu.vn/m/software-construction/efbbc46b
21