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.
[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
|✔ Specialist skills||Intercultural skills||✔ Communication skills||✔ Critical thinking skills||✔ Practical and/or problem-solving skills|
Classroom learning is followed by presentation and discussion
|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|
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.
Evaluating report, presentation and discussion with quality of reports (60%) and logical clarity of presentation (40%).
Ability to make Java programs.