Header image  

Computer Science and Systems Analysis

 
  Home ::   Teaching ::   Research  ::   Publications  ::   SEURAT  ::  
   
 
CSA 448 - Software System Project
 

Instructor: Janet E. Burge, 230H Kreger Hall, 9-0347, burgeje-at-muohio.edu
Office Hours: M: 11am, W: 10am, 1:15-2:15, F: 9 am

Prerequisite: CSA 348 Software Engineering
Required Text: None.
Additional References: See Course Documents on myMiami

Jump to the syllabus

Catalog Description: Student teams conduct major open-ended research/design projects. Elements of the design process are considered as well as real-world constraints, such as economic and societal factors, marketability, ergonomics, safety, aesthetics, and ethics.

The Capstone Experience:

The Capstone Experience, completed near the end of baccalaureate studies, integrates liberal learning with specialized knowledge. Each Capstone emphasizes sharing of ideas, synthesis, and critical, informed reflection as significant precursors to action, and each includes student initiative in defining and investigating problems or projects.

Thus, the objectives of this course are to utilize your knowledge, as a senior student to perform a major open-ended design project. The project is conducted in a professional manner that resembles a real business/industrial environment. Here, you are considered a design engineer working in a multidisciplinary team, and the faculty as the project director/manager and consultant.
The fundamental elements of the design process are integrated with the four goals of the Miami Plan (in bold, below) to help you achieve the capstone objectives. Specifically, you will be able to:

  • Understand context by defining and considering the boundary of the problem, by conducting research, and by considering realistic constraints, as appropriate to each project, which include technical and economical factors, social implications, environmental considerations, marketability safety considerations, reliability, aesthetics, and ethics.
  • Think critically by solving open-ended problems, by establishing objectives and criteria, by brainstorming ideas and alternatives, by synthesizing, creatively, the problem, by analyzing, testing, and evaluating ideas, and by developing proposals.
  • Engage with other learners by actively participating in and learning to function within a multidisciplinary team, by assuming, as necessary, different roles on the team, by communicating with one another and your customer and advisor, and by critically evaluating and reflecting on your performance as well as their team members.
  • Reflect and act on your proposed designs and results, and communicate these effectively with your customer and project manager, by addressing safety and other related issues, and learning to adjust to and evolve with the given stochastic environment of an open-ended business/industrial problem.

Course Learning Objectives. This course sequence is intended primarily for senior students majoring in either Computer Science or Systems Analysis in the CSA department. This capstone experience is intended to require you to work with a team of students to use your knowledge and skills as a senior student to design and create a large software system.

Thus, at the end of the course sequence CSA 448-449, students will be able to:

A) Perform all steps in the software development process within the context of a two semester project

1) Collect and analyze system requirements from an identified set of clients and users.

  • Define customer needs
  • Develop verifiable system requirements
  • Formulate a succinct definition of the problem
  • Define the problem boundaries
  • Evaluate concepts and technologies for use in the project

2) Design a software system using standard techniques

  • Brainstorm to generate alternatives
  • Synthesize and evaluate alternatives to select an optimal solution
  • Address multiple criteria (such as technical, environmental, economic and societal issues) in design
  • Follow a standard development process
  • Develop and test models using mathematical, scientific, and engineering principles and modeling techniques
    • Identify appropriate modeling tools and techniques for analysis and design
    • Perform the analysis of possible solutions
  • Propose and justify a final design solution

3) Implement this design producing a functioning software system that meets user requirements at a high level of quality

4) Validate and verify the resulting system

  • Use static methods of analysis of requirements and design.
  • Use black box and white box testing methods for unit, integration, system, and acceptance testing (as appropriate)
5) Deploy the implemented software system

6) Use standard notations and tools throughout the lifecycle, e.g. UML.

B) Demonstrate written and oral communication skills necessary to function as an engineer or computer scientist, communicating effectively with both technical and non-technical audiences

1) Interact with the client to determine appropriate criteria and constraints on the design, and the appropriate problem to solve to satisfy the client need

2) Document and present the results of the design process

  • Prepare and deliver various written technical reports as requested by your client
  • Prepare and deliver effective professional oral presentations

C) Understand and apply engineering ethics and professionalism, and demonstrate skills in project management.

1) Demonstrate an ability to plan, organize, attend, and execute meetings with the client

2) Plan and manage a design project, including time management

3) Identify ethical implications/considerations of the project.

D) Work in teams and take on different roles in the team.

1) Demonstrate an ability to function in a team environment

2) Document teamwork processes used, and demonstrate understanding how they helped the team progress during the project

