Software Engineering

Saturday, 23 July 2011

FSE Module 5 - Software Implementation / Coding

CSEB233 Fundamental of SE , Module 5 Software Implementation / Coding.

 
What is Software construction ?
Software Construction is generally focus at coding, debugging, some detailed design and some testing. Quality of construction substantially affects the quality of the software.

 
Why is software construction important?
This is because construction is the pivotal activity in software development. With a focus on construction, there is a great potential for the average programmer’s productivity to improve.

 
Good programming practices are ?
  • Start with a good design.Update the design documents regularly. Create additional design documents before adding major new features or functionality.
  • The program under development should be at all times functioning. The development process consists of adding new functionality without breaking existing functionality.
  • Work has to be divided into small incremental steps that can be typically accomplished and code-reviewed in one day. Even large-scale rewrites should be made incremental.
  • Every line of code written or modified undergoes peer review. The smallest team must contain at least two programmers so that they can code-review each other's changes.
  • Always attempt to work top-down

 
Defensive Progamming
Defensive programming is when the programmer makes necessary assumptions and creates code that anticipates potential problems and specification changes.

 
Software Reuse
In most engineering disciplines, systems are designed by composing existing components that have been used in other systems.

 
Reuse-based software engineering
  • Application system reuse
  • Component reuse
  • Object and function reuse

 
What are the requirements for Reuse ?
  • It must be possible to find appropriate reusable components.
  • The reuser of the component must be confident that the components will be reliable and will behave as specified.
  • The components must be documented so that they can be understood and, where appropriate, modified.

 
Why do we reuse ? What are the benefits of reuse ?
  • Increased dependability
  • Reduced process risk
  • Effective use of specialists
  • Standards compliance
  • Accelerated development

 
Problems occurs in Reuse ?
  • Increased costs
  • Lack of CASE tool support
  • Not-invented-here syndrome
  • Maintaining a component library can be expensive
  • Finding and adapting reusable components

Personally , coding principles should not be included in Module 5 because coding principles already mentioned in Module 4 and there is no need to repeat since student still have fresh memory about coding principles. This will be waste of time for lecturer to re-teach.

The best method used to study this Module is to understand the meaning of each main topic but not to memorise. Memorise will be harder than to understand the concept since there are too much of theories taught in Module 5. Understand and re-write the meaning of theories is much more easier.

Teh Kok Harng
IS085779

No comments:

Post a Comment