Skip to the content | Change text size

FIT2024 Software engineering practice - Semester 1, 2015

This unit develops students understanding of and skills in professional software engineering practices at the personal level. Students experience work in a team environment and extend their programming skills by learning a new object oriented language and maintaining a system that is larger than their experience in prior units. Students develop skills in estimating, monitoring, reviewing and reporting on practical projects.

Mode of Delivery

Clayton (Day)

Workload Requirements

Minimum total expected workload equals 12 hours per week comprising:

(a.) Contact hours for on-campus students:

  • One 2-hour lecture
  • One 2-hour laboratory

(b.) Additional requirements (all students):

  • A minimum of 8 hours independent study per week for completing lab and project work, private study and revision.

See also Unit timetable information

Unit Relationships

Prohibitions

CSE2201, GCO3811, FIT3037

Prerequisites

FIT1007 or FIT1008 or FIT1015 or CSE1303 or CSE1203 or BUS2011 or FIT2034

Chief Examiner

Campus Lecturer

Clayton

David Squire

Robyn Mcnamara

Tutors

Clayton

Andre Oboler

Andreas Limberopoulos

Hongli Song

Your feedback to Us

Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through the Student Evaluation of Teaching and Units (SETU) survey. The University’s student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

For more information on Monash’s educational strategy, see:

www.monash.edu.au/about/monash-directions/ and on student evaluations, see: www.policy.monash.edu/policy-bank/academic/education/quality/student-evaluation-policy.html

Previous Student Evaluations of this Unit

Based on student feedback:

A hand-out will be produced to support the code-along lectures in weeks 1 and 2.

If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp

Academic Overview

Learning Outcomes

At the completion of this unit students should be able to:
  1. write and analyse programs in a new programming language;
  2. apply fundamental object-oriented concepts such as inheritance, polymorphism and information hiding;
  3. describe, analyse, debug and perform maintenance on large existing OO programs;
  4. perform a variety of SQA activities including reviews and testing;
  5. use and explain the application of SE principles in designing and implementing large systems;
  6. describe and apply industry standards for process measurement and improvement;
  7. compare and apply industry standard version control systems;
  8. complete and document an end-to-end set of software engineering tasks in a team.

Unit Schedule

Week Activities Assessment
0   No formal assessment or activities are undertaken in week 0
1 Unit Overview; Fundamentals of Object Orientation 1  
2 Fundamentals of Object Orientation 2 Tutorials commence
3 SE Process, PSP; Design By Contract Assessment Task 1 - Exercise 1 due in tutorial
4 Specification; Configuration Management Assessment Task 1 - Exercise 2 due in tutorial
5 Project & Quality Management; Testing; Assessment Task 1 - Exercise 3 due in tutorial; Hand out Assignment
6 Writing Test Plans and Test Reports Assessment Task 1 - Exercise 4 due in tutorial and PIP due
7 Software Metrics Team Project - Stage 1-Planning and development due Friday
8 Software Maintenance; Software Design Team Project - Stage 1-Implementation and Testing due Friday
9 SQA & Reviews (PSP2)  
10 Software Reuse Team Project - Stage 2-Planning and development due Friday
11 Software Performance  
12 SE Tools Team Project - Stage 2 - Implementation and Testing due Monday
  SWOT VAC No formal assessment is undertaken in SWOT VAC
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/
academic/education/assessment/
assessment-in-coursework-policy.html

*Unit Schedule details will be maintained and communicated to you via your learning system.

Teaching Approach

Lecture and tutorials or problem classes
This teaching and learning approach provides facilitated learning, practical exploration and peer learning.

Assessment Summary

Examination (2 hours): 40%; In-semester assessment: 60%

Assessment Task Value Due Date
Individual Exercises 10% Weeks 3, 4, 5 and 6 during tutorial
Team Project 10 + 10 + 15 + 15 = 50% Stage 1 - P & D - Friday, week 7: Stage 1 - I & T - Friday, week 8: Stage 2 - P & D - Friday, week 10: Stage 2 - I & T - Monday, week 12:
Examination 1 40% To be advised

Assessment Requirements

Assessment Policy

Assessment Tasks