Syllabus: Note: topics, dates, and assignments are subject to change at instructors discretion. The TBD elements in the syllabus will be filled in after the start of the semester. Deliverables are due at the start of class as well as placed in the turnin folder for the assignment (or into svn as appropriate). Late assignments will be penalized 10% the first 24 hrs, 25% the next (reductions will be taken at the time of computing the final grades for the course). Assignments more than 48 hours late will not be graded.

CSA 448 Syllabus
Week
Date Topics Readings Assignments Due
1
8/20 Initial meeting - introduction to the capstone  
8/21 Survey Student Survey
2
8/27 Agile Methods Refresher
8/29 SVN Refresher

3
9/3 Labor Day - NO CLASS  
9/5 Release Planning
Installed SEURAT
4
9/10
9/12 Team Meetings


Status Report

5
9/17  
9/19 Team Meetings  

User Interface Usability Evaluation

Status Report

6
9/24    
9/26 Team Meetings

Status Report
Release 1 Requirements (section 5); UI Design (section 6 - includes reports!)
Use Cases
Release 1 Test Plan

7
10/1
10/3 Team Meetings Status Report
8
10/8 Due: Class Diagrams; Sequence Diagram
10/10 Team Meetings Status Report
9
10/15 Release 1 Demo - everyone together starting at 5! Release 1 Test Procedure
10/17 Release 1 Testing - everyone together starting at 5! Status Report
Release 1: Programmers' Guide; User's Guide; Software; Unit tests & Results
10
10/22  
10/24 Release Planning Status Report
11
10/29 Presentations - everyone!
10/30 Team Meetings

Status Report

12
11/5 Presentations - everyone
11/7 Release planning - everyone at 5:00 Status Report
13
11/12 Class Diagrams; Sequence Diagram
11/14 Team Meetings Status Report
Release 2 Plans
14
11/19 Release 2 Requirements (due the 20th)
11/21 Thanksgiving Holiday - NO CLASS
11/23 Thanksgiving Holiday - NO CLASS
15
11/26 Release 2 Demo - Individual Teams Release 2 Test Procedure
11/28 Release 2 Testing

Status Report
Release 2: Software (for testing)

16
12/3 Presentations Release 2: Programmers' Guide; Programmers' Guide; User's Guide (On-line Help); Software (minor bug fixes)
12/5 Presentations  
12/6 Individual: Reflective Essay

Grading: The final grade for CSA448 is based on the following:

 

Assignment Percentage

User Interface Review

10%

Release 1

  • Test Plans (5)
  • Test Procedures (10)
  • Unit Tests (and results) (5)
  • Software (comments, javadoc, and functionality) (35)
  • User's guide (On-line help) (10)
  • Programmer's guide (15)
  • UML (10)
    • Use Case Descriptions (5)
    • Class Diagram (3) (for new classes + SEURAT classes involved) - Analysis Level
    • Sequence Diagram for One Use Case (chosen by instructor) (2) - Analysis Level
  • Testing Results (testing of other team) (5)
  • Presentation/Demonstration (Demo) (5)
25%
Presentation 1 10%

Release 2

  • Test Procedures (15)
  • Unit Tests (and results) (5)
  • Software (comments, javadoc, and functionality) (35)
  • User's guide (On-line help) (15)
  • Programmer's guide (15)
  • Requirements (10)
    • Plan Description (5)
    • Requirements (in form for the Programmer's guide)(5)
  • Testing Results (testing of other team) (5)
  • Presentation/Demonstration (Demo) (5)
30%
Presentation 2 10%
Team Status Reports 5%
Participation 5%

Individual: Reflective Essay (Individual)


5%

Grading Policy: Numeric grades will be given for all assignments. Final grades to the class will be A, B, C, D, or F as appropriate with A range being 90-100, B range 80-89, C range 70-79, D range 60-69, anything less than 60 an F. Plus/minus grades will be reserved for borderline cases only. 

Group Projects: In your future careers as software professionals, you will need to be able to work with others. This means an often difficult balancing of personalities, abilities, schedules, and motivation levels. You are unlikely to have the ability to fire a co-worker (although you may want to) and are even less likely to get your supervisor's permission to break from the group to do your own, parallel, version of the project. That won't happen here either. It is important to know that group members will be assessing each other and that not all members of the group will necessarily receive the same grade for the project.

Groups:

  1. Hanna, Moler, Wagner
  2. Dees, Wright, Zorn
  3. Callahan, Prater, Smith, Wilder

Academic Honesty: All work assigned as individual work must be done as individual work. Violations will be handled in accordance with the Miami University Academic Honesty Policy.