CSCI 427: Systems Integration
Fall 2022
Introduction to, and practice of, designing and integrating large-scale information processing systems, with a focus on selecting and implementing hardware and software systems to develop an appropriate IT solution. Topics include systems provisioning, software integration, hardware management, availability, scalability, and disaster recovery capability. Students will design an integrated information system to implement a solution to a case study problem.
Start Here
Course Information
Understanding the Project
This course primarily consists of a full-semester project. Several project options are available, and these are documented below under Project Options. To satisfy ABET accreditation requirements, you are required to work with a partner on the course project. If we have an odd number of students enrolled, there might be one team with 3 people.
Each team will select one project option at the beginning of the semester. Projects are divided into four milestones, which correspond to intermediate steps in the project process. Each milestone requires a recorded presentation (video or narrated slides) as the deliverable, and each member of the group must speak for approximately equal time in these presentations. In addition to the project presentation deliverables, each milestone will require the addition of one or more items to each person’s portfolio (see below).
Projects are intentionally open-ended and minimally specified. It is up to each team to research the technologies required to implement a solution, locate and read appropriate documentation, and ask questions as they arise. The project options are all real-world implementation tasks that you might wind up doing again professionally at some future time. These are not traditional classroom exercises! They will take time and effort to implement correctly. Plan for each milestone to require about 3 weeks of sustained effort, with each person working about 10 hours per week.
One common theme among all the project options is that the implementation must be secure. It is not sufficient to get something minimally working but leave it in a state that it is easily hacked or otherwise compromised. Satisfactory implementations of project solutions will be production-ready: that is, you could take your implementation and deploy it somewhere without it being immediately compromised or broken. This attention to security detail is critically important as you move into the next phase of your life. If you put an insecure system on the Internet, someone will probably break into it within a day or two.
At the end of the semester, each person will reflect upon the project, what they learned, what went well, and what they would do differently if it had to be done again. This reflection, along with the project outcome and total amount of time and effort spent, will be used to determine the final course grade.
Portfolio Requirement
Each project milestone requires adding content to your portfolio. Please see the common Fall 2022 Portfolio Requirements document for more information.
Project Options
There will be 3 project options, with the following brief descriptions:
- Creation of an authentication and authorization server using MIT Kerberos and OpenLDAP. This type of server can be used to implement centralized user accounts with single-sign-on, in which the user only needs one set of credentials to access multiple systems. Authentication and Authorization Project
- A full Web server stack using Apache httpd, nginx, and Apache Tomcat, with proper security measures implemented. The resulting system will be production-ready. Web Stack Project
- A secure desktop environment, which runs with full system encryption. The resulting system will need to be installed on bare metal (a laptop, desktop computer, or Raspberry Pi device). Secure Desktop Project
All three projects will make use of Alpine Linux. The two server-based project options will be implemented inside a virtual machine running with the QEMU hypervisor. The third project option may use a QEMU VM for testing purposes, but the final implementation will be directly on a physical computer system of some type.
Final Reflection
At the end of the course, you will complete and submit a reflection document that includes self and peer reviews, a review of the project, and your self-grading recommendation. Use one of the following templates to complete this document by answering the questions included in the template.