University of Technology, Sydney

Staff directory | Webmail | Maps | Newsroom | What's on

41096 Software Engineering Studio 2B

Warning: The information on this page is indicative. The subject outline for a particular session, location and mode of offering is the authoritative source of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.

Subject handbook information prior to 2019 is available in the Archives.

UTS: Engineering: Computer Science
Credit points: 6 cp
Result type: Grade and marks

Requisite(s): 41095 Software Engineering Studio 2A

Recommended studies:

48260 Engineering Project Management; 31257 Information System Development Methodologies; 31282 Software Testing and Quality Management; 41093 Software Engineering Studio 1A; 41094 Software Engineering Studio1B

Description

In this studio subject students extend a system using the professional practices established in 41093 Software Engineering Studio 1A and 41094 Software Engineering Studio 1B by developing one or more additional features or resolving one or more software issues. Students learn to explore the problem efficiently, to develop solution designs that support rapid convergence to the best alternative.

It is challenging to develop a large program of a few thousand lines and even more challenging to develop a system of millions of lines of code, that cannot afford to fail. The early stages of development must balance problem exploration and design with convergence toward an implementable solution. Developing large, complex systems that must work perfectly requires a number of practices to ensure the development happens in a controlled manner. Developing the professional discipline to use and maintain all of the necessary practices is best done through experience, for little else convinces us of their need than our failings.

The focus of this subject is to experience and understand the longer-term consequences of selected and configured software development methods, tools and resources, then to consider, decide and implement improvements.

Subject learning objectives (SLOs)

Upon successful completion of this subject students should be able to:

1. Apply established engineering methods to complex software engineering problem solving.
2. Apply software engineering techniques, tools and resources.
3. Apply systematic software engineering synthesis and design processes.
4. Apply systematic approaches to the conduct and management of software engineering projects.
5. Work efficiently in a team

Course intended learning outcomes (CILOs)

This subject also contributes specifically to the development of the following faculty Course Intended Learning Outcomes (CILOs) and Engineers Australia (EA) Stage 1 competencies:

  • Identify, interpret and analyse stakeholder needs, which is linked to EA Stage 1 Competencies: 1.2, 2.3, 2.4 (A.1)
  • Establish priorities and goals, which is linked to EA Stage 1 Competencies: 2.3, 3.5 (A.2)
  • Identify and apply relevant problem-solving methodologies, which is linked to EA Stage 1 Competencies: 1.1, 2.1, 2.2, 2.3 (B.1)
  • Design components, systems and/or processes to meet required specifications, which is linked to EA Stage 1 Competencies: 1.3, 1.6, 2.1, 2.2, 2.3 (B.2)
  • Synthesise alternative/innovative solutions, concepts and procedures, which is linked to EA Stage 1 Competencies: 1.1, 3.3 (B.3)
  • Apply decision-making methodologies to evaluate solutions for efficiency, effectiveness and sustainability, which is linked to EA Stage 1 Competencies: 1.2, 2.1 (B.4)
  • Implement and test solutions, which is linked to EA Stage 1 Competencies: 2.2, 2.3 (B.5)
  • Manage own time and processes effectively by prioritising competing demands to achieve personal goals, which is linked to EA Stage 1 Competencies: 3.5, 3.6 (D.1)
  • Reflect on personal and professional experience to engage independent development beyond formal education for lifelong learning, which is linked to EA Stage 1 Competencies: 3.3, 3.5 (D.2)
  • Communicate effectively in ways appropriate to the discipline, audience and purpose, which is linked to EA Stage 1 Competency: 3.2 (E.1)
  • Work as an effective member or leader of diverse teams within a multilevel, multidisciplinary and multicultural setting, which is linked to EA Stage 1 Competencies: 2.4, 3.2, 3.6 (E.2)
  • Identify and apply relevant project management methodologies, which is linked to EA Stage 1 Competencies: 1.6, 2.2, 2.4, 3.4 (E.3)

Teaching and learning strategies

This is a studio subject that duplicates commercial software development practices suited to small projects. In small self-managed teams, students are guided through the early stages of team formation and agile project planning before adopting greater autonomy for the remainder of the project. Teams are aided and guided by tutors knowledgeable about and experienced in software development. To encourage peer learning all teams formally critique the work of another team at significant stages during the project life cycle. To encourage high technical standards, high achievement and peer learning, all teams develop a system from specified requirements but are free to decide how those requirements can be implemented to achieve greater customer satisfaction.