Participation

  • Assessment task 1
    Title:
    Individual Exercises
    Description:
    Four (4) programming exercises will be set in weeks 2 through 5. Each of these four exercises is due at the following week's tutorial, where it will be briefly assessed. It will not be possible to obtain marks for work presented after this time. The exercises are cumulative, so it is vital that students keep up with the schedule.

    Students must attend tutorials to submit your work and receive feedback. The exercises are designed to improve object-oriented programming, design, and testing skills prior to the commencement of the major assignment work. The Personal Software Process (PSP) will be introduced as part of these exercises, and a Process Improvement Proposal (PIP) will be due with the final exercise, which is assessed in week 6.
    Weighting:
    10%
    Criteria for assessment:

    Each program will be assessed for correctness with respect to:

    • its functional specification, as well as
    • for good programming style and
    • object-oriented design.
    Due date:
    Weeks 3, 4, 5 and 6 during tutorial
  • Assessment task 2
    Title:
    Team Project
    Description:
    Teams will be provided with a codebase for an existing system. The project has two (2) stages. In the first stage, they will be required to debug the existing code, and extend it to implement some new functionality. In the second stage further requirements will be added, and students will have to design and implement changes to the system to meet these new requirements. All work must be planned, measured and tested according to the Personal Software Process (PSP). Each stage consists of a software engineering planning and design component, and an implementation component. These components are submitted and marked separately. 
    • Stage 1 - Planning and Design (P&D): 10%
    • Stage 1 - Implementation and Testing (I&T): 10%
    • Stage 2 - Planning and Design: 15%
    • Stage 2 - Implementation and Testing: 15%
    Weighting:
    10 + 10 + 15 + 15 = 50%
    Criteria for assessment:

    Plans will be assessed for completeness with respect to the requirements and the PSP.

    Designs and code will be assessed for:

    • completeness with respect to the requirements,
    • quality of object-oriented design, and
    • coding style.

    All PSP metrics and test documentation will be assessed for completeness, accuracy and conformance to PSP guidelines.

    The tutor will monitor individual contributions to the group when allocating marks to members of the group

    Due date:
    Stage 1 - P & D - Friday, week 7: Stage 1 - I & T - Friday, week 8: Stage 2 - P & D - Friday, week 10: Stage 2 - I & T - Monday, week 12:

Examinations

  • Examination 1
    Weighting:
    40%
    Length:
    2 hours
    Type (open/closed book):
    Closed book
    Electronic devices allowed in the exam:
    None

Learning resources

Reading list

Other texts you might find useful include:

  • Pfleeger, S. L., Software Engineering Theory and Practice, 2nd Edition, Prentice Hall, 2001.
  • Sommerville, I., Software Engineering 7th edition, Addison-Wesley, 2004.
  • Humphrey, W.S., Introduction to the Personal Software Process, Addison Wesley 1997.
  • Humphrey, W.S., A Discipline for Software Engineering, Addison Wesley 1995.
  • Humphrey, W.S., Managing the Software Process, Addison Wesley 1990.
  • Humphrey, W.S., Lovelace, M., Hoppes, R., Introduction to the Team Software Process, Addison Wesley, 1998.
  • Peters, J. S., Pedrycz, W., Software Engineering, An Engineering Approach, J Wiley, 2000.

Further Reading:

  • Bennett S, Skelton and Lunn, Schaum's Outlines UML, McGraw-Hill, 2001.
  • Larman C, Applying UML and patterns, Prentice-Hall, 1999.
  • Jacobson I, Booch G and Rumbaug J, The Unified Software Development Process , Addison-Wesley.
  • Covey, S.R., The 7 Habits of Highly Effective People, Pocket Books, 1999.
  • Brooks, F., The Mythical Man Month, Addison-Wesley, 1995.

Monash Library Unit Reading List (if applicable to the unit)
http://readinglists.lib.monash.edu/index.html

Feedback to you

Types of feedback you can expect to receive in this unit are:

  • Informal feedback on progress in labs/tutes
  • Graded assignments with comments
  • Interviews

Extensions and penalties

Returning assignments

Assignment submission

It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/student-academic-integrity-managing-plagiarism-collusion-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an electronic submission). Please note that it is your responsibility to retain copies of your assessments.

Online submission

If Electronic Submission has been approved for your unit, please submit your work via the learning system for this unit, which you can access via links in the my.monash portal.

