Des Greer photo


I am currently teaching MEng Level 4  Advanced Software Design, MEng/BEng/BSc Level 3 Software Design Principles and Patterns as well as MSc Software Design Principles and Patterns. Students completing these courses should at the end have a good knowledge of the software design process for object oriented software; be able to describe software design principles and be able to choose from a range of software design patterns and to implement these singly or in combination to solve specific problems. As well as that they should know about the application of Software Architecture design. We also look at current and possible future trends in Software Design. Most implementation examples are in Java.

I used to teach CSC2009 - Software Development for the Web. There are some students still to be examined in this. The content was the design and implementation of effective, highly interactive and dynamic web based systems. This was achieved with client-side and server-side code - XHTML, JavaScript. C#,  and ASP.Net. 


Areas of Interest: Software Evolution Planning; Software Risk Management; Software Adaptivity; Requirements Engineering and Evolution; Agile Software Development, Software Engineering Decision Support.

I have several ongoing PhD projects. including:

Semi-Autonomic Software Risk Management (PhD, Ms E. Odzaly)  is about finding ways to lower the barriers to performing risk management. The proposed solution is using agents to act on behalf of the relevant stakeholders picking up data from the software engineering environment.

Software Requirements Volatility: Analysis, Management and Prediction (PhD, Ms S. McGee) is about finding ways to detect, manage, analyse and predict volatility in requirements.

Visual Automation of Natural Language Specification to Software Design Models (PhD, Ms N. Jali) is about generating UML behavioural models of software systems move from text based requirements making use of existing business ontologies and natural language processing tools.

I also have an interest in software planning, particularly release planning. Release planning is about deciding what to release to customers and when. Where you have many stakeholders, resource, budget and time constraints as well as dependencies between requirements, its not really so simple. There are other problems too, like getting the architecture right in the early stages and then there is the problem of how to manage risk. You want to maximise value early on, but not to ignore risk mission critical risks. Previous work has used Search based Software Engineering approaches. Other interests include agile methods, software evolution, software design patterns.


Industrial placement

Any questions about placement presentations, report assessment please ask me at des.greer(at)

Web Links
Conferences/ Events

Knowledge Transfer - KTP projects are involve a partnership between a company and QUB. A project is created that has synergy between QUB and the company. The company  can use the skills and expertise at QUB and at the same time as gaining a highly qualified graduate to work full time in the company.  KTP projects are part-funded by a government grant.


Research, Training and Consultancy  - If you have an interesting problem (e.g. in the areas of agile methods, requirements management, release planning, change/risk management, design patterns, software architecture or software economics) and want to collaborate please contact me at des.greer (at)


PhD Projects