Coursera
Explore
  • Browse
  • Search
  • For Enterprise
  • Log In
  • Sign Up

Software Design Methods and Tools

OverviewSyllabusFAQsCreatorsPricingRatings and Reviews

HomeComputer ScienceSoftware Development

Software Design Methods and Tools

University of Colorado System

About this course: 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.

Who is this class for: This is a graduate class and it will be best appreciated by students who have a solid foundation in basic software engineering, who can code well (although no real coding is required) and who have had at least internships if not full-time jobs in software development. This is not to say that you need to know how to design software before you learn about designing secure software. It is to say that the more experience you already have in software development, the more the examples and ideas put forth in this course will resonate with you.


Created by:  University of Colorado System
University of Colorado System

  • Albert Glock

    Taught by:  Albert Glock, Instructor

    Computer Science
Basic Info
Course 3 of 4 in the Secure Software Design Specialization
LevelIntermediate
Commitment4 weeks, 2-2.5 hours/week
Language
English
How To PassPass all graded assignments to complete the course.
User Ratings
4.8 stars
Average User Rating 4.8See what learners said
Syllabus
WEEK 1
General Design Notions
What is in a design and an introduction to hierarchical design representations.
2 videos, 2 readings, 1 practice quiz
  1. Video: Intro to Design Methods and Tools
  2. Reading: Additional Resource
  3. Video: Jackson Structured Design
  4. Reading: Additional Resource
  5. Discussion Prompt: Discussion 1
  6. Practice Quiz: General Design Notions
WEEK 2
Dynamic and Algebraic Designs
Hierarchical design which shows data flow, and rigorous, formally provable methods of design representation.
2 videos, 2 readings, 1 practice quiz
  1. Video: Data Flow Diagrams
  2. Reading: Additional Resource
  3. Video: Z
  4. Reading: Additional Resource
  5. Discussion Prompt: Discussion 2
  6. Practice Quiz: Dynamic and Algebraic Designs
WEEK 3
UML Tools
An introduction to IBM Rhapsody, a UML modeling tool.
3 videos, 2 readings, 1 practice quiz
  1. Video: UML : Obtaining Rhapsody from IBM
  2. Video: UML Class diagrams with Rhapsody
  3. Reading: Additional Resource
  4. Video: Building a Sequence Diagram with Rhapsody
  5. Reading: Additional Resource
  6. Discussion Prompt: Discussion 3
  7. Practice Quiz: UML Tools
WEEK 4
Unit Testing
An introduction to the use of JUnit which performs unit testing for Java software.
2 videos, 2 readings, 1 practice quiz
  1. Video: JUnit Install
  2. Reading: TestRunner Download
  3. Video: Using JUnit
  4. Reading: Additional Resource
  5. Discussion Prompt: Discussion 4
  6. Practice Quiz: Unit Testing
WEEK 5
Ethics
Unusual situations in a project in which you may find yourself, and what to do about them.
2 videos, 2 readings, 2 practice quizzes
  1. Video: Ethics I
  2. Reading: Additional Resource
  3. Video: Project Ethics II
  4. Reading: Additional Resource
  5. Discussion Prompt: Discussion 5
  6. Practice Quiz: Ethics
  7. Practice Quiz: Ethics
WEEK 6
Final Exam
A comprehensive course assessment comprising of 5 quizzes. Each assessment contains a randomized set of questions from different modules of the course.
    Graded: Assessment 1
    Graded: Assessment 2
    Graded: Assessment 3
    Graded: Assessment 4
    Graded: Assessment 5

    FAQs
    How It Works
    Coursework
    Coursework

    Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

    Help from Your Peers
    Help from Your Peers

    Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.

    Certificates
    Certificates

    Earn official recognition for your work, and share your success with friends, colleagues, and employers.

    Creators
    University of Colorado System
    The University of Colorado is a recognized leader in higher education on the national and global stage. We collaborate to meet the diverse needs of our students and communities. We promote innovation, encourage discovery and support the extension of knowledge in ways unique to the state of Colorado and beyond.
    Pricing
    Purchase Course
    Access to course materials

    Available

    Access to graded materials

    Available

    Receive a final grade

    Available

    Earn a shareable Course Certificate

    Available

    Ratings and Reviews
    Rated 4.8 out of 5 of 6 ratings

    As

    Really good and worth your time.

    Divyansh Upman

    Thanks for helping me learn so much



    You May Also Like
    University of Colorado System
    Requirements Elicitation: Artifact and Stakeholder Analysis
    1 course
    University of Colorado System
    Requirements Elicitation: Artifact and Stakeholder Analysis
    View course
    University of Colorado System
    Requirements Specifications: Goals and Conflict Analysis
    1 course
    University of Colorado System
    Requirements Specifications: Goals and Conflict Analysis
    View course
    University of Colorado System
    SRS Documents: Requirements and Diagrammatic Notations
    1 course
    University of Colorado System
    SRS Documents: Requirements and Diagrammatic Notations
    View course
    University of Colorado System
    Software Requirements Prioritization: Risk Analysis
    1 course
    University of Colorado System
    Software Requirements Prioritization: Risk Analysis
    View course
    University of Colorado System
    Requirements Gathering for Secure Software Development
    1 course
    University of Colorado System
    Requirements Gathering for Secure Software Development
    View course
    Coursera
    Coursera provides universal access to the world’s best education, partnering with top universities and organizations to offer courses online.
    © 2018 Coursera Inc. All rights reserved.
    Download on the App StoreGet it on Google Play
    • Coursera
    • About
    • Leadership
    • Careers
    • Catalog
    • Certificates
    • Degrees
    • For Business
    • For Government
    • Community
    • Partners
    • Mentors
    • Translators
    • Developers
    • Beta Testers
    • Connect
    • Blog
    • Facebook
    • LinkedIn
    • Twitter
    • Google+
    • Tech Blog
    • More
    • Terms
    • Privacy
    • Help
    • Accessibility
    • Press
    • Contact
    • Directory
    • Affiliates