Required Resources

Please check with your lecturer before purchasing any Required Resources. Limited copies of prescribed texts are available for you to borrow in the library, and prescribed software is available in student labs.

You will need access to: 

  • A Java IDE, such as Eclipse
  • TortoiseSVN (for MS Windows only) - or any other Subversion client
  • A tool for creating UML diagrams, such as Visual Paradigm

This software is installed in the computing labs; links to sites where these tools can be downloaded for free will be provided on the unit website. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook.

Recommended text(s)

Pressman, Roger S.. (2010). Software Engineering, A Practioner's Approach. (7th Edition) McGraw-Hill.

Meyer, Bertrand. (1997). Object-Oriented Software Construction. () Prentice-Hall.

Other Information

Policies

Monash has educational policies, procedures and guidelines, which are designed to ensure that staff and students are aware of the University’s academic standards, and to provide advice on how they might uphold them. You can find Monash’s Education Policies at: www.policy.monash.edu.au/policy-bank/academic/education/index.html

Faculty resources and policies

Important student resources including Faculty policies are located at http://intranet.monash.edu.au/infotech/resources/students/

Graduate Attributes Policy

Student Charter

Student services

Monash University Library

Disability Liaison Unit

Students who have a disability or medical condition are welcome to contact the Disability Liaison Unit to discuss academic support services. Disability Liaison Officers (DLOs) visit all Victorian campuses on a regular basis.

Other

Engineers Australia Stage 1 competencies

This unit is a core unit in the Bachelor of Software Engineering accredited by Engineers Australia. Engineers Australia Accreditation Policy of Professional Engineering Programs requires that programs demonstrate how engineering graduates are prepared for entry to the profession and achieve Stage 1 competencies. The following information describes how this unit contributes to the development of these competencies for the Bachelor of Software Engineering. (Note: not all competencies may be emphasised in this unit).

Stage 1 competency How the compency is developed in this unit
 1. Knowledge and Skills base  
 1.1. Comprehension, theory based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline.  N/A
 1.2. Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences, which underpin the engineering discipline. Understanding of fundamental concepts of object-oriented (OO) programming
 1.3. In-depth understanding of specialist bodies of knowledge within the engineering discipline.  Understanding of basics of software engineering processes and associated practices
 1.4. Discernment of knowledge development and research directions within th engineering discipline.  N/A

 1.5. Knowledge of engineering design practice and contextual factors impacting the engineering discipline.

 Knowledge of basic OO design principles
 1.6. Understanding of the scope, principles, norms, accountabilities and bounds of sustainable engineering practice in the specific discipline.  N/A
 2. Engineering application ability  
 2.1. Application of established engineering methods to complex engineering problem solving.  Application of OO language and design principles in a complex project
 2.2 Fluent application of engineering techniques, tools and resources.  Application of SE techniques for project management, planning, and testing.
 2.3. Application of systematic engineering synthesis and design processes.  Application of basic OO design principles
 2.4. Application of systematic approaches to the conduct and management of engineering projects.  Application of a disciplined SE project management process
 3. Professional and personal attributes  
 3.1. Ethical conduct and professional accountability.  N/A
 3.2. Effective oral and written communication in professional and lay domains.  Production of written project plans and design documents, written and oral reporting on project process and approaches employed.
 3.3. Creative, innovative and proactive demeanour. N/A 
 3.4. Professional use and management of information.  N/A
 3.5. Orderly management of self, and professional conduct.  Application of the Personal Software Process
 3.6. Effective team membership and team leadership.  Participation in a team for the major assignment

Relationship between Unit Learning Outcomes and BSE Course Outcomes

No. CO 1 CO 2 CO 3 CO 4 CO 5 CO 6 CO 7 C0 8 CO 9 CO 10 CO 11 CO 12 CO 13
 1  X                        X
 2  X                        
 3    X  X  X                  
 4      X  X X      X    X      
 5      X  X                  
 6      X      X  X      X  X    
 7        X            X      
 8      X  X        X  X        

Relationship between Unit Learning Outcomes and Assessments

No. Assignments Quizzes Practical Exercises Exam
1  X    X  X
2  X    X  
3  X      X
4  X      X
5  X      X
6  X      X
7  X      X
8  X