Sections
  1. Home
  2. About Us
  3. Education and internships
  4. ACE research
  5. Showcase
  6. EA Research Forum
Document Actions

Capstone Design Course - CS&E 758

by admin last modified 2006-05-18 06:26

CSE 758 (Software Engineering Project): This is our most popular capstone design course. This is open to OSU CSE students only. The prerequisites for the course are CSE 560 and 757. CSE 560 provides students with a first serious experience in software design and implementation, working in teams, and in producing documentation. CSE 757 provides additional knowledge of software development practices, methods for implementation and maintainence of software, as well as the importance of reliability of software and ways of achieving it.

The major objective of this course is to ready students for the marketplace by requiring them to exercise the knowledge they have gained in previous software and software engineering courses on industry-specified real world problems.  See recent examples of projects showcased during CSE 758 Software Engineering Senior Design Capstone Open House

Specifically, upon completing this course, students are expected to have applied their software engineering knowledge to aspects of:

  • Software design driven by non-functional requirements: scalability, security, usability and performance
  • Generating and evaluating design alternatives
    • Pattern-based software design
  • The process of developing software:
  • Configuration management
    • Project management, planning, team structure, roles and responsibilities
    • Incremental and iterative, workbook-centered, object-oriented, agile, lean software development
  • Project planning
  • Presenting work to an audience of peers
  • Business issues in software development
  • Specific tools and techniques that students typically use include:
  • Object oriented analysis, design and implementation work-products.
  • Lean software engineering.
  • Unified Modeling Language (UML) notation for some of the above work products.
  • Configuration management tools (RCS, SCCS, Ant, Make, or other), and other miscellaneous tools - Web authoring tools, Word processing tools etc.
  • J2EE tools and components: Java 2 SDK, servlets, JDBC, JUnit.
  • .NET tools and components: SQL-Server, ASP.NET, C#
  • Documentation/Markup languages including HTML, XML, and Javadoc.

Projects in this course have been many and varied, and are now mostly provided by industry organizations. Some organizations have also sponsored projects via small cash grants in return for any intellectual property developed in the course. In all cases, the external organization has assigned one or more of their personnel to work with the students - mostly in the provision of requirements, but also as mentors. Finally, industry representatives are invited to the mid-term and final presentations made by students, to act as the "instructor-for-a-day", and provide feedback on how the students are proceeding, with specific feedback on what portions of the projects could make a suitable employment portfolio.

The number of projects done in a quarter depends on the number of students in a section. One of the sections, taught by Dr. Rajiv Ramnath (course coordinator), typically assigned a project to sub-groups of 4-7 students. Other sections (taught by a variety of instructors) have typically assigned a single project to an entire section.

Projects have included:

  • A SmartCard system, as a secure access card as well as a cash card system.
  • A cable network DOCSIS-compliant network dimensioning tool user-interface and back-end, algorithmic logic for network provisioning. This project was sponsored by Cable Labs Inc. - a cable industry industry consortium. Also, in a separate project, a
  • test management framework for the above tool was developed.
  • Several small components of "ERP" systems. In one such project - sponsored by Northwest Ohio Secure Systems (NWOSS) - the students were asked to architect a complete ERP system. This project was guided, managed and mentored by several industry professionals, under strict time constraints.
  • A sensor-network based traffic-management system.
  • A web-based referee-signup and management system for the Mid-Ohio Select Soccer League (MOSSL). This system was completely designed by the students to be (a) highly-scalable to support the 1000 or so MOSSL games that take place each week, as well as the end of season MOSSL tournaments that all take place in the weekend following each MOSSL session (b) to be highly-usable by non-web-savvy volunteer referees and (c) extensibly implement MOSSL registration policies.
  • A public assistance web-site. This was done in collaboration with graduate students from the School of Public Policy and Management, as an experimental inter-disciplinary inter-departmental collaboration.
  • A donation- and charity campaign-managment web-site for a non-profit food-bank NSI Columbus - a local charity that has, since 1980 - distributed over 300 millions pounds of food to the local population in need.
  • Rearchitecture of the corporate web-site for National Cash Register (NCR) Inc. Here the students developed a very creative dynamic interaction paradigm around the use of "Webmarks" used to store pages and items of interest, as well as a backend architecture that supported dynamic content delivery.
  • Design and implementation of an Erector toys e-commerce web site - including both the implementation of the web site functionality as well as applying search engine optimization (SEO) techniques to the page content to enable its higher ranking by search engines.
  • Architecture, design and implementation of a development framework and toolkit for hand-held e-business applications, along with a specific set of applications for supporting the mobile real-estate agent. This project was also the O.S.U. entry to the Microsoft Imagine Cup competition.

