Software Analysis and Design
Module 0: About this course
8/18/2024 Faculty of Computer Science 1
Introduction
❖ Course name: Software Analysis and Design
❖ Lecturers:
o Dr. Mai Xuan Trang
• Faculty of Computer Science, Phenikaa University
• Email: [Link]@[Link]
o Dr. Trinh Thanh Binh
• Faculty of Computer Science, Phenikaa University
• Email: [Link]@[Link]
o Dr. Mai Thuy Nga
• Faculty of Computer Science, Phenikaa University
• Email: [Link]@[Link]
8/18/2024 Faculty of Computer Science 2
Objectives
End User Requirements students
Analysis model
Designer Analysis
Design model
Developer
Design Enough detail; could be understood
and implemented,…
❖ View model: End user view, Logical view, Implementation view, Process view,
Deployment view.
❖ Other considering: architecture, programming language, library, framework, non-
functional requirements, environment (OS, web, mobile,…)….
8/18/2024 Faculty of Computer Science 3
Objectives
❖ To introduce students to write and read software requirements
❖ To introduce students to use UML diagrams
❖ To instruct students to build analysis model of software systems
❖ To instruct students to transform from analysis to design model
❖ To instruct students to read and implement design models
8/18/2024 Faculty of Computer Science 4
Learning Outcomes
8/18/2024 Faculty of Computer Science 5
References
❖ Required text:
1. Slides: ”Software analysis and design”.
2. Systems Analysis and Design: An Object-Oriented Approach with UML, Alan
Dennis, Barbara Wixom, Roberta M. Roth, Wiley 6th edition 2020.
❖ Supplied text:
3. Unified Modeling Language User Guide, Grady Booch, James Rumbaugh and
Ivar Jacobson, 2nd Edition, Addition Wesley Professional, 2005.
5. Design pattern: Elements of Reusable Object Oriented Software, Erich
Gamma et al. Addison Wesley Professional, 1994.
8/18/2024 Faculty of Computer Science 6
Schedule
❖ 12 weeks:
❖ Week 1-7: On class (Lecture + Lab)
❖ Week 8: Midterm Exam (Quiz)
❖ Week 9-10: Finish course project
❖ Week 11-12: Project presentation
8/18/2024 Faculty of Computer Science 7
Evaluation
❖ Course component grading weight (it can be changed):
• Attendance & Participate in activies: 5% + 5%
• Midterm Exam: 40%
• Final exam (Project): 50%
❖ Notes:
• Nghỉ quá 3 buổi học → cấm thi
• Đi muộn không quá 10 phút
• Làm việc riêng trong giờ học → có thể bị cấm thi
8/18/2024 Faculty of Computer Science 8
Course Content
❖ Week 1 & 2:
❖ Course Introduction
❖ Introduction to Analysis and Design
❖ Activity: Course project introduction + Group for ideas
❖ Week 3 & 4:
❖ Requirements Determination
❖ Business Process and Functional Modeling
❖ Activity: Creating Use Case Model
❖Week 5 & 6:
❖ Structural Modeling
❖ Behavioral Modeling
❖ Activity: Creating Analysis Model
8/18/2024 Faculty of Computer Science 9
Course Content
❖ Week 7 & 8:
❖ Moving on to Design
❖ Class and Method Design
❖ Element Design
❖ Activity: Creating Design Model, Implementation Model
❖ Week 9 & 10:
❖ Implementation
❖ Activity: Complete the course project
8/18/2024 Faculty of Computer Science 10
Remark
❖ Requirements
• Who? Ai đặc tả, ai đọc, ai sử dụng…
• How? Đặc tả như thế nào?
• Aim? Để làm gì, sự cần thiết như thế nào?
❖ Analysis Bản thiết kế thô gồm những gì?
• How many class? Lớp phân tích có cài đặt được ngay?
• Class detail Mức độ chi tiết của bản thiết kế thô như thế nào?
• Interaction between classes
❖ Design
• Design Elements
• Non-functional requirements?
• Environments?
→ngoài thiết kế lớp những thành phần nào phải thiết kế chi tiết nữa?
8/18/2024 Faculty of Computer Science 11
Discussion
Why – How – What: Requirements, Analysis, Design
8/18/2024 Faculty of Computer Science 12
Discussion
❖ Kỹ năng yêu cầu (skills)
• Reading đọc, hiểu,…
• Summary and abstraction by yourself
• Question đặt câu hỏi, tìm câu trả lời,…
• WHW questions for Lecturer, classmates,…
• Group work Làm việc nhóm hiệu quả cao nhất?
• Make plan
• Discussions
• Review Phản biện lẫn nhau (WHW - Why, How, What)
• Manage Progress
• Construct documents
→Tự học self motivated
→Thái độ kỹ năng, phương pháp, phát triển bản thân,…
→ Học tập suốt đời
8/18/2024 Faculty of Computer Science 13
Activity – ❖ Course project requirement
Course project ❖ Forming Team: 3-5 members
introduction & ❖ Proposing idea for course project
(within the first week)
Team forming
8/18/2024 Faculty of Computer Science 14
14
❖ Create UML Diagrams
Activity – o Larksuite: [Link]
o [Link]: [Link]
Exploring tools o StarUML: [Link]
used in this ❖ Git
course o Use github for version control
❖ IDE
o Any IDE that you like (VS Code)
❖ Report template
o Follow IEEE SRS template
8/18/2024 Faculty of Computer Science 15
15
Q&A
8/18/2024 Faculty of Computer Science 16