4. Coding and Debugging
• Programming is composing a sequence of statements,
called code, which can be executed by a computer to
solve a data processing problem. Coding is translating
the detailed design of the product into a series of
statements. The design specifications are translated
into codes in the implementation phase.
• It is relevant to consider:
– Guideline to write programming statements with clarity,
efficiency and low cost
– Code testing and implementing
– Selecting criteria for a suitable programming language
– Style rules to produce a good code
– Types of languages suitable for writing a program
29.12.2020 Intro Comp SWE 4
5. Coding Quality
• The most important qualities of a well-written
code are likely be the following:
– Readability, Understandability, and Comprehensibility
(RUC)
– Logical structure
– Robustness
– Efficiency
• Good development platform / programming
environment provides grounds for quality coding.
• One should use at least a code editor suitable for
the programming language intended to be used.
29.12.2020 Intro Comp SWE 5
6. Debugging Process
• The debugging process consists of six steps:
– Information gathering
– Fault location
– Confirmation
– Documentation
– Fault removal
– Retesting / verification.
• Good development platform / programming
environment provides facilities for debugging
process.
29.12.2020 Intro Comp SWE 6
7. Prog Language Characteristics
• Clarity of source code
• Complexity management / architecture support
• Concurrency support
• Distributed system support
• Maintainability
• Mixed language support
• O-O programming support
• Postability
• Real-time support
• Reliability
• Reusability
• Safety/security
• Standardization
• Support for modern software engineering methods
29.12.2020 Intro Comp SWE 7
8. Readings on C & D
• Read the following sections in the textbook:
– Computer Language, pp. 267-270
– Some Important Languages, pp. 272-276, and
– Coding Style, pp. 276-277
• How to code for beginners: All you need to
know:
– https://www.bitdegree.org/tutorials/how-to-
code-for-beginners/
29.12.2020 Intro Comp SWE 8
9. Software Testing
• The objectives of testing a system is to identify all defects
existing in software and remove them to achieve error-free
operation under stated conditions.
• It is important to eradicate errors in a program before
delivery for it will cost much more to do so afterwards.
• Due to changes occurring in the problem domain after
delivery, modification and testing will still be required.
• During analysis, a master test plan is developed: see Table
9.1 for its content.
• During design, a unit test plan, an integration test plan, and
a system test plan are developed.
• During implementation, the actual testing is performed.
29.12.2020 Intro Comp SWE 9
14. Readings on Software Testing
• Read from Dynamic Testing onwards in the
textbook: pp. 293-307
29.12.2020 Intro Comp SWE 14
15. Homework
• Develop an essay defending testing early
rather than delaying it to just prior to delivery
or even after delivery:
– Use the terminology you learned.
– Show that you have grasped the topic of coding
and testing.
– Minimum half a page of length.
29.12.2020 Intro Comp SWE 15
16. These are FYI!
• Software Testing Tutorial (detailed, for
beginners, optional):
– https://www.toolsqa.com/software-testing-
tutorial/
• Top 50 Software Testing Tools in 2021:
– https://www.guru99.com/testing-tools.html
• Final exam:
– Covers all topics considered
– Jan 15, 13:00-15:00 under my supervision.
29.12.2020 Intro Comp SWE 16