2021 Software Design Methodology

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Graduate major in Computer Science
Kobayashi Takashi 
Course component(s)
Lecture    (ZOOM)
Day/Period(Room No.)
Mon7-8()  Thr7-8()  
Course number
Academic year
Offered quarter
Syllabus updated
Lecture notes updated
Language used
Access Index

Course description and aims

Students learn through practical training techniques and practical skills about requirements analysis and design skills for software.

Students learn about requirement acquisition methods such as goal-oriented analysis and scenario analysis, methodologies such as object-oriented methods and structured methods, as well as about reviews of requirements and design and product quality techniques. Students use these techniques to specify examples, and everyone presents, compares, and discusses their findings.

Student learning outcomes

[Achievement goals] By taking this course, students learn (from the overview section) 1) techniques of the upstream process of software development and 2) techniques for improving product quality. Through practical training, students reach the level needed to carry out actual development.
[Topics] This course deals with techniques of the upstream process of software development and techniques for improving product quality.


Waterfall Model, Spiral Model, Unified Process, eXtreme Programming, Product Line Development, Requirements Engineering Process, Problem Frame, Goal-oriented Requirements Analysis, Scenario Analysis, Use Case Modeling, Misuse Case Modeling, Requirements Documentation based on IEEE830, Winwin
Approach, Requirements Prioritization based on AHP, Defect Detection and Prevention Approach for Requirements Prioritization, Data Flow Modeling, State Transition Modeling, Entity Relationship Modeling, Structured Analysis, Structured Design, Object-oriented Design, McCall’s Quality Factor, Halstead’s Complexity Metrics, McCabe’s Cyclomatic Number, CK Metrics, Function Point Approach, Boehms’ COCOMO approach

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

Class flow

Classroom learning is followed by presentation and discussion

Course schedule/Required learning

  Course schedule Required learning
Class 1 Software Process Understand Software Process
Class 2 Overview of Requirements Engineering Understand Overview of Requirements Engineering
Class 3 Requirements Elicitation: Goal-oriented Analysis Understand and Practice Requirements Elicitation: Goal-oriented Analysis
Class 4 Requirements Elicitation: Scenario Analysis Understand and Practice Requirements Elicitation: Scenario Analysis
Class 5 Use Case Modeling Understand and Practice Use Case Modeling
Class 6 Requirements Documentation and Quality Understand and Pratctice Requirements Documentation and Quality
Class 7 Requirements Negotiation Understand and Practice Requirements Negotiation
Class 8 Data Flow Model, State Transition Model and Entity Relationship Model Understand and Practice Data Flow Model, State Transition Model and Entity Relationship Model
Class 9 Behavior Modeling based on State Transition Model Understand and Practice Behavior Modeling based on State Transition Model
Class 10 Structure Analysis and Design Understand and Practice Structure Analysis and Design
Class 11 Object-oriented Design Understand and Practice Object-oriented Design
Class 12 Review and Software Quality Understand and Practice Review Techniques and Software Quality
Class 13 Software Metrics and Estimation Understand and Practice the Techniques of Software Metrics and Estimation
Class 14 Review of Exercise, Presentation and Discussion Perform Review of Exercise, Presentation and Discussion

Out-of-Class Study Time (Preparation and Review)

To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.


None. Slides are available in lecture.

Reference books, course materials, etc.


Assessment criteria and methods

Evaluating report, presentation and discussion with quality of reports (60%) and logical clarity of presentation (40%).

Related courses

  • CSC.T435 : Advanced Software Engineering
  • CSC.T424 : Workshop on Software Development
  • CSC.T423 : Software Development Studio: Basic I
  • CSC.T430 : Camp on Team-based Software Development
  • CSC.T434 : International Project for System Development

Prerequisites (i.e., required knowledge, skills, courses, etc.)

Ability to make Java programs.

Page Top