You are visitor number
Steps to improve the Quality of your
Software
Plan your Project well
Plan your project thoroughly
- Write up a project definition document which includes
Project Specifications , Your Goals and Proposals to meet them
- Draw all your forms on paper first
- For All complicated functions :- Draw flow charts Class
Diagrams (Booch , Rumbaugh) or write out algorithms on paper
- The more time you spend on designing the less time you will spend
on debugging
Coding the project
When coding procedures (functions or Subs)
keep them the size of the screen height so that it is easy to view the whole procedure.
Split large functions into smaller procedures
Each procedure should only do one task
Spend time to simplify your procedures (KISS Keep It Simple
Stupid)
Include a testing stratergy in your plan
Programmers Comments
- Use as much inline comments in you code to
explain what you are doing (Remember someone will have to fix your code or make changes to
your code your comments are all he has to help him)
- Try to achieve a 10 to 20 % ratio of comments in source code
- Use Program / Module / Class Templates
to document you code
with the following information
- Module /Class Name
- Version number (module/Class)
- Version date
- Programmers Name
- Description of the module/class
- Description of procedures/methods and variables/properties
Naming variables and procedures carefully
- Use meaningful variable and procedure names
so as to explain what they store or do
- Dont re-use your variables in modules or procedures It is
better to declare more variables as this can lead to bugs
- The Hungarian Naming convention is most useful in
describing what your variables or functions return
This can also help with elimination of bugs caused such as
passing strings to numeric variables of procedures
By prefixing variables procedures with a few letters to describe what they return
Prefix Type returned
Example
- n
Integer
nMyvar
- s
String
sMystring
- v
Variant
vMyvariant
- b
Boolean
bMyBool
- dte
Date
dteMyVar
Version control
Use Version control (Oops I smashed my
program again now I cant make it work)
- There are many tool available that keep track of the versions of
your software allowing you to cut back to a previous working version quickly. There are
good products on the market.
- A simple way of implementing version control is to open a folder
with date plus 001 as name and if you make another major change that day you simply make
another folder with name as date plus 002
Control Project with a Project Planning Tool
- In a Commercial environment you need to set milestones to
determine when you will deliver your project
- Use Optimistic/Pessimistic/Most likely times to determine
component delivery times (see below)
- Use a Gantt Chart or a Pert Chart (Microsoft Project) to
determine when you will deliver you can deliver you give each component a name and a time
to write .
- Use your project management tool to keep track as to whether you
are ahead or behind schedule
- By using such a tool you can revise the component delivery times
and so advise you customer when you will be able to deliver
Optimistic Pessimistic Most Likely delivery times
- To determine how long you will take to complete a component use
this little rule
Estimate the fastest time you can deliver (optimistic) OT
Estimate the longest time you could deliver (Pessimistic)PT
Estimate the most likely time to
deliver MT
Delivery Time= (3*MT+OT+PT)/5
Testing Software
Plan you testing strategy
- Try to test with Bad Data its easy to
make something work with "good data"
- Performance testing to determine whether changes yielded
improvement
- Test all values that can be passed to functions and all values
that can be returned
- You need to verify if the code checks user input and data from
database
- Determine that no files are left open and all handles are released
- Beta testing with selected target users trained to use the system
- Three levels of testing
- You may test all functions individually
- However you may also want to test how functions interact together
- Testing the whole system
Quality Control
Inspecting Software Documentation flowcharts
- Is the designs flow-charted efficient can improvements be made
- Check that are sufficient comments which are relevant in the code
- Checking the User Documentation, Training materials
- Running trial runs Acceptance testing of software
- Does the software meet the design specifications
- Does the work presented comply with Companys Quality
Standards ( ISO9001)
- Make sure variables in procedures are not used for different
purposes
Project File
- If you are writing an application for commercial purposes open a
project file and put all flow diagrams Class diagrams and print outs of algorithms as well
as a hard copy of youre the latest version of your software in it (Now you will
appreciate the need for inline comments.
Include the Project definition document
which includes the Project Specifications
- Print out and file your delivery project plan
- Keep minutes of all meetings with customer as the customer will
accuse you of not delivering what he thinks he told you
- Get customer to agree with your concepts before coding the
application
- Get customer to sign off your programs and file these this
prevents disputes
- File all comments from User evaluations and your
proprosals to meet their expectations
Top of Page
Return
to Nico's Visual Basic Page
(http://www.oocities.org/SiliconValley/Peaks/2852/VB_Charts.html)
Please send mail to: Nicom@rocketmail.com
with questions or comments about the content this VB Web site.
This page hosted by
Get your own Free
Home Page