COMP SCI 7015 - Software Engineering & Project
North Terrace Campus - Semester 2 - 2023
-
General Course Information
Course Details
Course Code COMP SCI 7015 Course Software Engineering & Project Coordinating Unit Computer Science Term Semester 2 Level Postgraduate Coursework Location/s North Terrace Campus Units 3 Contact Up to 2 hours per week Available for Study Abroad and Exchange Y Prerequisites COMP SCI 7103, COMP SCI 7202, (COMP SCI 7210 and COMP SCI 7211), COMP SCI 7202B or COMP SCI 7208 Assumed Knowledge COMP SCI 7082 or COMP SCI 7201 Restrictions Master of Computing & Innovation, Graduate Diploma of Computer Science, Certificate in Computer Science, Master of Software Engineering Students Only Assessment Assignments and/or project Course Staff
Course Coordinator: Dr Amali Weerasinghe
Lecturers:
- Dr Patanamon Thongtanunam
- Dr Chakkrit Tantithamthavorn
- Mr David Milanese
Course Timetable
The full timetable of all activities for this course can be accessed from Course Planner.
-
Learning Outcomes
Course Learning Outcomes
On successful completion of this course students will be able to:
1 Develop knowledge of software development techniques and methodologies, as applied to large scalesoftware development projects, throughout various stages of the development lifecycle including planning, requirements gathering, design, implementation and testing 2 Gain experience in applying various Computer Science methods and algorithms, as learnt in earlier courses,to large scale software development 3 Gain experience in group-based software development and develop communication, planning and time-management skills 4 Develop knowledge and experience in professional conduct and meeting participation 5 Develop knowledge of professional codes of conduct of Computer Scientists and Engineers and demonstrateunderstanding through scenario based exercises 6 Develop capability and skill in investigating, analyzing, and using software tools to increase the productivity of software development University Graduate Attributes
This course will provide students with an opportunity to develop the Graduate Attribute(s) specified below:
University Graduate Attribute Course Learning Outcome(s) Attribute 1: Deep discipline knowledge and intellectual breadth
Graduates have comprehensive knowledge and understanding of their subject area, the ability to engage with different traditions of thought, and the ability to apply their knowledge in practice including in multi-disciplinary or multi-professional contexts.
1,2,3,5,6 Attribute 2: Creative and critical thinking, and problem solving
Graduates are effective problems-solvers, able to apply critical, creative and evidence-based thinking to conceive innovative responses to future challenges.
1,2,3,5,6 Attribute 3: Teamwork and communication skills
Graduates convey ideas and information effectively to a range of audiences for a variety of purposes and contribute in a positive and collaborative manner to achieving common goals.
3,4,5 Attribute 4: Professionalism and leadership readiness
Graduates engage in professional behaviour and have the potential to be entrepreneurial and take leadership roles in their chosen occupations or careers and communities.
1,2,3,4,5,6 Attribute 5: Intercultural and ethical competency
Graduates are responsible and effective global citizens whose personal values and practices are consistent with their roles as responsible members of society.
5 Attribute 8: Self-awareness and emotional intelligence
Graduates are self-aware and reflective; they are flexible and resilient and have the capacity to accept and give constructive feedback; they act with integrity and take responsibility for their actions.
5 -
Learning Resources
Required Resources
The prescribed textbook for the course is "Software Engineering, 9th Edition (Ian Sommerville)"Recommended Resources
- Software Engineering: A Practitioners Approach, 5th Ed., R. Pressman, McGraw-Hill, 2001
- Object-Oriented and Classical Software Engineering, 5th Ed., S. Schach, McGraw-Hill, 2002
- Software Engineering Principles and Practice, 2nd Ed., H. VanVliet, Wiley, 2000
- A Discipline for Software Engineering, W.S. Humphrey, Addison-Wesley, 1995
- Managing Technical People, W.S. Humphrey, Addison-Wesley, 1997
- Introduction to the Team Software Process, W.S. Humphrey, Addison-Wesley, 2000
Online Learning
The Software Engineering and Project course currently uses a Moodle forum for communication (the link will be published in time).
All students are required to subscribe and check the forum on a regular basis for announcements relating to the course and project. -
Learning & Teaching Activities
Learning & Teaching Modes
The course aims to introduce students to a wide range of Software Engineering terminology, techniques and processes throughan eight week block of lectures. The concepts taught in these lectures will be practised and reinforced by participation in asemester long, group-based software engineering project. This project will take students through the entire software development lifecycle, from requirements gathering, through to implementation, testing and deployment.
Weekly group meetings will be held with students, in which students will gather requirements for their project, demonstrate software prototypes, and present on various topics relevant to their project. Agendas will be prepared for the meetings, andeach meeting will be fully minuted by the students. Feedback will be given to students at the group meeting, in order forstudents to improve on their presentation, demonstration and meeting management skills. Attendance at all the lectures of thecourse is encouraged as the engineering practices and principles taught in these lectures will be assessed during the entire semester in the group meetings. At the end of the project, students will give a final presentation and demonstration in which students will be given an opportunity to reflect on their experiences in the project and the lessons learnt.Workload
The information below is provided as a guide to assist students in engaging appropriately with the course requirements.
The information below is provided as a guide to assist students in engaging appropriately with the course requirements.The information below is provided as a guide to assist students in engaging appropriately with the course requirements.The information below is provided as a guide to assist students in engaging appropriately with the course requirements.
Software Engineering and Project is a 3 unit course. The expectation is that students will be spending 12 hours per week working on the course. For the first 8 weeks of the course, this will include 3
hours per week of lectures. From week 3, students are required to attend a weekly group meeting with one of the lecturers, approximately 25 minutes in duration. Students are also required to attend their own group meeting to solve the relevant issues involved in the project, approximately 25 to 35 minutes in duration. The remainder of the time should be spent working on the project – students are expected to learn the content presented in lectures by doing the project.
NOTE: the nature of the course means that it is very easy for students to spend more than the allotted 12 hours per week onthe course. The onus is on students to plan their tasks and time carefully to ensure they do not over commit to the project. Importantly students should start preparing for the project from Week 1, and should maintain a consistent workload throughoutthe semester. One of the learning objectives for this course is the development of good time management skills.Learning Activities Summary
The following topics will be covered in lectures:
Project management: Group dynamics and management; project planning; communication; meetings
Requirements: Requirements gathering techniques; requirements analysis; requirements presentation
Process models: Traditional software development process models; development lifecycle activities; risk focused process models; agile process models
Configuration management: Configuration items; version and release control; source code control; change management
Cost Models: Metrics for cost estimation; project cost estimation techniques; software productivity and measures
Modelling and architectures: Software architectures; architecture design decision; system analysis; non-functional requirements; system organisation; modular decomposition; control styles
System modelling: Software system specification; context models; behavioural models; data models; object models; data flow diagrams; statechart; UML; sequence diagram
Testing: Unit testing; blackbox and whitebox testing; integration and system testing; testing tools; test coverage analysis
Real time modelling: Real-time system design; soft/hard real-time systems; stimulus types; real-time system programming; real-time operating systems; process scheduling; resource management; real-time data acquisition
Safety critical SE: Designing for safety; hazard analysis techniques; safety integrity levels
Formal specification: Limitations of natural language specifications; semi-formal and formal specifications; Z specification language
Software industry: Understand real-world software industry and their operations
Case studies: Ethical case studies; safety critical case studies
Web-based SE: Web application models; Java 2 Enterprise Edition; model-view-controller; service-oriented architecture; Web services; mashups -
Assessment
The University's policy on Assessment for Coursework Programs is based on the following four principles:
- Assessment must encourage and reinforce learning.
- Assessment must enable robust and fair judgements about student performance.
- Assessment practices must be fair and equitable to students and give them the opportunity to demonstrate what they have learned.
- Assessment must maintain academic standards.
Assessment Summary
The Assessment for this subject consists of three components with the following weightings:
Exam - 50%
Group Project mark - 30%
Individual component- 20%
Full details of the course including all assessments, notes, schedule, etc can be found by following the appropriate semester link at https://myuni.adelaide.edu.auAssessment Related Requirements
Attendance at weekly group meetings with lecturers is compulsory. Students are required to obtain at least 40% in the exam and 50% overall to pass the course.Assessment Detail
1) Final ExamThe exam will be a 2 hour open book exam. The exam will consistof questions that present realistic scenarios that require you to apply yournewly acquired software engineering principles and techniques. Materialspermitted into the exam include course notes and textbooks.
2) Group Assessment Components
Poster : The first deliverable from each group is a poster that markets
the group and its members as a software development team. This deliverable is
intended as a mechanism for the group members to get to know one another, and
to cooperate on a project that does not involve any programming or technical
work. Indeed it is intended to be fun. But it has the serious side of getting
the group to work as a team, and to begin to understand the individual member's
strengths and weaknesses.
Software Requirements Specification : Students are required to write a Software Requirements
Specification document. The purpose of this document is to record the project
requirements as captured in the initial group meetings with the lecturers, as
well as any changing or additional requirements that arise later in the
project. An initial version will be submitted in Week 5. This version will be
marked and feedback provided by the lecturers. The final revised version will
be submitted in Week 12.
Software Project Management Plan : Students are required to write a Software Project Management
Plan document. The purpose of this document is to describe thetasks that need
to be completed in order to meet the project requirements, and provide an
allocation of tasks to individual students. The project plan should also
provide estimated completion times and required resources for each task. The
SPMP should also identify any potential project risks and specify contingencies
for dealing with the risks.
Software Design Document : Students are required to write a Software Design document. The
purpose of this document is to provide both an overall architectural model of
the system, together with lower level details for each of the individual
components that make up the system. Class diagrams, state diagrams and interaction
diagrams should be used to capture to low level details of the design. Details
should be provided for each of the classes and methods used in the system.
User Manual : Students are required to write a User Manual document. The
purpose of this document is to provide guidance to end-users on how to use the
final software. This will give students experience in writing documentation for
non-technical users.
Testing Report : Each group is expected to submit a testing report at the end of the project. The purpose of this task is to ensure that all groups test the developed software. A testing report should explain the rationale for their testing strategies giving some description of up to 5 typical test cases that have been used, what functionality these test cases test for, and the rationale for why they chose these test cases. You should also include your test cases (JUnit test), together with a pointer (url) to wherethe test cases live in the repository, and where the tested code lives.
Group Milestones : Each group will be required to demonstrate two group defined
milestones in Week 9 and 10. The purpose of these milestones is to demonstrate
to the “client” that you are making good progress towards satisfying the
project requirements, and to help clarify the requirements. The milestones
should be feature-driven – the client does not want to look at your code.
Groups will be required to submit a milestone description form in Week 6.
During the milestone demonstration the groups will be assessed on the extent to
which they have satisfied the milestone. Milestones can be renegotiated up to a
week before the milestone presentation, but a justification as to the reasons
for changes must be provided.
Final Presentation and Demonstration : In Week 12 each group will be required to give a final
demonstration and presentation. The purpose is to demonstrate their final software
to the lecturers and to present the processes and techniques used throughout
the project. The students will also be expected to reflect on lessons learnt
during the project.
3) Individual Assessment Components
Presentations : Each student will be expected to give minimally two individual
presentations during the course. The purpose of these presentations will be to
develop professional presentation skills. The presentations will be on topics
relevant to the project and the contents that are taught in the course, and
will be 5 to 6 minutes in duration.
Submission
Submission details and the assignment descriptions will be published on the course website in http://myuni.adelaide.edu.au.
Penalties for Late Submission
Assignments will be subject to the following late penalty policy:
- The maximum mark that can be awarded will reduce by 25% for each day/part day late,
- Marks in excess of the maximum that can be awarded are discarded.
- Assignment work submitted 4 or more days late will receive 0 marks.
On-time Mark 1 Day Late 2 Days Late 3 Days Late 4+ Days Late 25% 25% 25% 25% 0 50% 50% 50% 25% 0 75% 75% 50% 25% 0 100% 75% 50% 25% 0
Extensions for AssignmentsIf you are unable to complete an assessment by the due date because of medical or compassionate circumstances, you must submit a request to the course coordinator prior to the due date. In your request, you must attach supporting documentation – a medical certificate and/or a letter from the student counselling service. Work requirements are not considered grounds for extensions. If you are working, please make sure you are available for all activities.
Final Examination
The final examination will be scheduled by the examinations office. You will be able to access your exam schedule through Access Adelaide. You must be available during the replacement examination period (check University dates). If you are offered a replacement examination or additional assessment and are unable to attend for any reason, there may be no further opportunity for a replacement examination or additional assessment.
Course Grading
Grades for your performance in this course will be awarded in accordance with the following scheme:
M10 (Coursework Mark Scheme) Grade Mark Description FNS Fail No Submission F 1-49 Fail P 50-64 Pass C 65-74 Credit D 75-84 Distinction HD 85-100 High Distinction CN Continuing NFE No Formal Examination RP Result Pending Further details of the grades/results can be obtained from Examinations.
Grade Descriptors are available which provide a general guide to the standard of work that is expected at each grade level. More information at Assessment for Coursework Programs.
Final results for this course will be made available through Access Adelaide.
-
Student Feedback
The University places a high priority on approaches to learning and teaching that enhance the student experience. Feedback is sought from students in a variety of ways including on-going engagement with staff, the use of online discussion boards and the use of Student Experience of Learning and Teaching (SELT) surveys as well as GOS surveys and Program reviews.
SELTs are an important source of information to inform individual teaching practice, decisions about teaching duties, and course and program curriculum design. They enable the University to assess how effectively its learning environments and teaching practices facilitate student engagement and learning outcomes. Under the current SELT Policy (http://www.adelaide.edu.au/policies/101/) course SELTs are mandated and must be conducted at the conclusion of each term/semester/trimester for every course offering. Feedback on issues raised through course SELT surveys is made available to enrolled students through various resources (e.g. MyUni). In addition aggregated course SELT data is available.
-
Student Support
- Academic Integrity for Students
- Academic Support with Maths
- Academic Support with writing and study skills
- Careers Services
- International Student Support
- Library Services for Students
- LinkedIn Learning
- Student Life Counselling Support - Personal counselling for issues affecting study
- Students with a Disability - Alternative academic arrangements
- YouX Student Care - Advocacy, confidential counselling, welfare support and advice
-
Policies & Guidelines
This section contains links to relevant assessment-related policies and guidelines - all university policies.
- Academic Credit Arrangements Policy
- Academic Integrity Policy
- Academic Progress by Coursework Students Policy
- Assessment for Coursework Programs Policy
- Copyright Compliance Policy
- Coursework Academic Programs Policy
- Elder Conservatorium of Music Noise Management Plan
- Intellectual Property Policy
- IT Acceptable Use and Security Policy
- Modified Arrangements for Coursework Assessment Policy
- Reasonable Adjustments to Learning, Teaching & Assessment for Students with a Disability Policy
- Student Experience of Learning and Teaching Policy
- Student Grievance Resolution Process
-
Fraud Awareness
Students are reminded that in order to maintain the academic integrity of all programs and courses, the university has a zero-tolerance approach to students offering money or significant value goods or services to any staff member who is involved in their teaching or assessment. Students offering lecturers or tutors or professional staff anything more than a small token of appreciation is totally unacceptable, in any circumstances. Staff members are obliged to report all such incidents to their supervisor/manager, who will refer them for action under the university's student’s disciplinary procedures.
The University of Adelaide is committed to regular reviews of the courses and programs it offers to students. The University of Adelaide therefore reserves the right to discontinue or vary programs and courses without notice. Please read the important information contained in the disclaimer.