Case Implementation in Software Engineering - SE 100

Case Implementation Storyboard in SE 100

Course: Introduction to Software (SE 100)

Subject Area: Software development lifecycle         

Case: CSA Satellite Tracking Software Development (WCDE-00087)

Department: Software Engineering

Source: Canadian Space Agency (CSA)

Faculty:  Edgar Mateos Santillan

Case Selection

CSA Propagation Software Development case describes the development of satellite tracking software for the Canadian Space Agency (CSA). The case materials included the case study, solution modules, teaching note and presentation.

Case study

Software Requirements & Specification (Module 02)

Teaching Note (TN)

  • Assignment I (reading assignment questions)
  • Assignment II (follow up assignment)
  • Presentation  

1. Preparation

The CSA Satellite Tracking Software Development case was implemented within the Introduction to Software (SE 100) course and other similar courses since 2012. The overall case implementation activities include: professor planning, individual preparation by students (assignments), small group discussion, classroom discussion and a follow up assignment to illustrate the software development lifecycle.

During the planning phases, the professor (Edgar Santillan) reviewed the case materials along with the recommended implementation strategy in the teaching note, provided by Waterloo Cases in Design Engineering (WCDE). Based on the course syllabus, the professor chose an appropriate date and time for class implementation.

Individual Assignment

After an introductory lecture on the software development lifecycle, the case was uploaded to LEARN one week in advance of the implementation date. Students were given the case as a reading assignment for the subsequent week along with the following instructions:

Please read the case study, "Canadian Space Agency (CSA) Satellite Tracking Software Development”. Assume you are a co-op student working with CSA and have been asked to develop the new software for the satellite tracking application. Come to class Tuesday October 2nd, prepared to discuss how you would approach this problem.

  1. Identify shortcomings in the existing CSA satellite tracking software and discuss the steps needed to fix the problem. Discuss the activities/steps in the software development cycle needed to address the problem. 
  2. Specify the list of hardware and software used by TT&C of CSA to enable effective communication with the satellite.
  3. Identify and discuss the main requirements to address the needs and functions of the orbital prediction software.
  4. List all the data that should be input into the system and output by the system. 
  5. Identify possible methods to implement the required software. How do you start to address these problems?

During the individual assignment phase, questions were mainly designed to demonstrate students’ ability to use appropriate knowledge and skills to identify, formulate, analyze and develop substantiated solutions to a real-world software development problem. Students addressed the assignment questions and reached valid conclusions by analyzing, interpreting and synthesizing information provided in the case study. Students were not asked to submit their answers for evaluation, but instead used them as a basis for class discussion. 

2. Class Implementation

During the initial stages of implementation, the instructor stressed the expected learning outcomes and presented general background information about the CSA and satellite tracking technology. Subsequently, the engineering software development lifecycle illustrated in Figure 1 was briefly discussed. This stage emphasized the link between the theoretical approaches and the actual problem addressed in the CSA case. The lecture time focused on addressing most of the questions given to the students as part of their reading assignment. The instructor led the classroom discussion, directing focus towards key objectives and solutions.

Small and large group discussions form an important part of case-based teaching. Students were asked to form small groups of 3-4 people and discuss their answers, spending roughly 5 minutes on each question. Group discussion facilitated development of the ability to communicate complex engineering concepts to group members through conversation. Groups were randomly selected to present their answers to the class.

Software Development Lifecycle

Figure 1: Software Development Lifecycle

The first discussion question asked students to identify shortcomings in the existing CSA satellite tracking software. Students generated a list of existing problems based on information in the case study. A sampling of group responses is listed below.

  • The code was outdated and did not reflect the changes suggested by Revisiting Spacetrack Report #3
  • One of the primary problems was that the source code for the library was unavailable
  • The library was a purchased product, leading to recurring licensing fees for the department
  • The code did not respond well to being called by multiple programs at the same time

Students were also asked to identify the main requirements to address the needs and functions of the orbital prediction software. A sampling of group responses is listed below. 

  • Accuracy - the satellite must be targeted by the antenna with an accuracy of ±0.4 degrees at all times
  • Reliability - satellite communication with Low Earth Orbit (LEO) satellites involves accurate timing and planning
  • Data Format - the third requirement was the ability to provide data in a variety of forms
  • Integration - provide the ability for multiple applications to obtain data from the propagator simultaneously
  • Execution speed - the code must be able to generate an entire overhead pass within a second with reasonable accuracy
  • Added features – a series of functions and outputs not present in the original code

Students were asked to list the system’s input and output data, which is summarized in Figure A3.

Following the class discussion, which defined specific software design requirements, students were given a follow-up assignment worth 10% of their grade. The follow-up assignment is outlined below.

Follow-up Assignment

  1. Update the code in the SPG4 procedure to provide the position vector (r) in meter and the satellite velocity (v) in m/s.
  2. Modify the daysmdh function output to provide hours, date and month order. 
  3. Compare the keplearian orbital elements equation in the newtonnu function to validate the equations used to calculate the mean and eccentric parabolic path of a satellite.
  4. Add a code in the newtonnu function to compute the hyperbolic path.

Overall, the students responded positively towards the use of this case study. Furthermore, the case method proved to serve its purpose in aiding deep and practical understanding of the software development lifecycle process. The main criticism from the students was the workload.

3. Student Reaction

At the end of the case study in SE 100, students were asked to complete a feedback survey; 86 of 105 students responded. They were asked to respond to 4 questions on a Likert scale from 1 to 5 (strongly disagree to strongly agree).  Figure 2 shows the student response to question 1: “This case study was an engaging application of these specific course topics”. The majority of students either agreed or strongly agreed with this statement. Engagement is a strong prerequisite for learning, and case studies provide a real-world application of course topics, which students respond to. When asked to expand on their response, students most often cited the strong fit between the case study and the course material.

Student response to question 1Figure 2: Student response to question 1: This case study was an engaging application of these course topics

Question 4 addressed the perceived value of small group discussions: “Small group discussions of the case helped me understand the specific course topics”. Figure 3 shows the distribution of responses for this question. Positive responses included the fact that the discussions “created an interactive environment with classmates”, and “helped to clear the doubt and solve problems that couldn’t be done by sitting alone”. The major reason for the neutral or negative responses was the lack of time for these discussions.

Student response to question 4Figure 3: Student response to question 4: Small group discussions of the case helped me understand the specific course topics

Students were also asked to provide general feedback for the improvement of the case study and the case activities. About half of the students provided this feedback. Most related to the amount of time available to work on the case and the logistics, including cutting back on the presentation of background material, starting earlier in the term, and providing more guidance on what was expected to make the discussions more efficient. Some requested a more challenging problem, or more open-ended, and less detail on the actual specifications in the case study to provide more scope for discussion.

testimonial from Hannah Van Opstal

Hannah Van Opstal

Student, Systems Design Engineering

I think getting case study experience is the first step in really helping students see all the possibilities and everything they can accomplish.