Posts Tagged ‘Software Engineering’
Engineering good software
I have done C++ coding before in my DDP, but that involved more of thin
king various geometry related algorithms and mathematics and then coding them to see the results. I have absolutely no experience in software engineering and design as such. Now that I am slowly re-implementing the school MIS to make it more robust and very encompassing, I am finding that if I dive into C# without having a proper plan, it proves to be very messy at the end of the module and often several bugs remain. Overall, the module turns out to be non robust. In order to address these issues, I have laid down a workflow checklist for myself and any team that I incorporate in future course.
- Clearly define the aim(s) of the module. It should be very clear (in writing) the motivation what is expected to be accomplished by the given module.
- Plan out the general workflow (for the user) of the module.
- Plan out User Interaction for the module.
- Plan how to implement the given module.
- Plan out Class Hierarchy.
- Very clearly plan out what classes (along with member variables and functions)will be required. Make it in writing too.
- Plan out validation rules. Think carefully and plan out what validation rules will be required.
- Plan out what forms (windows) will be required.
- Design the UI of these forms
- Plan what reports and their will be required out of the module.
- Implement class structure with all the validation rules in place.
- Implement the forms with all the validation rules in place.
- Implement reporting solution.
- Plan out all regular/weird test cases and test the module.
- Update doc for the code.
- Write doc for the user.
- Give training to the user.
- See if any errors are coming up during regular/daily usage. Correct them and re-install.
As I said, I am no software engineer, though I slowly plan to read some books and get some ideas. Till then, this rough checklist ought to do the job. If any expert reading this has any suggestions, I would much appreciate and feel thankful if you could either mention them here in comments or offline to me.