Carnegie Mellon University

MSIT Project (Distance MSIT-SE)

Course Description

The MSIT Project is the capstone demonstration by the student of their abilities as a software engineer.

The purpose of the MSIT Project is for you to demonstrate command of the material learned in the core and electives courses you have taken. You will do so by solving a substantial practical problem in a realistic setting. Your focus will be to understand a major aspect of the software development life cycle in detail.

While the MSIT Project is intended for individual students, it may be completed in very small teams of no more than three people. All member of the team must have completed the core courses in the MSIT program. A team project must be more significant in scope than a project by an individual.

The MSIT Project may be completed on campus or off campus at your place of work.

The steps for the MSIT Project are

  1. Propose a project. This will take the form of a formal document and will be considered the first deliverable of the project. The proposal must include
    • an executive summary
    • a definition of the work to be completed, including
      1. deliverables
      2. timelines
      3. reviews
      4. final report
    • two advisors (A technical advisor who can evaluate the content of your work and a Carnegie Mellon faculty mentor who will evaluate the correctness of your process.)
    • a proposal of how you want the grade to be generated from the MSIT Project material
  2. Discuss the project. Discussions will take place with the student's faculty mentor, technical advisor, and pertinent work supervisor (in the case that the MSIT Project is done off-campus and in cooperation in with the student's employer).
  3. Receive approval. Approval usually occurs after all parties involved have agreed on the proposal and deliverables, clarified issues that may have arisen in the proposal process, and contact between the mentor and the advisor has occured. Approval must be in writing from the Carnegie Mellon faculty mentor.
  4. Begin the project. Students are to report periodically to their faculty mentor and technical advisor.
  5. Deliver a report that addresses the strengths and weaknesses of the technique in the chosen domain, and relate what went both well and poorly throughout the MSIT Project experience.

An alternative to the outlined MSIT Project is for a student to participate in the development phase of an existing MSE Studio project. The deliverables are the work that the student performs as part of the Studio project, in addition to his/her contribution in a specialized area of the software development process. Deliverables will always include a report which addresses the strengths and weaknesses of the technique in the chosen domain and relates what went well and what did not.

Should the student choose to work with an MSE team, he or she must secure the necessary agreements from the program directors, and submit a proposal for consideration. Additionally, the selected MSE team must agree to the participation of the MSIT student. Attendance at, and active participation in, the MSE mid- and end-of-semester presentations and delivery of the final project products are mandatory.

* Deliverables will always include a report which addresses the strengths and weaknesses of the technique in the chosen domain and relates what went well and what did not.

Guidelines for the MSIT Project

Example of a MSIT Project proposal

MSIT Project Proposal Form (MS Word format)

How to Write an Executive Summary

Crafting a Powerful Executive Summary

MSIT Project Samples

Software System for Analysis of Forensic Evidence of Computer System Intrusions (2000)
Throughout the summer of 2000, several students worked with an industry partner to develop a software system for the analysis of forensic evidence of computer system intrusions. The study used traditional UML to describe the system design; given that the system's data artifacts could be used as evidence in a court of law, it was essential that correctness could be provable. Validating the traditional UML design artifacts using Z, the team proved various properties related to the system.