トップページへ

2025 (Current Year) Faculty Courses School of Computing Department of Computer Science Graduate major in Computer Science

Software Development Methodology

Academic unit or major
Graduate major in Computer Science
Instructor(s)
Takashi Kobayashi / Kenji Tei
Class Format
Lecture (HyFlex)
Media-enhanced courses
-
Day of week/Period
(Classrooms)
7-8 Mon (M-155(H1104), J2-303(J234)) / 7-8 Thu (M-155(H1104), J2-303(J234))
Class
-
Course Code
CSC.T426
Number of credits
200
Course offered
2025
Offered quarter
2Q
Syllabus updated
Apr 2, 2025
Language
English

Syllabus

Course overview and goals

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

[Overview]
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.

Course description and aims

[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.

Keywords

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

  • 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/Objectives

Course schedule Objectives
Class 1

Introduction of software development process

Understand the necessity of development process before coding

Class 2

Software Process

Understand the major software processes and their differences

Class 3

Software Quality and Requirements Engineering

Understand the relationship among software quality, customer’s demands and requirements specification

Class 4

Requirements Elicitation and cost estimation

Understand Requirements Elicitation and cost estimation

Class 5

Key perspectives for analyzing software requirements

Understand key perspectives for analyzing requirements of target software

Class 6

Data Flow Model and Entity Relationship Model

Understand and Practice Data Flow Model and Entity Relationship Model

Class 7

Structure Analysis

Understand and Practice Structure Analysis and Design

Class 8

Object-oriented Modeling : UML

Understand object-oriented structure and behavior modeling with UML.

Class 9

Object-oriented Analysis: Domain Analysis

Understand role of domain analysis and typical domain analysis techniques in the object-oriented analysis.

Class 10

Object-oriented Analysis: System Analysis

Understand role of system analysis and ICONIX robustness analysis.

Class 11

Object-oriented Design

Understand role of software design and typical object-oriented design

Class 12

Software Architecture

Understand role of software architecture and typical software architecture patterns.

Class 13

Domain-Driven Design

Understand object-oriented analysis and design with Domain-Driven Design

Class 14

Advanced software design

Understand advanced software design approaches

Study advice (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.

Textbook(s)

None. Slides are available in lecture.

Reference books, course materials, etc.

None.

Evaluation methods and criteria

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

Ability to make Java programs.

Other

Please note that the main classrooms are different for each lecturer. Please check the LMS for details.