Software Implementation / Coding
~ ‘Construction’ refers to the hands-on part of creating something.
~ Also known as implementation / coding and debugging & verification and validation (testing).
~ Generally focus at coding, debugging, some detailed design and some testing (esp. unit testing).
~ Construction may involves:
* Verifying that the groundwork has been laid so that construction can proceed successfully.
* Designing and writing routines and module.
* Selecting and creating data types and naming identifiers.
* Selecting control structures and organizing blog of statement.
* Finding fixing error.
* Reviewing other team members design and code and having them review yours.
* Polishing code - formatting and writing comment.
* Intergrating software component.
* Turning code - make more efficient, smaller and faster.
Coding Principles
* Understand of the problem you're trying to solve.
* Understand a basic design principles and concepts.
* Pick a programming language that meets the needs of the software to build and environment in
which it will operate.
* Select a programming environment that provide tools that will make your work easier.
* Create a set of unit test that will be applied once the component you code is complete.
Good Programming Practice
* Be consistent with formatting.
* Be consistent with naming conventions.
* Use global [identifier] sparingly.
* Dont't assume output format.
* Add comment to your code - explain what and why.
* Provide useful error message.
* Recover (or fail) gracefully.
* Push interface up and implementation down.
* know what u don't know - prepare for changes.
Source: http://relisoft.com/practice.html
Software Inspection
* An old school approach.
* A process to review, analyze and check static system representations such as requirements
document, design document, and program source code to look for errors and problems
* Static - need not run the software on a computer.
* Generally, focus at source code.
* Known as peer reviews or program / code inspection.
Software Reuse.
* In engineering disciplines, system are designed by composing existing component that have been
used in other system.
* SE more focus on original development but it is now recognized that to achieve a better software.
Reuse - Based Software Engineering.
* Application system reuse - application system may reuse either by incorporating without change in
into other systems or by developing application families.
* Component reuse - component of an application from sub-system to a single objects maybe reused.
* Object and function reuse - software component that implement a single well defined function may
be reused.
Requirements for Reuse.
* It must be possible to find appropriate reuseable components.
* The reuser of the components will be reliable and will behave as specified.
* The component must be documented so that they can be understood and where appropriate,
modified.
Benefit of Reuse
* Increase dependability
* Reduce process risk.
* Effective use of specialists.
* Standard compliance
* Accelerated development.
Reuse Development.
* Increased costs.
* Lack of case tool support.
* Not - invented - here syndrome
* Maintaining a component library can be expensive.
* finding and adapting reusable components.
http://www.tushar-mehta.com/excel/vba/vba-defensive_programming.htm
* Verifying that the groundwork has been laid so that construction can proceed successfully.
* Designing and writing routines and module.
* Selecting and creating data types and naming identifiers.
* Selecting control structures and organizing blog of statement.
* Finding fixing error.
* Reviewing other team members design and code and having them review yours.
* Polishing code - formatting and writing comment.
* Intergrating software component.
* Turning code - make more efficient, smaller and faster.
Coding Principles
* Understand of the problem you're trying to solve.
* Understand a basic design principles and concepts.
* Pick a programming language that meets the needs of the software to build and environment in
which it will operate.
* Select a programming environment that provide tools that will make your work easier.
* Create a set of unit test that will be applied once the component you code is complete.
Good Programming Practice
* Be consistent with formatting.
* Be consistent with naming conventions.
* Use global [identifier] sparingly.
* Dont't assume output format.
* Add comment to your code - explain what and why.
* Provide useful error message.
* Recover (or fail) gracefully.
* Push interface up and implementation down.
* know what u don't know - prepare for changes.
Source: http://relisoft.com/practice.html
Software Inspection
* An old school approach.
* A process to review, analyze and check static system representations such as requirements
document, design document, and program source code to look for errors and problems
* Static - need not run the software on a computer.
* Generally, focus at source code.
* Known as peer reviews or program / code inspection.
Software Reuse.
* In engineering disciplines, system are designed by composing existing component that have been
used in other system.
* SE more focus on original development but it is now recognized that to achieve a better software.
Reuse - Based Software Engineering.
* Application system reuse - application system may reuse either by incorporating without change in
into other systems or by developing application families.
* Component reuse - component of an application from sub-system to a single objects maybe reused.
* Object and function reuse - software component that implement a single well defined function may
be reused.
Requirements for Reuse.
* It must be possible to find appropriate reuseable components.
* The reuser of the components will be reliable and will behave as specified.
* The component must be documented so that they can be understood and where appropriate,
modified.
Benefit of Reuse
* Increase dependability
* Reduce process risk.
* Effective use of specialists.
* Standard compliance
* Accelerated development.
Reuse Development.
* Increased costs.
* Lack of case tool support.
* Not - invented - here syndrome
* Maintaining a component library can be expensive.
* finding and adapting reusable components.
http://www.tushar-mehta.com/excel/vba/vba-defensive_programming.htm
~ THEEPA LAKNAKUMARAN (SW086630) ~
No comments:
Post a Comment