You are on page 1of 18

Software Engineering

Introduction to the module

2013

Module details
Module code

FIT330

Module name

Software Engineering

Credits

Five (5)

Prerequisites

FIT324, FIT523

2013

Java programming required

FIT330 Software Engineering

Outline
What is it about?
Objectives
Structure
Assessment
References
Study method

2013

FIT330 Software Engineering

What is this module about?


A practical introduction to software engineering
Consists of two parts:

2013

Part I: Object oriented programming


concepts and techniques in Java
Part II: Software engineering method
a disciplined software development
process
apply to a small software development
project
FIT330 Software Engineering

Java or not Java


Why Java?

pre-requisites and experience

an object oriented programming language

Applicable to other OO (-related) programming


languages:

2013

e.g. C++, C#, PHP

FIT330 Software Engineering

Module objectives
Apply core OOP concepts, techniques, and
design patterns
Understand software architecture modelling
Apply a software engineering method
Apply a practical and relatively formal
requirement engineering technique
Apply UML to analyse and design software

2013

FIT330 Software Engineering

Part I: OOP
More OOP: higher-level abstractions:

Type hierarchy

Iteration & Polymorphic

Code safety: exceptions


Testing & debugging:

2013

unit-level

FIT330 Software Engineering

Types of abtraction
Procedural abstraction
Data abstraction

Iteration abstraction

Object
Oriented
Programming
(e.g. Java,C++)

Type hierarchy
2013

FIT330 Software Engineering

Types of abstraction
Procedural abstraction: to define new
procedures
Data abstraction: to define new data types
Iteration abstraction: to generalise access to a
collection of objects
Type hierarchy: to generalise types

2013

FIT330 Software Engineering

Part II: Software engineering


Software engineering method

a structured and well-defined process

Requirement engineering

focus: requirement analysis

Architectural modelling
Design and patterns
Implementation
Testing:

2013

system-level
cont'd from Part I
FIT330 Software Engineering

10

Assessment
Assessments
Mid-term test

Weights
15%

Assignment

25%

Final Test

60%

2013

Brief Descriptions
Validate OO programming knowledge
and skill in Part I
Design, code [and test] an extension of
a keyword search engine program
Covers all the materials that have been
studied during the semester

FIT330 Software Engineering

11

Self-assessment
Home works: include

tutorial answers

additional exercises (depends)

Submit each week to FIT


No marks but important for progress check

2013

FIT330 Software Engineering

12

Software engineering assignment


To understand how a software is developed
and to develop an extension for it
Development approach:

incremental and in-line with the lectures

finish the software in the last week!

Scope: (in pairs) individually


Deliverables:

2013

a software

a technical report
FIT330 Software Engineering

13

References
Prescribed text book:
Liskov B. and Guttag J., Program Development
in Java: Abstraction, Specification, and Object
Oriented Design, Addison Wesley, 2001
Supplementary:
Sommerville I., Software engineering, 9th ed,
Addison Wesley, 2011
Larman C., Applying UML And Patterns: An
Introduction to Object-Oriented Analysis and
Design and the Unified Process, 2001
2013

FIT330 Software Engineering

14

References (2)
Java:
Savitch W., Absolute Java, 2009
Java (>= 1.5) tutorials and API documentation
(URL: java.oracle.com)

2013

FIT330 Software Engineering

15

Study approach
Learn by doing: practice makes perfect!

try the code examples

do the exercises

Self study: you must put in effort!

read the lectures and related resources

submit home works each week

Get help: don't delay your problems!

2013

ask questions in lectures

make the most of the tutorials!

use forums (for other issues)


FIT330 Software Engineering

16

Last but not least!


In my lectures...

2013

FIT330 Software Engineering

17

Questions?

2013

FIT330 Software Engineering

18

You might also like