I find one of my weaknesses to be applying the theory I know in actual projects. One such theory is application design. I have never formally designed an application before beggining to code. I am developing a simple microfinance loan application for a client and I for once want to do things properly. Hence I am trying to design the system before coding. One of the many sites I am learing from suggest that one askes the following 3 questions and work from there;
- What are the Input(s) of the system?
- What are the Processes of the system?
- What are the Output(s) of the system?
The 1st and 3rd questions are fairly easy to answer for me. The issue is the 2nd question. Not that I don't know what the system is to do but I think I am not stating them well enough as it should be. The following are my processes as I stated them, have a look if its okay,.
- Register Groups and Individuals
- Allocate loans to Groups with individuals or Individuals Only
- Create loan repayment schedule
- Calculate daily repayment at the point of loan allocation
- keep track of daily collections by loan officers
- provide loan disbursement projection on a weekly basis based on groups who have completed payments and new groups
Will you use wording like that when stating the high level processes for a system? I know I will have to make several passes to break the individual process down.