Note: This unit version is currently under review and is subject to change!

ELEC5619: Object Oriented Application Frameworks (2019 - Semester 2)

Download UoS Outline

Unit: ELEC5619: Object Oriented Application Frameworks (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Postgraduate
Faculty/School: School of Electrical & Computer Engineering
Unit Coordinator/s: Dr Yuan, Dong
Session options: Semester 2
Versions for this Unit:
Site(s) for this Unit: http://www.ee.usyd.edu.au/~rafa/elec5619/
Campus: Camperdown/Darlington
Pre-Requisites: None.
Brief Handbook Description: This unit aims to introduce students to the main issues involved in producing large Internet systems by using and building application frameworks. Frameworks allow great reuse so developers do not have to design and implement applications from scratch, as students have done in ELEC3610 The unit lays down the basic concepts and hands on experience on the design and development of enterprise systems, emphasizing the development of systems using design patterns and application frameworks.

A project-based approach will introduce the problems often found when building such systems, and will require students to take control of their learning. A project-based approach will introduce the problems often found when building such systems, and will require students to take control of their learning. Several development Java frameworks will be used, including Spring, Hibernate, and others. Principles of design patterns will also be studied.
Assumed Knowledge: Java programming, and some web development experience are essential. Databases strongly recommended
Lecturer/s: Mr Sani, Sadiq
Timetable: ELEC5619 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Project Work - in class 3.00 1 7
2 Project Work - own time 6.00 1 7
3 Presentation 2.00 1 1
4 Tutorial 3.00 1 5
T&L Activities: Project Work - own time: Project

Presentation: Final presentations

Tutorial: Tutorial/Labs

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

(6) Communication and Inquiry/ Research (Level 3)
1. Write reports and make presentations to communicate technical and often complex material in clear and concise terms for a specific target audience.
(7) Project and Team Skills (Level 3)
2. Work in a group effectively and efficiently by assuming clearly defined roles and responsibilities and then interacting in a constructive manner with the group by both contributing and evaluating others' viewpoints in order to reach a multilateral agreement on and execution of the solution.
(4) Design (Level 4)
3. Deploy a large site using a particular application framework to the extent of the material presented.
4. Undertake conception and design by investigating, researching and systematically compiling the various information resources available, in order to deliver an e-business project.
(2) Engineering/ IT Specialisation (Level 4)
5. Evaluate the advantages and disadvantages of using domain specific frameworks with a particular focus on web applications.
6. Customize a Content Management System (CMS) to particular user requirements using tools, principles and techniques developed throughout the course.
7. Write and modify Java code using Spring and Hibernate in a web application.
8. Compare and contrast different Web Application Frameworks available in the market using the principles and techniques developed in the course.
9. Assess the differences between using application frameworks for software development and other methods with less reusability.
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Project No 40.00 Multiple Weeks 1, 2, 3, 4, 5, 6, 7,
2 Mid-Sem Exam No 30.00 Week 9 3, 5, 6, 8, 9,
3 Proposal - Draft No 10.00 Week 5 1, 2, 4,
4 Proposal - final No 10.00 Week 9 1,
5 Presentation Yes 10.00 Week 13 1,
Assessment Description: Project: Prototype, Final application, Presentation, Learning Journal.

Mid-Sem Exam: concepts and programming languages used in the project

Proposal Draft: 1,500 word describing project

Proposal Final: 2,000 word document describing the project, including technical solution and addressing feedback

Presentation: Produce short group video describing project outcomes
Grading:
Grade Type Description
Standards Based Assessment Final grades in this unit are awarded at levels of HD for High Distinction, DI (previously D) for Distinction, CR for Credit, PS (previously P) for Pass and FA (previously F) for Fail as defined by University of Sydney Assessment Policy. Details of the Assessment Policy are available on the Policies website at http://sydney.edu.au/policies . Standards for grades in individual assessment tasks and the summative method for obtaining a final mark in the unit will be set out in a marking guide supplied by the unit coordinator.
Grading Schema High Distinction, HD (85-100)

Show through independent work, ability to use and integrate several services and applications available in the framework.

Distinction, DI (75-84)

Compare WAFs through an analysis of advantages and disadvantages. Be able to relate pros and cons to a business problem. Experiment with the framework’s applications and be able to show how they can be exploited to solve a particular business problem. Show consistent high quality programming and communication skills.

Credit, CR (65-74)

Be able to show consistent programming and communication skills

Deliver a working application with quality documentation. Proficiency in Linux development environments.

Pass, PA (50-64)

Showing motivation and initiative. Inconsistent programming and communication skills.
Policies & Procedures: See the policies page of the faculty website at http://sydney.edu.au/engineering/student-policies/ for information regarding university policies and local provisions and procedures within the Faculty of Engineering and Information Technologies.
Recommended Reference/s: Note: References are provided for guidance purposes only. Students are advised to consult these books in the university library. Purchase is not required.
  • Spring in Action
Online Course Content: http://www.ee.usyd.edu.au/~rafa/elec5619/
Note on Resources: Readings (all are on e-reserve):

* Ralph E. Johnson. ``Frameworks = (components + patterns)``. Communications of the ACM. 40 (10). pp 39-42. (core - mid-term) DOI

* Mohamed Fayad and Douglas C. Schmidt. ``Object-oriented application frameworks``. Communications of the ACM. 40 (10). pp 32-38. (core- mid-term) DOI

* Rod Johnson. ``J2EE Development Frameworks``. IEEE Computer. January 2005. pp 107-110. (core- mid-term)

* Design Patterns: Elements of Reusble Object-Oriented Software. Gamma, Helm, Johnson and Vlissides. Introduction (Chapter 1) (Library) (core - mid-term)

* Maven: a developer`s notebook. Vincent Massol, Timothy M. O`Brien. O`Reilly 2005 - chapter 1 (core- mid-term)

* Chapter 5. Object Oriented Design and Patterns. Cay Horstmann. Wiley, 2002 (library) (core - mid-term).

* Mohamed Fayad, Douglas C. Schmidt., Ralph Johnson. Building Application Frameworks. John Wiley & Sons 1999. (Chapters 1 ad 2) (Library) (core - final)

* Essential Software Architectures. Ian Gorton. Springer 2006 - Chapter 1 (core - final)

* Software Architecture in Practice. Len Bass, Paul Clements and Rick Kazman, Addison-Wesley, 2003 - Chapter 11 ``The ATAM``.

* Ajax in action. Dave Crane, Eric Pascarello with Darren James. [library]

* Crossing Chasms: A pattern Language for Object-RDBMS Integration. K. Brown and B. Whitenack in Pattern Languages of Program Design by Vlissides. 1996. (Library) (informational)

* M. Matera and A. Maurino and S. Ceri and P. Fraternali. ``Model-driven design of collaborative web applications``. Softw. Pract. Exper. 33 (8). pp 701-732. (informational) DOI

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp

Week Description
Week 1 Introduction: About this course
Design Patterns
Week 2 Spring
Week 3 Spring
Week 4 Maven
Hibernate
Week 5 Maven
Hibernate
Assessment Due: Proposal - Draft
Week 6 Architecture Evaluations
Week 7 3. setup and configuration
2. architecture,
1. Introduction
Sakai Introduction:
Week 8 Mid Term Exam (30%) - in lecture
Week 9 3. security
Presentation Layer Frameworks: JSP, JSF, RSF
Sakai persistance and security
1. data storage models
2. entities
Assessment Due: Mid-Sem Exam
Assessment Due: Proposal - final
Week 10 Application Frameworks
Week 11 Ajax architecture
Week 12 WebML and CASE tools (Webratio)
Test Driven Development with JUnit4 and Mockito
Week 13 Text Mining and The Semantic Web
Course Closure
Assessment Due: Presentation

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Software Engineering (mid-year) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software / Project Management 2019+ 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software Engineering 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software / Arts (2022 and earlier) 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022
Software / Arts 2023+ 2023, 2024, 2025
Software / Commerce 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022
Software / Commerce 2023+ 2023, 2024, 2025
Software / Project Management 2015, 2016, 2017, 2018
Software / Science 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software / Science (Health) 2018, 2019, 2020, 2021, 2022
Software / Science - Mid Year 2023, 2024, 2025
Software / Law 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022
Software / Law 2023+ 2023, 2024, 2025
Software Engineering / Arts 2011, 2012, 2013, 2014
Software Engineering / Commerce 2010, 2011, 2012, 2013, 2014
Software Engineering / Medical Science 2011, 2012, 2013, 2014
Software Engineering / Science 2011, 2012, 2013, 2014
Software Engineering / Law 2010, 2011, 2012, 2013, 2014
Master of Engineering (Software Engineering) 2025+ 2025
Master of Professional Engineering (Accelerated) (Software) 2019, 2020, 2021, 2022, 2023, 2024
Master of Professional Engineering (Accelerated) (Software) 2025+ 2025
Master of Professional Engineering (Software) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024
Master of Professional Engineering (Software) 2025+ 2025
Software / Science (Medical Science Stream) 2018, 2019, 2020, 2021, 2022
Advanced Computing / Science 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Advanced Computing / Science (Medical Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computational Data Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Advanced Computing / Commerce 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computational Data Science) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computer Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Cybersecurity) 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computer Science) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Cybersecurity) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Information Systems) (not offered from 2022+) 2018, 2019, 2020, 2021
Bachelor of Advanced Computing (Software Development) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Software Development) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Computer Science and Technology (Honours) 2015, 2016, 2017, 2025
Electrical Engineering / Arts 2011, 2012, 2013, 2014
Electrical Engineering / Commerce 2010, 2011, 2012, 2013, 2014
Electrical Engineering (Bioelectronics) / Arts 2011, 2012
Electrical Engineering (Bioelectronics) / Science 2011, 2012
Electrical Engineering / Medical Science 2011, 2012, 2013, 2014
Electrical Engineering / Science 2011, 2012, 2013, 2014
Electrical Engineering (Computer) / Arts 2011, 2012, 2013, 2014
Electrical Engineering (Computer) / Commerce 2012, 2013, 2014, 2011
Electrical Engineering (Computer) / Science 2011, 2012, 2013, 2014
Electrical Engineering (Computer) / Law 2012, 2013, 2014
Electrical Engineering (Power) / Arts 2011, 2012, 2013, 2014
Electrical Engineering (Power) / Science 2011, 2012, 2013, 2014
Electrical Engineering (Telecommunications) / Science 2011, 2012, 2013, 2014
Electrical / Project Management 2019+ 2019, 2020, 2021, 2022, 2023, 2024, 2025
Electrical Engineering 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Electrical / Arts (2022 and earlier) 2016, 2017, 2018, 2019, 2020, 2021, 2022
Electrical / Arts 2023+ 2023, 2024, 2025
Electrical / Commerce 2016, 2017, 2018, 2019, 2020, 2021, 2022
Electrical / Commerce 2023+ 2023, 2024, 2025
Electrical / Project Management 2016, 2017, 2018
Electrical / Science 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Electrical / Science - Mid Year 2023, 2024, 2025
Electrical / Law 2016, 2017, 2018, 2019, 2020, 2021, 2022
Electrical / Law 2023+ 2023, 2024, 2025
Electrical Engineering (mid-year) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Graduate Diploma in Computer Science 2024, 2025
Graduate Diploma in Information Technology 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Master of Computer Science (advanced entry) (Capstone Pathway) 2024, 2025
Master of Computer Science (advanced entry) (Research Pathway) 2024, 2025
Master of Computer Science (advanced entry) (Work Integrated Pathway) 2024, 2025
Master of Computer Science (Capstone Pathway) 2024, 2025
Master of Computer Science (Work Integrated Pathway) 2024, 2025
Master of Engineering (Advanced Manufacturing) 2025+ 2025
Master of Engineering (Biomedical Engineering) 2025+ 2025
Master of Engineering (Chemical & Biomolecular Engineering) 2025+ 2025
Master of Engineering (Civil Engineering) 2025+ 2025
Master of Engineering (Electrical Engineering) 2025+ 2025
Master of Engineering (Mechanical Engineering) 2025+ 2025
Master of Engineering (2024 and earlier) 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024
Master of Engineering (Sustainability & Environmental Engineering) 2025+ 2025
Master of Information Technology 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Master of Information Technology Management 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Master of IT / Master of IT Management 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Master of Professional Engineering (Accelerated) (Electrical) 2019, 2020, 2021, 2022, 2023, 2024
Master of Professional Engineering (Accelerated) (Electrical) 2025+ 2025
Master of Professional Engineering (Electrical) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024
Master of Professional Engineering (Electrical) 2025+ 2025
Computer Engineering / Commerce 2010
Electrical Engineering (Computer) / Medical Science 2011, 2013, 2014
Electrical Engineering (Telecommunications) / Arts 2011, 2012, 2013, 2014
Electrical Engineering (Telecommunications) / Medical Science 2011, 2012, 2013, 2014
Master of Computer Science (Research Pathway) 2024, 2025

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
(6) Communication and Inquiry/ Research (Level 3) No 28.72%
(7) Project and Team Skills (Level 3) No 8.72%
(8) Professional Effectiveness and Ethical Conduct (Level 3) No 0%
(5) Interdisciplinary, Inclusiveness, Influence (Level 4) No 0%
(4) Design (Level 4) No 22.93%
(2) Engineering/ IT Specialisation (Level 4) No 39.65%
(3) Problem Solving and Inventiveness (Level 4) No 0%
(1) Maths/ Science Methods and Tools (Level 4) No 0%

These goals are selected from Engineering & IT Graduate Outcomes Table 2018 which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table 2018 for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.