Tutors provide weekly feedback about progress, intended activities and achievements to date. Formal assessment of the project outcomes and deliverables occurs at mid-term and end of term. Early term team formation and skill development activities provide opportunities for feedback about essential team and technical skills. Students are also expected to participate in peer evaluations of teamwork via SparkPLUS.

Content (topics)

During the course of this subject students will cover the following topics:

1. Software engineering environments and tools

2. Software process

3. Software requirements elicitation and analysis

4. Software construction

5. Software development and testing

6. Project planning and management

7. Risk management

8. Team communication and collaboration

9. Reviewing the work of another team

Assessment

Assessment task 1: Process reports

Intent:

Assess how well the team member has worked on the project.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2, 3, 4 and 5

This assessment task contributes to the development of the following course intended learning outcomes (CILOs):

A.1, A.2, B.1, B.2, B.3, B.4, B.5, D.1, D.2, E.1 and E.2

Type: Report
Groupwork: Individual
Weight: 30%
Criteria linkages:
Criteria Weight (%) SLOs CILOs
Personal Reflective journal 70 2, 3, 4, 5 B.3, B.4, B.5, D.1, D.2
Demonstrate communication and collaboration within the team 20 1, 3 B.1, E.1, E.2
Design and implement the solution 10 1, 4 A.1, A.2, B.2, B.5
SLOs: subject learning objectives
CILOs: course intended learning outcomes

Assessment task 2: Note for client meeting

Intent:

Assess how well the team has identified requirements and selected appropriate tools and resources for the project.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 3 and 4

This assessment task contributes to the development of the following course intended learning outcomes (CILOs):

A.1, A.2, B.1, B.2, B.3, B.4, B.5, E.1 and E.2

Type: Report
Groupwork: Group, group assessed
Weight: 20%
Length:

no word limit

Criteria linkages:
Criteria Weight (%) SLOs CILOs
Analyse the client requirements 60 1, 3 A.1, A.2, B.1, B.2, B.3, B.4, B.5
Design and implement the solution 40 4 B.1, B.2, B.5, E.1, E.2
SLOs: subject learning objectives
CILOs: course intended learning outcomes

Assessment task 3: Product demonstration

Intent:

Evaluate how well the developed software has implemented the required functionality and achieved quality requirements

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2 and 3

This assessment task contributes to the development of the following course intended learning outcomes (CILOs):

A.1, B.1, B.2, B.3, B.4, B.5, E.1, E.2 and E.3

Type: Laboratory/practical
Groupwork: Group, individually assessed
Weight: 30%
Length:

Approximately 10 to 15 minutes for presentation, demonstration and discussion.

Criteria linkages:
Criteria Weight (%) SLOs CILOs
Product fits client’s requirements 70 1, 3 A.1, B.1, B.2, B.3, E.1, E.2
Product performs as expected 30 2, 3 B.2, B.4, B.5, E.1, E.2, E.3
SLOs: subject learning objectives
CILOs: course intended learning outcomes

Assessment task 4: Teamwork assessment

Intent:

The purpose of this task is for students to understand how well they are operating in a team.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

4 and 5

This assessment task contributes to the development of the following course intended learning outcomes (CILOs):

E.1, E.2 and E.3

Type: Report
Groupwork: Individual
Weight: 20%
Criteria linkages:
Criteria Weight (%) SLOs CILOs
Critical evaluation of team member participation 40 4, 5 E.1, E.2, E.3
Demonstrate communication and collaboration within the team 20 4, 5 E.1, E.2, E.3
Overall reflection on teamwork assessment 40 4, 5 E.1, E.2, E.3
SLOs: subject learning objectives
CILOs: course intended learning outcomes

Minimum requirements

In order to pass the subject, a student must achieve an overall mark of 50% or more.

Required texts

There are no essential or required texts.

Recommended texts

Robert C. Martin (2008), Clean Code: A Handbook of Agile Software Craftsmanship

Sommerville, I. (2011), Software Engineering: Ninth Edition, Addison-Wesley

Ambler, S. W. and Lines, M. (2012), Disciplined Agile Delivery, IBM Press

Beck, K. (2003), Test-driven development: By example, Addison-Wesley, Boston

References

https://github.com/

https://en.wikipedia.org/wiki/Software_development/

https://en.wikipedia.org/wiki/Scrum_(software_development)

Other resources

https://www.lynda.com/