In this course, you will work independently on the analysis and development of a specific business computer application. You will come up with your own project based on the broad guidelines provided below for each kind of technology.

After careful consideration, you must submit the project proposal by June 10. The project proposal should include:

1- The problem statement

You need to describe key functionalities of your system from the user perspective.

2- Your choice of technology/tools to be used for project implementation.

Project proposal should be submitted in the corresponding link in Blackboard. See sample research proposal document for an illustration.

If you are going to work with a different instructor (given that the instructor has agreed to advise you), please email me to let me know about this. Also check and confirm with your instructor that the internal roster (shared among faculty) is updated accordingly. This roster is not available on Blackboard or shared with students.

This project is your individual project and grading of advanced systems project is based on how well you implemented the project – based on the specifications that were agreed upon before you started your project.

Students are expected to turn in their original work and are prohibited from reusing past students’ projects for submissions. If any part of the project utilizes code/work used from other sources, the relevant code must be appropriately acknowledged/cited. The final submission must consist of at least 50% of original work done by the student.

Project final submission should include:

1- Completed application

2- Application documentation (requirements document, diagrams, test data etc.).  Depending on the type of project, you may have several UML diagrams, but I expect at least use diagrams and detailed use cases for all projects.

3- Project notes.They are documentation of your research effort to learn about technologies/tools that you had to use for the project.

Following submission of the above items, you will schedule an individual demonstration session. Demonstration involves more than simply showing how the application works. Your grade will depend significantly on your ability to explain your design decisions, implementation and every other aspect of your project.

Final demonstration has to be in person. Intermediate demonstrations can be online and scheduled based on mutual convenience and necessity. Your instructor will advise in this regard.

Below is a list of general project requirements for various technologies:

Networking Projects:

Project requires actual hands-on work on some of the latest technologies in Networking.  This includes Storage Area Networks, Virtualization and Cloud Computing.  Projects will be graded based on their complexity and completion of requirements.  You can use a single platform (Windows Server for example) or multiple platforms (Linux and Windows Server, for example).

ASP.NET projects

  1. Web site should be able to store and modify data using databases.
  2. Web site design should apply concepts of master pages, navigational controls, validation controls and styles/themes.
  3. Parts of the web site should only be accessible to registered users. This includes role-based security and profiles.
  4. Project should include application of state management techniques.
  5. Application of a tiered design using components.
  6. Use of Ajax.

Database Projects

  1. Complete Entity-relationship diagram or Database diagram (at least 4 tables).
  2. Database SQL script file for a specific DBMS.
  3. Query statements used for related reports and analysis (proto typed design).
  4. SQL statements for forms used in data input (proto typed design)
  5. Technology used in database layer in the application (such as ADO.NET) and sample code.

Software Development in C# or Java or any other programming language

  1. Documentation includes detailed use cases, class diagrams, sequence diagrams, package and architecture (optional).
  2. Consist of at least 8 non trivial use cases (leading to at least 8-10 Business tier classes)
  3. Should be at least 3 tiers.
  4. Should implement one or more design patterns.
  5. Code should have global documentation (publish API relevant for your environment)
  6. Involve reasonable data tier and follow DB design norms.
  7. Create a few unit test cases for demo.
  8. While demonstrating, the working code should map to your class diagrams.

Mobile Computing – any platform

  1. Documentation includes detailed use cases, and wire frame of the app (you may use any tool)
  2. Should involve storing data in a local DB or using services.
  3. Should be innovative and useful (similar app should not be available in the web) – so get the concept approved before you start.
  4. Should be able to publish and copyrights belong to UCM.
  5. Performance of the app is important criteria for evaluation.
  6. Web apps cannot qualify as one in this category (follow the web development norms published)

Web based project (other than ASP.NET)

  1. The website should be complete and involve data storage.
  2. Appropriate documentation.
  3. Should use HTML5
  4. Use at least 1 technology that is not covered in the Internet Track.
  5. May use any web development tools.
  6. Follow UI norms/patterns (refer to any UI patterns and cite it in the project note that has to be submitted for such project)
  7. Should have all validations and your website must look professional.