The use of real external projects, in almost all cases, has brought in significant and interesting complexity to the projects - much more so than if the instructor had formulated projects. Students have been very motivated because of the presence of a real customer. Some projects have been very successful, and are confidently showcased by both students and the instructors to external industry. Business requirements have been well-understood by students, and there is a clear connection to business and market requirements in the scope and design of the projects.

Students are also made aware of ethical, social and professional considerations - in their dealings with the customer sponsors (e.g. having to sign non-disclosure agreements), and because of the characteristics of the applications themselves (e.g. ADA-compliance, privacy laws, and how the web provides access to public assistance). A small number of the projects have been in collaboration with other Departments (such as the School of Public Policy). This collaboration has made CSE students aware of ethical, social and professional considerations in other fields as well.

Each of these projects have required system and software design to meet realistic constraints. User-interface (UI) requirements have been the primary non-functional (design) requirements that students have concentrated on. The extremely high-performing group doing the MOSSL project considered scalability as a key design requirement, studying several design alternatives, and implementing connection pooling, caching, very lightweight templates and database optimizations. Another group (that did the SmartCard digital cash project) made security their primary design requirement, and brought in the use of considerable digital-cash technology. The PDA application framework project had to consider several of the resource constraints intrinsic to a PDA - such as limited screen size and disk space.

Where appropriate, consideration of relevant standards has been included. In the PDA application the standard XML User-interface Language (XUL) was used, several cryptographic standards were used in the SmartCard project and, of course, all the web and database projects use the standard Hypertext Markup Language (HTML) and Structured Query Language (SQL) respectively.

A maintainability requirement has been implicit in all the industry-sponsored projects because of realistic requirements evolution. Further, in most cases, project work-products are to be turned over to the sponsor in a manner that he can understand them, and if desired, continue to extend them. Deliverables therefore, are expected to include suitable documentation of both the design and any
significant implementation performed in the project. The grading scheme accounts for the quality of the documentation by reserving a portion of the grade for the project workbook.

Students are required to make several presentations during the quarter to showcase their progress and solicit feedback and guidance. Students are also required two formal presentations - a mid-term one (45 minutes - 1 hour in length) and a final one lasting 2 hours. The mid-term presentation is made to the entire class, the instructor and an external evaluator. The final presentation is made only to the evaluator and the instructor because of the difficulty of scheduling times when the entire class can attend. Each student will present at least 4 times during a quarter. Students clearly benefit from this presentation experience, as evidenced by the improvement that they make over the course of the quarter.

This course appears to be very well-received by the students, as indicated in their final reports and student evaluations. Students
have reported that this course has helped them significantly in their job interviews. Industry sponsors have also generally been pleased with what the students have delivered; in many cases they have professed to have been extremely (and unexpectedly) delighted.

Issues do exist, however. While students are expected to follow a systematic process of architecture and design, this does not happen right from the start. In fact, they spend much of the quarter learning and then fighting the technology in order to implement as much as possible of the functional requirements. Towards the latter part of the quarter, however, the teams have evolved towards a design process.

Establishing a software process has also been difficult. When only planned processes have been required (RUP, IBM-OOTC), most of the time is spent reworking documentation. When agile processes have been permitted (XP), students have taken that as a license for no planning or formality at all. Further, students have packed and widely-varying schedules, so the close contact required for agile processes to be applied has been hard to achieve for most groups. A promising approach has been to (a) give them limited choices of software methodologies (IBM-OOTC or XP only) and (b) require them to formally develop a hybrid process - with XP being used for components like the UI, and a planned process for backend system components. We have also learned how to better coach student groups in the development and establishment of an accepted process.

Even though the purported goal of the course is for students to apply their prior academic knowledge to class projects, students do not typically come in with a great deal of directly applicable prior knowledge. This means that students have to learn new things - such as new technologies and methodologies as well as learn to develop skills for applying their prior knowledge (on their own, and with mentoring, but no formal lecture from instructors). While we believe that this experience will set the stage for life-long learning on the part of students - both in terms of expectations as well as ability - we have also become aware of the shortfalls in the courses leading up to this Capstone.

We are of the considered opinion that many of the problems may be mitigated by a two-quarter Capstone sequence. This would provide more time for the course expectations to "sink in", and be met in a better manner. We are working towards enabling this.


The Ohio State University, www.osu.edu

Department of Computer Science and Engineering
The Ohio State University ♦ 292 Dreese Laboratories ♦ Columbus, Ohio 43210 © 2008 CETI, All rights reserved.

Plone Powered

This site conforms to the following standards:

valid xhtml valid css