Enterprise Applications Assignment 2017.
Use the following technologies in the development of your solution:
- GitHub to provide version control for the project, each team member must commit his/her code at least once a week,
- Install jacoco for code coverage
- Agile Scrum & Jira for the management of meetings and backlogs, Facebook cannot be used.
- Use junit tests to test your code; make a suite of tests to run before each commit to github, TestNG may be used if desired,
- Use Javadoc to comment your code,
- Pay careful attention to exceptions; how are they handled, which are caught and which are thrown,
- Ensure that at least one of your own api’s and one web service are included in the design to demonstrate an understanding of service composition,
- Consider secure coding, be clear in your write up,
- Consider performance –allow time to run a performance testing tool such as jconsole or jrat,
- The main documentation may be submitted by any one member of the team – however the conclusions section is unique to all team members and will be marked as such. This constitutes a large portion of the grades.
Considerations:
- Framework(s)
- Database
- Database persistence technology
- Presentation Layer (jsf, jsp)
- Define the Business Requirements
- Named queries and database triggers for security
- Regex for cleansing and validation of data before sending to the database
Customer Requirements:
Group 1:
The customer would like an on-line system to enter customer details for flights. The system would then calculate the cost based on business or personal class and produce a cost of the flight for the clients. The system should be clean and simple. The system needs to take into account the usual personal details and frequent flyer details. Where the client regularly travels outside of Europe and the US it should be noted. The administrator should be able to access detailed information and edit as appropriate. Once the client enters details it should not be able to be changed by the client.
Group 2:
The customer would like an on-line system to enter customer details for health insurance purposes. The system would then calculate the risk and produce a cost of insurance for the clients. The system should be clean and simple. The system needs to take into account the usual personal details and detailed health information. Where the client regularly travels outside of Europe and the US it should be noted. The administrator should be able to access detailed information and edit as appropriate. Once the client enters details it should not be able to be changed by the client.
Learning Outcomes.
- This assignment is designed to provide an overview of the work carried out by developers in an enterprise scale industry. The main aims of the project include:
- This project aims to assess the higher level aspirations in coding include the integration of concepts both new and those covered within the module.
- The learner must understand how to evaluate his/her code and be able to commit their code on a continuous basis. The concepts of continuous development and by extension continuous integration with the code of other team members is inherent from the beginning of the assignment.
- Another key aspect is the ability to work in teams on a single project. This requires good documentation and commenting along with following best practice with regard to code architecture, variable names and commenting.
By carrying out this assignment the learner will be more prepared for working in local industry of medium to large size.
Deadline:Â Refer to the CA schedule for the deadline for submission. Refer to Blackboard for the Marking Scheme.
Marking Scheme:Â Refer to the following draft marking scheme:
Jacoco
Junit/TestNG
Jira
JConsole/jRAT
Javadoc
Code Created (security)
Agile dev/team collaboration
Scrum
GIT
Conclusions
5
5
10
5
5
20
10
10
10
20