Individual/Team Project Assignments
 
 
Team Member(s) Project Name
1 Loren Stroup   Estimate/measure defects
2 James Doty   Cluster controller
3 Lucas Schroeder   Agile software development methodologies
4 Andrew Browne   Humane chess engine
5 Brian Koksal   UML generating tool
6 Valery Martinez   Software reliability engineering
7 Adriana Ogasawara, Joshua Mahaz   Intruder detection system
8 Jason Beck   Virtual Wiiality
9 Mukundan Venkataraman, Mohamed Z. Ahmad   SenSim: a sensor network simulator in Java
10 Volodymyr Pryyma, Mustafa I. Akbas   Autonomous rechargeable sensor network simulator
11 Bennie Lewis   Software Testing
12 Enrique Ortiz, O. Bilal Orhan   Where are my friends?
13 Christopher Stricklan   Matrix LU solver in Java
14 Vatana An   Software automation tools
15 Gloria H. Law   Agile softare development with Scrum

Guidelines for project reports

For the project report, please use the ``latex'' (version available for Windows and Linux). See the definition of Latex from Wikipedia. You can download the MikTEX. The The Not So Short Introduction to LATEX is a good manual that I would recommend. Please use Bibtex for the references. Please use the templates from IEEE publications site.

If you have any questions, please post it to the class emailing address which would be useful for the other students since there are some students in the class who have experience with latex. You do not need to copy the TA or I since we are both in the emailing list.

Possible Software Engineering II Class Projects

Project 1: Equation Extraction

Scientific papers are typically filled with equations and analysis. To make use of those relationships, it is typically necessary to manually wade through the paper, searching for the equations that are useful. Your job is build a piece of software that automatically extracts and stores equations from PDF files. The equations should be stored in MathML so that they can be searched for later on. Automatically extracting these equations will enable a new kind of web search that will help scientists and engineers everywhere.

Contact:Jimmy Secretan, School of Electical Engineering and Computer Science, Email: secretj@cfl.rr.com University of Central Florida, Orlando, 32816-2362. Cell: 408-325-3581.

Project 2: Cluster Controller

Today it is common to find large Linux cluster computers composed of hundreds of nodes. They tend to be difficult to manage simply because of the number of nodes to be managed. One possible way to simplifying their management is through highly visual applications. Your job is to build an application that will manage a large number of related cluster nodes and represent them visually. Users should be able to quickly see what nodes are up or down, and using the mouse, select groups of nodes to control simultaneously. Users should then be able to issue commands to the selected nodes over ssh

Contact:Jimmy Secretan, School of Electical Engineering and Computer Science, Email: secretj@cfl.rr.com University of Central Florida, Orlando, 32816-2362. Cell: 408-325-3581.

Project 3: Automated Intrusion Detection

Viruses and spyware are a huge problem with modern computing, costing billions of dollars a year in productivity. These malware applications have become increasingly sophisticated and continue to outsmart pattern matching approaches used by modern spyware/virus scanners. As such, your task will be to design a prototype system capable of automatically detecting system instrusion. Much research has already been done on the algorithms capable of this, but no readily available proof of concept exists. You will produce a simple system that can scan the computer and recognize a potential threat based on previous data, not tediously made template files.

Contact:Jimmy Secretan, School of Electical Engineering and Computer Science, Email: secretj@cfl.rr.com University of Central Florida, Orlando, 32816-2362. Cell: 408-325-3581.

Project 4: Software Process

Define a tailored software process specifically designed for Web-application development,in particular, WebApps that use a database. Are there any specialized effort and schedule models for such projects (e.g. Cocomo - like)?

Project 5: Estimate/Measure Defects

How do you measure/estimate number of defects remaining in code at time of release? (Hint: related variables to this question include defect detection rate, defect removal efficiency, defect density, and process maturity.)

Project 6: Software Quality

Review studies on the cost-of-quality in software engineering literature. It is generally considered hard to apply the results to a specific project. Provide suggestions on how to assess the cost-of-quality for three example projects of your choosing.

Project 7: Software Product Quality

What is the impact of the organization's level (ISO certified or CMM assessed) on the product quality?

Project 8: Software Testing

What would be different when a software tester performs test planning for different systems and application domains? Consider mass-market software products, COTS software, internal-use-only software tools, embedded software.

Project 9: Software Testing

There are open research problems and/or questions about statistical usage-based web testing, especially with the missing information or information not recorded in the server access logs. Research and suggest alternative ways to obtain such a missing information or how to deal with other open problems and/or questions.

Project 10: Software Testing

Even though several emprical studies which compare inspection more favorably than testing, it is still not as widely used as testing. Describe your assessment behind this statement.

Project 11: Software Reliability Engineering

Software reliability engineering is both an active area of research and area with great potential for practical applications. Describe its potential in the web-based applications and software, or other emerging market.

Project 12: Software Automation Tools

Select three automated software estimation tools to use. You can find them on the web with a demo version or short time period licences.

(a) Determine the types of algorithms each of them use

(b) Review the tools you selected and provide critique for each of them (pros/cons, improvements if any) and order them according to your preference.