CITS5502 Research project topics 2017

Below are 8 research project topics. You must form a project group and work on one of the topics. We allow the project group size to be from 2 to 5. You will need special permission from the Unit Coordinator if you want to work on the project alone.

For each project topic, you have sufficient freedom to explore different issues and have different focus. Thus, we expect that even if more than one project group works on the same project topic, the research reports submitted at the end of the project are not identical.

Whichever project topic you pick, you would need to do a lot of research on the web for relevant materials, papers, software tools, etc. You should aim at forming your project group and start research on your chosen project topic early You also need to give a seminar about your research project.

Further information about how to sign up to form project groups will be given later in the semester (around week #4).

Project Topic 1

Case studies for two Agile models. In this project, you should investigate and report two case studies where, in one case study, an agile model has been shown to work well and, in another case study, an agile model has been shown to fail. You can choose any agile model (SCRUM, XP, RAD, etc). You should go in depth in each case study and analyze why one succeeded yet the other one did not.

Project Topic 2

Software testing is particularly difficult for event-based systems. In this project, you should investigate two latest software testing tools that facilitate the software testing of event-based systems. Comment on the features supported by each testing tool, their pros and cons, learning time, testing automation, error reporting, etc.

Project Topic 3

The use of standards aids in the creation of products and services that are safe, reliable, and of good quality. The ISO (International Organization for Standardization) is the world's largest developer of voluntary international standards. In this project, you should report two ISO standards that are relevant to software development, software security, software testing, or software quality characteristics.

Project Topic 4

Software process for safety critical systems. This project has a more general scope so different project teams choosing this project may have different issues to focus on. One option is you look at the software process that is recommended for general software systems (large, medium, small but not safety critical) and then focus on specific activities that should adapt or alter to suit the software development of safety critical systems. Another option is you analyze and contrast the software processes for two safety critical systems, where one being a small system but the other being a large and complex system.

Project Topic 5

Software development and process online systems. As more and more services move to online mode, many software systems are required to work over the internet. In this project, you should analyze and report the software development process commonly adopted for implementing and delivering online systems. You should refer to two online systems as examples. You can refer to tools widely used in the implementation stage, testing stage, risk analysis stage, etc. You can also focus on the technical issues (security, scalability, third party, involved in developing such systems.

Project Topic 6

Metrics used in software development. Throughout the whole life cycle of software development, we want to do a lot of measurements: assessing whether the client's requirements are correctly captured, estimating the budget, deadline, assessing the number of defects in the code and how long to fix them, etc. In this project, you should investigate a number of metrics that are suitable for different software life cycle stages. When there is more than one metrics relevant for the same task, you should compare them. You should justify each metric and also cite a couple of systems that have used each metric.

Project Topic 7

Many open-source software programs today are developed by people who are not co-located and who have probably never met each other during the entire life time of the project. These programs have old team members dropping out and new team members joining in. How did they manage the programs? How did they fix defects? How did they manage version control? What are the possible risks that may arise? In this project, you should find two open-source software libraries (you may have used these libraries before) and study the software processes behind the scene that make these libraries so successful.

Project Topic 8

AI and SE. Artificial Intelligence and Software Engineering are two different disciplines that have been evolved separately. However, AI techniques have recently been applied to SE. In this project, you should investigate and comment on those AI techniques that have been used in project specification, implementation, testing, finding defects, etc. You should draw upon two case studies where AI techniques have been applied to various stages of software development.