Studio
The Software Development Studio is a major component of the MSE program. As in traditional master's programs that rely upon a thesis project to evaluate a student's performance, the purpose of the Studio project is to assess the student's grasp and internalization of core MSE program concepts. Teamwork, organization, and the use of disciplined software processes are stressed in Studio project work. Students are encouraged to incorporate classroom lessons into the everyday practices for real-world projects and asked to reflect on their choices. Because students return to industry as software engineering practitioners, the "hands on" approach of the Studio has proven to have far greater value and a longer-lasting impact for the graduates.
Software Development Studio spans the entire MSE program, commencing the day that students enter the program, concluding with their successful completion of the program. Accounting for 40% of the program, it is the 'sandbox' in which MSE students apply knowledge gained from core and elective courses to realistic, yet mentored, environments. Former and/or practicing professionals are selected to mentor each Studio project, providing team as well as individual guidance. With their significant industrial experience, mentors bring their experience to bear in guiding students in their application of methods, techniques, and technologies learned in the classroom to real-world problems encountered in Studio. The Studio allows for Reflective Practice in which the students are given the opportunity to collaborate informally with team members and mentors for the purpose of evaluating the impact of their choices and decisions throughout the project duration.
A Sample of Past Studio Projects
Medusa
A software engineering team at Boeing Defense and Space Group was working on a distributed operating system for a new helicopter. Most of the engineers still used VT100-class terminals. They needed a way to seamlessly boot up and synchronize multiple target processors in order to perform system testing. The Studio team implemented a form of windowing for the terminals that ran transparently under VMS, including using VMS Help and other operating system facilities.
Architectural Visualization Projects
Two different systems were implemented to assist architects and their contractors to have different "views" of buildings in a coordinated way. Usually plumbers, HVAC engineers, electricians, and architects have to reconcile their different needs in building construction by manual and awkward means. The systems implemented by the Studio teams assisted in automating and intelligently reconciling cable runs, piping, HVAC, etc.
Computer Assisted Instruction (CAI)
A Studio team re-engineered a CAI system that teaches logic. The old system was assembled from various sources and its interfaces had become unmaintainable. The Studio team re-implemented the underlying knowledge base and part of the user interface.
Tessellator
Before the Space Shuttle flies, its thermal protection system has to be waterproofed by injecting a toxic chemical into each of the thousands of individual tiles. A perfect job for a robot. Two Studio teams implemented the software to move and position the robot, move and position its arm, and do planning of its work.
APEX
This project is a robot to explore the moon and Mars. It has some requirements for autonomous operation. The Studio worked on navigation software and the system specification. It also re-engineered part of the existing "standard" robot message passing system, Task Control Architecture.
TCAMS
The Tape Copy and Management System (TCAMS) is one of the most successful Studio projects in terms of producing high quality code by following a defined process. TCAMS is 7,000 lines of C that controls a robotic tape mounting system and associated computers for the Air Force's B-2 test program. The product had a total of three defects detected in unit and itegration test combined [0.44 defects/KLOC]. Tour more defects were found by the client in acceptance test, none major. After six months of operations, no additional defects were found.
NDBS 2.0
Netscape Database Keystore 2.0 (NDBS 2.0) is a 100% Java Keystore Service Provider Interface for extracting private keys and X.509 v3 certificates from Netscape products. This Studio team also produced an SEI Technical Note describing the experience of the conversion and development process, difficulties, and lessons learned:
Beyond the Black Box: A Case Study in C to Java Conversion and Product Extensibility
Carpe Cimex
The purpose of this project was to do benchmark performance testing of Enterprise Java Beans (EJB) implementations. The team designed and developed an agreed to set of benchmark programs, and produced statistical results. There were two interesting aspects to this. The first is that EJB implementations were quite new, so the team had to work with Beta test EJB implementations that were not mature, and in the end switched from IBM WebSphere to BEA WebLogic in order to complete the project. The second noteworthy aspect is that most of the other Studio groups and the mentors were not familiar with EJB either, so essentially the team had to do their own peer reviews and inspections. With a lot of hard work, this project was successful.
Sentinel
The Sentinel project provided prototype software in support of electronic treatment plans for mental health patients. The client was a startup company, and the client representatives were not available to the extent needed to support the student team. The student team took the initiative for developing requirements, architecture, and completing the project with little customer input. In addition, they applied a number of techniques they had learned in the MSE, and supported some experimental research work in survivability at the SEI.
© 2003 Carnegie Mellon
Webmaster
Home
General Information
Admission
Plans Of Study
Curriculum
People
Facilities
Contacts
Login