Software Design Methods and Tools
Since many software developers are compulsive coders, they have created software over the years to help them do their job. There are tools which make design and its associated tasks easier. The course introduces some basic tools and techniques to help you with design. Tools aren’t always tangible, however. The last two lessons of this course discuss questions of Ethics in software development. The purpose here is, as with tools, to equip you to better carry our your responsibilities as a designer. Students will be required to have a prior knowledge of writing and delivering software and some programming knowledge in java.
General Design Notions
-What is in a design and an introduction to hierarchical design representations.
Dynamic and Algebraic Designs
-Hierarchical design which shows data flow, and rigorous, formally provable methods of design representation.
-An introduction to IBM Rhapsody, a UML modeling tool.
-An introduction to the use of JUnit which performs unit testing for Java software.
-Unusual situations in a project in which you may find yourself, and what to do about them.
-A comprehensive course assessment comprising of 5 quizzes. Each assessment contains a randomized set of questions from different modules of the course.