Overview
This unit introduces you to the practical issues involved in the design and implementation of robust enterprise software applications enabling business-to-business and business-to-customer operations. You will learn data persistence and management of persistent objects extending your knowledge of object-oriented programming. You will learn to use well-known design patterns to build portable, highly available and maintainable software applications that require integrated use of several open-source tools. You will work in a small team to design and develop a 3-tier enterprise system with a data persistence tier, business logic layer, and a web-based presentation tier. Issues and consequences of complex computing will be discussed in the context of enterprise computing architecture and technology.
Details
Pre-requisites or Co-requisites
Prerequisite: (COIT11237 - Database Design & Implementation and COIT12200 - Software Design & Development) OR (COIT12167 - Database Use and Design and COIT12200 - Software Design & Development)
Important note: Students enrolled in a subsequent unit who failed their pre-requisite unit, should drop the subsequent unit before the census date or within 10 working days of Fail grade notification. Students who do not drop the unit in this timeframe cannot later drop the unit without academic and financial liability. See details in the Assessment Policy and Procedure (Higher Education Coursework).
Offerings For Term 2 - 2024
Attendance Requirements
All on-campus students are expected to attend scheduled classes - in some units, these classes are identified as a mandatory (pass/fail) component and attendance is compulsory. International students, on a student visa, must maintain a full time study load and meet both attendance and academic progress requirements in each study period (satisfactory attendance for International students is defined as maintaining at least an 80% attendance record).
Recommended Student Time Commitment
Each 6-credit Undergraduate unit at CQUniversity requires an overall time commitment of an average of 12.5 hours of study per week, making a total of 150 hours for the unit.
Class Timetable
Assessment Overview
Assessment Grading
This is a graded unit: your overall grade will be calculated from the marks or grades for each assessment task, based on the relative weightings shown in the table above. You must obtain an overall mark for the unit of at least 50%, or an overall grade of 'pass' in order to pass the unit. If any 'pass/fail' tasks are shown in the table above they must also be completed successfully ('pass' grade). You must also meet any minimum mark requirements specified for a particular assessment task, as detailed in the 'assessment task' section (note that in some instances, the minimum mark for a task may be greater than 50%). Consult the University's Grades and Results Policy for more details of interim results and final grades.
All University policies are available on the CQUniversity Policy site.
You may wish to view these policies:
- Grades and Results Policy
- Assessment Policy and Procedure (Higher Education Coursework)
- Review of Grade Procedure
- Student Academic Integrity Policy and Procedure
- Monitoring Academic Progress (MAP) Policy and Procedure - Domestic Students
- Monitoring Academic Progress (MAP) Policy and Procedure - International Students
- Student Refund and Credit Balance Policy and Procedure
- Student Feedback - Compliments and Complaints Policy and Procedure
- Information and Communications Technology Acceptable Use Policy and Procedure
This list is not an exhaustive list of all University policies. The full list of University policies are available on the CQUniversity Policy site.
Feedback, Recommendations and Responses
Every unit is reviewed for enhancement each year. At the most recent review, the following staff and student feedback items were identified and recommendations were made.
Feedback from In-class student feedback
More exercises would be helpful as students enjoy practical exercises.
Add more lab practice exercises where appropriate, especially in the last 2 weeks.
Feedback from Unit Coordinator
Students are not assessed on enterprise programming until halfway through the term.
Change the first assessment from a purely written report into a practical plus report and use the practical part of Assessment 1 as formative.
- Investigate and compare major enterprise software architectures and analyse the effectiveness of enterprise software systems for business operations involving diverse groups of stakeholders with varying needs
- Use contemporary enterprise software development tools and techniques to design and develop appropriate solutions for business operations
- Implement and build multi-tiered enterprise software systems in a distributed service-oriented architecture
- Work collaboratively in a team contributing to productive complex software development.
- Programming/Software Development (PROG)
- Data modelling and design (DTAN)
- Database design (DBDS)
- Software design (SWDN)
- Systems design (DESN)
- Testing (TEST)
- Systems integration and build (SINT)
- Release and deployment (RELM)
- Application support (ASUP)
Alignment of Assessment Tasks to Learning Outcomes
Assessment Tasks | Learning Outcomes | |||
---|---|---|---|---|
1 | 2 | 3 | 4 | |
1 - Reflective Practice Assignment - 20% | ||||
2 - Practical and Written Assessment - 30% | ||||
3 - Practical and Written Assessment - 50% |
Alignment of Graduate Attributes to Learning Outcomes
Graduate Attributes | Learning Outcomes | |||
---|---|---|---|---|
1 | 2 | 3 | 4 | |
1 - Communication | ||||
2 - Problem Solving | ||||
3 - Critical Thinking | ||||
4 - Information Literacy | ||||
5 - Team Work | ||||
6 - Information Technology Competence | ||||
7 - Cross Cultural Competence | ||||
8 - Ethical practice | ||||
9 - Social Innovation | ||||
10 - Aboriginal and Torres Strait Islander Cultures |
Textbooks
Beginning EJB in Java EE 8: Building Applications with Enterprise JavaBeans
Edition: 1st (2018)
Authors: Wetherbee, Jonathan ; Nardone, Massimo ; Rathod, Chirag ; Kodali, Raghu
Berkeley, CA: Apress L. P
Berkeley Berkeley , CA , USA
ISBN: 9781484235737
Binding: eBook
Spring Microservices in Action
Edition: 2nd (2021)
Authors: John Carnell, Illary Huaylupo Sánchez
Manning Publications
NY NY , USA
ISBN: 9781617296956
Binding: eBook
Spring Start Here
Edition: 1st (2021)
Authors: Laurentiu Spilca
Manning Publications
ISBN: 9781617298691
Binding: eBook
IT Resources
- CQUniversity Student Email
- Internet
- Unit Website (Moodle)
- Zoom (both microphone and webcam capability)
- Apache NetBeans IDE 12.4 (available from https://netbeans.apache.org/download/nb124/nb124.html)
- OpenJDK 18.0.1.1 from https://jdk.java.net/18/
- MySQL Community Server 8.0.29 from https://dev.mysql.com/downloads/mysql
- Apache TomEE 8.0.0 TomEE Plus Web Server
All submissions for this unit must use the referencing style: Harvard (author-date)
For further information, see the Assessment Tasks.
j.shield@cqu.edu.au
Module/Topic
Intro to Enterprise (Ent.) SW Dev.
Chapter
Refer to the unit website for readings.
Chapter 1 of Fernando, C 2022, Solution Architecture Patterns for Enterprise, Apress.
Chapter 1 of Deinum, M 2024, Spring Boot 3 Recipes, Apress.
Events and Submissions/Topic
Module/Topic
Ent. Persistence (ORM)
Chapter
Chapter 14 of Spilcă, L 2021, Spring start here, Manning.
Events and Submissions/Topic
Module/Topic
Ent. Interoperability using REST
Chapter
Chapter 10 of Reddy, K & Upadhyayula, S 2023, Beginning Spring Boot 3, Apress.
Events and Submissions/Topic
Ass1 Weekly apps due
Module/Topic
Ent. Presentation using MVC
Chapter
Chapter 4 of Reddy, K & Upadhyayula, S 2023, Beginning Spring Boot 3, Apress.
Events and Submissions/Topic
Ass1 Weekly apps due
Module/Topic
Ent. Security
Chapter
Chapter 12 of Reddy, K & Upadhyayula, S 2023, Beginning Spring Boot 3, Apress.
Events and Submissions/Topic
Ass1 Weekly apps due
Module/Topic
No classes
Chapter
Events and Submissions/Topic
Module/Topic
Reactive Architectures
Chapter
Chapter 11 of Reddy, K & Upadhyayula, S 2023, Beginning Spring Boot 3, Apress.
Events and Submissions/Topic
Ass1 Weekly apps due
Module/Topic
Microservices
Chapter
Chapter 6 of Macero García, M & Telang, T 2023, Learn Microservices with Spring Boot 3, Apress.
Events and Submissions/Topic
Ass 2 Project: weekly Git contribution due
Module/Topic
Configuration Management
Chapter
Chapter 5 of Heckler, M 2021, Spring Boot. O’Reilly.
Events and Submissions/Topic
Ass 2 Project: weekly Git contribution due
Module/Topic
Aspect-Oriented Programming
Chapter
Chapter 6 of Spilcă, L 2021, Spring start here, Manning.
Events and Submissions/Topic
Ass 2 Project: weekly Git contribution due
Module/Topic
No lecture
Chapter
Events and Submissions/Topic
Ass 2 Project due
Module/Topic
No lecture
Chapter
Events and Submissions/Topic
Ass 3 Selection criteria due
Wk10 Ass2 Project (50%) Due: Week 11 Monday (23 Sept 2024) 1:00 am AEST
Wk11&12 Job Interview (20%) Due: Week 11 Friday (27 Sept 2024) 11:45 pm AEST
Module/Topic
Job interviews
Chapter
Events and Submissions/Topic
Ass 3 You must attend a class for your interview
Unit Coordinator: Jamie Shield, j.shield@cqu.edu.au, Cairns
You must attend tutorials in Weeks 7, 8, 9 and 10 or otherwise in your own time record team meetings to be eligible for full marks for Ass 2 Project.
You must attend an interview in a Week 12 class to be eligible for full marks for Ass 3 Job interview.
1 Practical and Written Assessment
There are four sets of weekly apps designed to prepare you for the project. Each week you will implement small enterprise apps to demonstrate features of libraries such as persistence, transaction, logging, testing, security, REST and MVC. For most apps, you will be provided with skeleton code and/or tests.
Due weeks 3,4,5 and 6.
For most exercises, feedback will be returned immediately. Otherwise, feedback will be returned by Week 7.
The assessment consists of enterprise exercises that you will implement apps for. Each exercise will be marked according to the correctness of the answer, for example, the quality of the database artefacts produced for a persistence exercise. There are four sets of weekly exercises; each worth 7.5%.
- Use contemporary enterprise software development tools and techniques to design and develop appropriate solutions for business operations
- Implement and build multi-tiered enterprise software systems in a distributed service-oriented architecture
2 Practical and Written Assessment
You will work as part of a small team to analyse requirements, design, implement, build, test, and document a complete enterprise application.
Groupwork
You must work in groups of 4 to 6 people for this assignment. It is likely that your group will include people from other campuses. All group members must be identified in the groupwork artefacts. Your team must choose a technical leader and a, different, group leader who will act as the project manager. Evidence must be provided that all group members contributed adequately to the final submissions. You must attend tutorials in Weeks 7, 8, 9 and 10 or otherwise in your own time record team meetings to be eligible for full marks for Ass 2 Project. All group members must submit via the unit website. The moderation process might allocate group members different marks. Sharing of artefacts, for example, code, between groups is not permitted.
Repository
Create a private code repository and invite your tutor and the unit coordinator. One code repository is to be used by all group members. Each member of the group must make at least four weekly contributions to a private Git repository prior to the due date.
Week 11 Monday (23 Sept 2024) 1:00 am AEST
The project is due in Week 10 - before Week 11 starts.
The marks and feedback will be returned on the day of certification of grades.
The assignment criteria includes documentation quality (design, code and test), software implementation correctness and process and groupwork artefacts. Process, groupwork and code compilation and execution are aspects of each criteria. For example, to be eligible for full marks for each criteria, you must have committed quality contribution to your team's private Git over 4 weeks, you must have evidence of your contribution to the team and your code must run and execute. You must attend tutorials in Weeks 7, 8, 9 and 10 or otherwise in your own time record team meetings to be eligible for full marks for Ass 2 Project.
- Use contemporary enterprise software development tools and techniques to design and develop appropriate solutions for business operations
- Implement and build multi-tiered enterprise software systems in a distributed service-oriented architecture
- Work collaboratively in a team contributing to productive complex software development.
3 Reflective Practice Assignment
In this assignment you will apply for a job as an applications developer. You will:
- Develop answers to selection criteria
- Attend an interview during a Week 12 class (lecture or tutorial) during which you will answer interview questions. The interview will be recorded for moderation purposes.
The interview will ask questions for topics such as the following:
- Groupwork, laws & ethics
- Technical, e.g. identify the code in your project that is used to implement a feature, e.g. persistence, and explain how that code works and the organisational benefits
- Compare how alternative enterprise software architectures can used to balance the needs of different stakeholders in an organisation.
Week 11 Friday (27 Sept 2024) 11:45 pm AEST
Your selection criteria are due in Week 11. The interview is due in-class in your Week 12 lecture or tutorial.
Feedback will be returned within a fortnight of the due date.
The assignment criteria includes quality of selection criteria answers and answers to interview questions that include topics such as groupwork, laws, ethics, technical (design and coding) questions, and to compare how alternative enterprise software architectures can be used to balance the needs of different organisational stakeholders.
- Investigate and compare major enterprise software architectures and analyse the effectiveness of enterprise software systems for business operations involving diverse groups of stakeholders with varying needs
- Use contemporary enterprise software development tools and techniques to design and develop appropriate solutions for business operations
As a CQUniversity student you are expected to act honestly in all aspects of your academic work.
Any assessable work undertaken or submitted for review or assessment must be your own work. Assessable work is any type of work you do to meet the assessment requirements in the unit, including draft work submitted for review and feedback and final work to be assessed.
When you use the ideas, words or data of others in your assessment, you must thoroughly and clearly acknowledge the source of this information by using the correct referencing style for your unit. Using others’ work without proper acknowledgement may be considered a form of intellectual dishonesty.
Participating honestly, respectfully, responsibly, and fairly in your university study ensures the CQUniversity qualification you earn will be valued as a true indication of your individual academic achievement and will continue to receive the respect and recognition it deserves.
As a student, you are responsible for reading and following CQUniversity’s policies, including the Student Academic Integrity Policy and Procedure. This policy sets out CQUniversity’s expectations of you to act with integrity, examples of academic integrity breaches to avoid, the processes used to address alleged breaches of academic integrity, and potential penalties.
What is a breach of academic integrity?
A breach of academic integrity includes but is not limited to plagiarism, self-plagiarism, collusion, cheating, contract cheating, and academic misconduct. The Student Academic Integrity Policy and Procedure defines what these terms mean and gives examples.
Why is academic integrity important?
A breach of academic integrity may result in one or more penalties, including suspension or even expulsion from the University. It can also have negative implications for student visas and future enrolment at CQUniversity or elsewhere. Students who engage in contract cheating also risk being blackmailed by contract cheating services.
Where can I get assistance?
For academic advice and guidance, the Academic Learning Centre (ALC) can support you in becoming confident in completing assessments with integrity and of high standard.