Sei sulla pagina 1di 13

Advanced Software

Engineering Topics

Dr. Kevan Buckley

6CS002, Dr K Buckley 1
Lecture 1 - Introduction

Dr. Kevan Buckley

6CS002, Dr K Buckley 2
Lecture Outcomes
• To understand the outline of the module

• To understand the requirements of assessment

6CS002, Dr K Buckley 3
Pre-requisites
• You must have studied CP2089 or CP2029 or
CP2120 or equivalent

• You must not have passed CP3029 or CP3050

• This is an advanced programming module


– It is not advisable to attempt this module until you
have successfully passed the level 5 programming
stream.

6CS002, Dr K Buckley 4
Module Overview
The module aims to prepare you for a career in software
development by first equipping you with theory and
knowledge of Software Engineering and coupling it
with practical application of current techniques.

6CS002, Dr K Buckley 5
Module Overview
The first part of the module aims to mimic a task similar
to that faced by many software engineers in their
first job. The task involves the maintenance and
extension of a legacy system and includes reverse
engineering, automated regression testing and the
application of refactoring and design patterns.

6CS002, Dr K Buckley 6
Module Overview
The second part of the module aims to make you aware
of emerging techniques and technologies. Two
topics that are of current interest will be focussed
and may vary over different runs of the module.
Example topic areas include Domain Specific
Languages, Quantum Computing, Static Code
Analysis.

6CS002, Dr K Buckley 7
Week by Week Schedule
Week 1 Bad Smells
Week 2 Refactoring
Week 3 Regression Testing Kevan Buckley
Week 4 Coursework Review - Bad Smells
Week 5 Design Patterns
Week 6 Design Patterns
Week 7 Constraint Programming
Week 8 Constraint Programming
Week 9 Consolidation Matthew Burley

Week 10 Domain Specific Languages


Week 11 Domain Specific Languages
Week 12 Consolidation
6CS002, Dr K Buckley 8
Part 1 - Books
• Essential
– Fowler, M. “Refactoring: Improving the Design of
Existing Code (Object Technology)”, Addison
Wesley (1999), ISBN: 0-20148567-2

• Desirable
– Freeman, E., Freeman, E., Sierra, K. & Bates, B.
“Head First Design Patterns”, O’Reilly (2004), ISBN:
0-596-00712-4
– Martin, R.C., “Clean Code”, Prentice-Hall, 2008,
ISBN 0-13-235088-2
6CS002, Dr K Buckley 9
Assessment
• Assessment Component 1 consisting of 1
element: A portfolio with 8 parts
– 7 submission deadlines

Task Deadline Indicative Weight %


Critical review of software Monday 7 February 10
Refactoringout bad smells Monday 28 February 20
Refactoringin design patterns Tuesday 8 March 10
Testing Tuesday 8 March 10
Constraint satisfaction 1 Tuesday 15 March 10
Constraint satisfaction 2 Tuesday 29 March 15
Domain specific languages 1 Tuesday 5 April 10
Domain specific languages 2 Tuesday 10 May 15

* all tasks to be submitted through Wolf by 23:59 on dates indicated

6CS002, Dr K Buckley 10
Assessment (KB)
• Refactoring Abominodo
– “The awesome new game from the makers of Cheezy
Chess, JumbleMeister, SyferStyfler, Dicezy and other
classics”.
– A Domino puzzle
• Part 1
– Write an evaluation of the existing system
• Part 2
– Refactoring out bad
• Part 3
– Refactoring to use design patterns
• Part 4
– Testing

6CS002, Dr K Buckley 11
Assessment (MB)
• Part 5, 6
– Constraint Programming Techniques
• Part 7, 8
– Domain Specific Languages

6CS002, Dr K Buckley 12
Questions

6CS002, Dr K Buckley 13

Potrebbero piacerti anche