Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
3 views18 pages

Lect01 Introduction Module

The Software Engineering module provides a practical introduction to software engineering, focusing on enhanced object-oriented programming and disciplined software development processes. Students will apply core concepts, UML, and requirement engineering techniques through two assignments culminating in a small software project. The course emphasizes communication rules, a structured study approach, and the use of Java programming language.

Uploaded by

alvanodoor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views18 pages

Lect01 Introduction Module

The Software Engineering module provides a practical introduction to software engineering, focusing on enhanced object-oriented programming and disciplined software development processes. Students will apply core concepts, UML, and requirement engineering techniques through two assignments culminating in a small software project. The course emphasizes communication rules, a structured study approach, and the use of Java programming language.

Uploaded by

alvanodoor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Software Engineering

Introduction to the module


Outline

Some ground rules

What is this course module about?

Objectives

Structure

Assessment

References

Study method

Duc M. L. Software Engineering 2


Rule #1: in the class...


Please keep quite, unless you have something
to share with the TEACHER & CLASS!

Ask questions and raise issues if you have any:
– share your thoughts with the TEACHER & CLASS!
– in an orderly manner!

Duc M. L. Software Engineering 3


Rule #2: How to communicate...


In the lectures and tutorials

Use the designated Google classroom.

Do NOT use email to ask questions that should
have been asked using the above methods.
– e.g. you may NOT get a reply if you email teaching
staff about the assignments
or about something that you don't understand in a
lecture/tutorial.

Duc M. L. Software Engineering 4


What is this module about?

A practical introduction to software engineering

Consists of two parts:

Part I: enhanced object oriented
programming with annotation

Part II: Software engineering method
– a disciplined software development
process
– apply to a small-to-medium-sized
software development project
Duc M. L. Software Engineering 5
Module objectives

Apply core OOP concepts and techniques

Apply a software engineering method

Apply a practical and relatively formal
requirement engineering technique

Apply UML to analyse and design software

Duc M. L. Software Engineering 6


Key features!

Program design is essential

BUT there are different design methods

You will be required to follow a specific (very
practical!) design method:
– to strictly follow the design rules
– your design and code are marked automatically!
→ follow the rules will result in a good mark
OR failure to do so will give you a low mark !!!

Programming 2 7
Choice of PL


Why Java?

pre-requisites and experience

an object oriented programming language

Applicable to other OO (-related) programming
languages:

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

Duc M. L. Software Engineering 8


Java


Java (>= 1.8):
– a popular Long-Term Support (LTS) version
– still used in many systems (see survey)

In this course: Java 11+
– a next LTS version from Java 1.8
– supports type inference (from Java 10),
new lambda syntax

Recent LTS version(s) that are gaining popularity:
– Java 17 (LTS)
Duc M. L. Software Engineering 9
Java version usage
https://www.jetbrains.com/lp/devecosystem-2022/java/

Which version of Java is regularly used?

Duc M. L. Software Engineering 10


Part I: Enhanced OOP


Enhanced OOP: using annotation in OOP:

enhance design with rules

compile-time design validation

Type hierarchy

Code robustness with exceptions

Duc M. L. Software Engineering 11


Part II: Software engineering


Software engineering method

a structured and well-defined process

Requirement engineering

focus: requirement analysis

Design

Implementation

Duc M. L. Software Engineering 12


Assessment


2 assignments:
– increasing level of complexity
– A2 depends on A1

A2: a small SE project
– to understand how a software is developed and to
develop an extension for it
– incremental development and in-line with the lectures
– finish the software in the last week!
– deliverables: software + technical report

Duc M. L. Software Engineering 13


Homeworks


Home works include:
– tutorial answers
– additional exercises (depends)

Complete homeworks to maintain learning
progress

Duc M. L. Software Engineering 14


Main references

Main Coursebook:
Duc M. L., Object Oriented Program Development, 2023
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, 10th ed, Pearson,
2015

Larman C., Applying UML And Patterns: An Introduction to
Object-Oriented Analysis and Design and the Unified
Process, 3rd ed, 2004
Duc M. L. Software Engineering 15
Main references: Java


Java (>= 1.8) API documentation:
– https://docs.oracle.com/en/java/javase/17/docs/api/index.html

Java tutorials:
– https://docs.oracle.com/javase/tutorial

Relevant links are provided on GClassroom

Duc M. L. Software Engineering 16


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!

ask questions in lectures

make the most of the tutorials!

Duc M. L. use the forum Software Engineering 17
Q&A

Duc M. L. Software Engineering 18

You might also like