Unvisersity Collaboration Programme
Introduction
CommunityBanker invites academic institutions with software engineering departments to partcipate in the development of cubanker. The aim of the programme is to encourage universities to participate on a project basis to the continual evolution of the Communitybanker project whilst meeting their own education, engineering and academic requirements. An inter-disciplinary approach would be a boon for the project, since the project could benefit from disciplines such as commerce, education, information systems, legal, and computer science etc.
By way of introduction it is well worth noting the differences between the scientific method and the engineering process when it comes to software development.Comparison of Approaches
| The Engineering Process | The Scientific Method |
|---|---|
| Define a need | State your question |
| Do background research | Do background research |
| Establish design criteria | Formulate your hypothesis, identify variables |
| Prepare preliminary designs | Design experiment, establish procedure |
| Build and test a prototype | Test your hypothesis by doing an experiment |
| Test & redesign as necessary | Analyze your results & draw conclusions |
| Present results | Present results |
It is clear that the majority of software projects are indeed engineering processes, but in addition to tackling the project from the right perspective the use of good software design and implementation disciplines such as using UML for Use Cases, Sequence Diagrams and Class Diagrams will add great value to the project as a whole.
The key differences between real-world problems such as the projects offered here and text-book style problems include:
- the need for collaboration with other participants
- the need for problem domain knowledge
- the need to function as part of a global team
Conditions of participation
- all source must be released under GPL ver 2.0 or later
- all documentation will be integrated into the project documentation and carry the © Copyright 2001-2007, CommunityBanker.Org
- no plagerism or non-source will be allowed
- all source must be submitted into an appropriate branch of the project
- the developer must work together with the overall project to get their code integrated, tested and released via the official repositories
- database changes& other key design decisions will be decided by CommunityBanker
Suggested Projects:
Below are a list of several projects which would be of value to the bank-builders' team but projects are not restricted to this list. Take a look at the specifications and suggest you own sub-project(s) if you feel like doing so.
- Build the project Make and consistent file structure for the PPA source
- ACH integration
- Bank Statement Generation (PDF, Mobile, Mini-statements, email)
- HSM integration (will require developing a software HSM module for testing)
Note to Educators
The following table is a guideline for educators with resepct to evaluating software engineering projects of this nature in such a way as to drive the desired project benefits in line with the desired learning objectives. This is purely for guidance.
Suggested Evaluation Criteria
| Criteria | Allocation | Notes |
|---|---|---|
| User Interface Design | 10% | The UI must be consistent with the standard set by the overall project |
| Collaboration | 15% | The use of the google group, launchpad.net, blueprints, bazaar and other open-source collaboration tools |
| Software Design | 25% | The design must integrate well. User requirement illicitation is a key skill tested here. |
| Implementation | 30% | The is no way around it - good code is required! |
| Verification & Validation | 10% | Test plans, and test results - of each of the stages of delivery (see V-Model) |
| Documentation | 10% | User guide, man pages, wiki, internal, design & technical documentation, are all critical to a professional job. |
| Totals: | 100% |
One of the student's challenges is always time management. The use of online collaboration tools such as the wiki, google group and launchpad, ensures that a fairly accurate record of activity over time is recorded, and is a useful reflection of each participant's contribution.
Please contact us at info (at) communitybanker (dot) org to participate in this programme.