CS 490MT/5555: Software Methods and Tools

Fall 2017

Last Update: October 24, 2017

Instructor:Yongjie Zheng
Email:[yzheng at umkc dot edu] To ensure a response, please include "490mt" or "5555" in the subject line.
Lectures:Tuesday/Thursday, 1pm – 2:15pm. Cockefair Hall-Room 104.
Labs:Flarsheim Hall, 462.
Office Hour:Tuesday, 2:30pm - 3:30pm.

Schedule  -  Course Description  -  Course Design  -  Textbook  -  Grading and Evaluations  -  Policies


1Aug 22, 2017Course Introduction[NoSilverBullet]
Aug 24, 2017Software Development Process and Activities
2Aug 29, 2017Lab #1
Aug 31, 2017UML Modeling I
3Sep 5, 2017Lab #2
Sep 7, 2017UML Modeling II
4Sep 12, 2017Lab #3
Sep 14, 2017IDE and Eclipse
5Sep 19, 2017Eclipse Plug-ins I
Sep 21, 2017Eclipse Plug-ins II
6Sep 26, 2017Lab #4
Sep 28, 2017Software Architecture and Design I
7Oct 3, 2017Software Architecture and Design II
Oct 5, 2017ArchStudio
8Oct 10, 2017Lab #5
Oct 12, 2017Assignment Demo I
9Oct 17, 2017Midterm Review
Oct 19, 2017Midterm Exam
10Oct 24, 2017Testing[CategoryPartition], [FaultVisualization]
Oct 26, 2017JUnit
11Oct 31, 2017
Nov 2, 2017Assignment Demo II
12Nov 7, 2017Lab #6
Nov 9, 2017Version Control
13Nov 14, 2017Subversion
Nov 16, 2017Lab #7
14Nov 21, 2017Thanksgiving Break (No Class)
Nov 23, 2017
15Nov 28, 2017GIT I
Nov 30, 2017GIT II
16Dec 5, 2017Lab #8
Dec 7, 2017Course Review

Course Description

Software methods and tools are extensively used in current software production to improve software productivity and quality. In this course, we are going to learn a number of popular software methods and tools being used in academia or industry. These methods include object-oriented design and analysis, architecture styles, unit testing, and version control. The covered software tools include Microsoft Project, IBM Rational Modeler, Eclipse Plug-ins, ArchStudio, JUnit, Subversion, and GIT. The course emphasizes practice, and students will be using these methods and tools to develop a software system, from initial planning to final deployment.

Course Design

A primary goal of this course is to increase students' skills of using software methods and tools as software engineers. The course also helps students further understand the roles that software methods and tools play in software development. The course consists of three parts: lectures, labs, and assignments. Each is briefly described below.

Lectures. Lectures will be given on a regular basis with slides provided. They will be focused on details of the included software methods, and related concepts and background information of the included tools. Class attendance is mandatory, and students are highly encouraged to participate in class discussion.

Labs. There will be nine in-class labs in this course. They are primarily about how to use the included software tools. In each lab, students will use a specific tool to finish a number of tasks, following the tutorials prepared by the instructor. These tasks address the essential parts of the following assignment. The purpose is to get students ready to work on their assignments.

Assignments. The assignments of this course are to develop a software system with the help of the methods and tools students are going to learn. Each assignment covers a specific development phase (e.g. initial planning, requirements analysis, and design), and requires the use of different methods and tools. Students work individually on all the assignments. Each assignment is graded independently.



Grading and Evaluations

Midterm: 30%
Final Exam: 30%
Assignments/Labs: 40%


The UMKC academic honesty policy applies.

Back to Top© University of Missouri - Kansas City, 2017.