IAB251 Software Engineering for Enterprise Systems


To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.


Unit Outline: Semester 1 2024, Gardens Point, Internal

Unit code:IAB251
Credit points:12
Pre-requisite:IFB104 or ITD104 or IFB201
Coordinator:Darshika Koggalahewa | darshika.koggalahewa@qut.edu.au
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

This unit provides knowledge and skills related to software engineering, applied to the design, development, configuration, and maintenance of Enterprise Systems. Enterprise Systems (ES) are large-scale software applications that serve as the operations of modern organizations, such as managing customers, controlling production, and connecting to suppliers, and more. You will learn how to analyse business needs, design software architectures, and develop, test and deploy software applications. To support this you will learn, key aspects of software engineering using a real-world ES Platform. This will include: software design patterns; multi-tier software components and rapid composition of solutions; testing; DevOps; and agile development. By the end of the unit, you will become proficient at these for real-world projects and software development.

Learning Outcomes

On successful completion of this unit you will be able to:

  1. Explain the principles and concepts of software engineering as applied to Enterprise Systems, including their role in supporting critical business processes.
  2. Apply industry best practice tools and techniques for design and develop Enterprise systems
  3. Create a software application through coding, testing, debugging and deployment in the context of a real-world ES platform
  4. Produce a real-world digital solution out of a software application through software reusability and security mechanisms.
  5. Apply high performing team concepts to proactively build an effective team

Content

The Unit introduces you to the software engineering aspects of enterprise systems. The first module focuses on the design of enterprise applications. You will learn about key software architectures, which provide the basis for the design, as well as specify functional and non-functional requirements for ES applications. You will be exposed to important software design patterns to develop design models for software functionality based on the Unified Modelling Language (UML). The design activity will utilize an end-to-end case study involving a real-world ES platform, which will also be used as a part of the software development through the subsequent modules.

The second module introduces you to the software development of enterprise systems. You will learn how to write code to support systems requirements and design models using a standard software development methodology. As part of this, you will apply different tasks of ES app development including testing, deploying, integrating, and maintaining ES applications through standard software development techniques. As a result, you will gain proficiency in programming through a modern programming language.

The third module introduces you to data modelling in ES applications. You will also learn about modern industry practices for ES software development, security, and governance in ES applications.

Learning Approaches

This unit is available for you to study in either on-campus or online mode. You can expect to spend 10-15 hours per week involved in preparing for and attending scheduled classes, preparing and completing assessment tasks as well as independent study and consolidation of your learning. The unit uses pre-recorded lectures, case studies, and practical exercises to develop your understanding of the theory and practice of Software Engineering methodologies in Enterprise Systems development and configuration processes.

The pre-recorded lectures and online activities will provide you with the knowledge and skills for Software engineering aspects of Enterprise Systems, Design and Develop Applications for Enterprise Systems, and configuring different modules of Enterprise systems. Students will be guided through each of these phases involving exposition, analysis, design, development, and hands-on activity.

Tutorials will be conducted in face-to-face computer labs on-campus or online. They will be activity-based involving analysis, design, development, and configuration of Enterprise Systems. The tutorials build directly on the material presented in the pre-recorded lectures and will involve detailed instruction sheets for undertaking the required tasks. They are designed to support class instruction, group work, and class reflection.

QUT Canvas site will be used for lecture notes, tutorial materials, reading resources, and online class discussions.

This unit emphasizes practical skills and artifact-driven learning. Students actively engage in hands-on exercises, supplemented by readings and discussions from the development community, to gain real-world experience and prepare for future challenges.

Feedback on Learning and Assessment

Students can obtain feedback on their progress throughout the unit through the following mechanisms:

  • Class and group-based feedback on workshop exercises
  • Written feedback on the formative phase of assessment tasks
  • Written feedback on summative phases of assessment tasks including a rubric
  • General verbal feedback will be provided to the entire class on assessment tasks
  • You will receive feedback and results on each assessment task prior to the submission of the next assessment task.

Assessment

Overview

The assessments in this unit have been designed so that you may develop deeper understanding of the knowledge and key skills expected of IT graduates concerning business problems.  Students will develop the skills in modelling a software solution for enterprise requirements by following the software engineering principles and modern industry-oriented software development approaches. Students will develop the skills to work collaboratively and present confidently demonstrating effective written and visual communication.

The assessments will be group-based and focused on different parts of case-based assignments.

Early in the semester, you will be asked to form teams of 4 so that you can work together to put together the analysis, design, and development tasks of the assignment. You will be required to use team collaboration tools, i.e., Slack (team collaboration) and Trello (project tracking), and code repository and version controlling systems (Git) to support your teamwork activities.

The assessments will be structured through the different perspectives of enterprise systems development: requirements engineering, UI design, data model, software application development, and deployment. Each will involve analysis, design, and development activities.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Enterprise Application Design

For this assignment, students will design a comprehensive solution for a given enterprise business scenario. The assignment will consist of the following components:

  • Business Scenario Analysis (5%)
  • Enterprise Solution Design (20%)
  • Teamwork (5%)
Weight: 30
Individual/Group: Individual and group
Due (indicative): Week 7
Related Unit learning outcomes: 1, 2, 5

Assessment: Development of Enterprise Application

For this assignment, students will develop and deploy the solution they identified in Assignment 1. The assignment will consist of the following components:

  • Enterprise Solution Implementation (25%):
  • Deployment of the Solution (10%)
  • Agile Development – 10%
  • Teamwork (5%)
Weight: 50
Individual/Group: Individual and group
Due (indicative): Week 13
Related Unit learning outcomes: 2, 3, 4, 5

Assessment: Online Examination

Based on several real-world problems, and employing technical and business skills taught in this unit, you will take an online exam.

One hour duration 

Testing Weeks 1-13 Lectures & Practicals.

Weight: 20
Individual/Group: Individual
Due (indicative): Central Examination Period
Central exam duration: 1:10 - No perusal
Related Unit learning outcomes: 1, 3

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Resources

No extraordinary charges or costs are associated with the requirements for this unit. There is no required textbook for this unit. However, this unit may where appropriate, make use of the selected chapters from textbooks, journals, and magazines. Students are encouraged to obtain a copy of these materials from the library. Where possible, materials will be made available online through QUT Readings.

Risk Assessment Statement

There are no out-of-the-ordinary risks associated with studying this unit