0% found this document useful (0 votes)
8 views

00-Introduction

Introduction to software technology

Uploaded by

Thẩm Phong
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

00-Introduction

Introduction to software technology

Uploaded by

Thẩm Phong
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

9/9/24

Class rules
• Before class
• Fully ready for the class
• Clean board
• Notebook/Computer
• Punctuality
• Don’t need to ask for permision to come in/out
• At class
• Keep silent
• Don’t use computer/mobile phone during lecture
• Exercise/Quiz
• After class
• Case study
• Capstone project

ITSS SOFTWARE DEVELOPMENT


SOFTWARE DESIGN AND CONSTRUCTION
0. INTRODUCTION TO COURSE
Nguyen Thi Thu Trang
[email protected]

1
9/9/24

Course objectives
• Design effective program structures with
• appropriate modularity
• separation of abstraction and implementation concerns
• use of standard design patterns
• Use modern programming languages and unit test
framework effectively
• type systems, objects and classes, modularity
• identity and equality, exceptions and assertions
• Gain experience with contemporary software tools
• design tools
• integrated development environments (IDE)
• test frameworks, version control
• documentation processing tools

Main topics
• Software Development Process
• Object-Oriented Analysis and Design
• Design Concepts: Coupling and Cohesion
• Design Principles, Design Patterns
• Software Quality, Software Testing
• Techniques for Effective Programming

2
9/9/24

Programming language/tools
• Software design tool: Astah
• Free for students
• Programming language: Java
• IDE: Eclipse
• Version control: Github
• Test framework: JUnit
• Architectural model / pattern: 3 tiers / MVC

Assessment
• Mid-term score: 50%
• Case Study (Hands-on Lab)
• Work in individual
• Capstone Project
• Work in groups, but individual score
• Reward or Punish
• Quizzes/Exercises/Attendance at class: ±1
• Final score: 50%
• Written exam

3
9/9/24

Reference books
• D. Budgen. Software Design, 2nd Edition. Addison-Wesley.
2004.
• Cay Horstmann. Object-Oriented Design and Patterns. John
Wiley & Sons, Inc. 2006
• Joshua Bloch. Effective Java, 2nd ed. Addison-Wesley, 2008
• Boris Beizer. Software Testing Techniques, 2nd Edition.
International Thomson Computer Press
• Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.
Design Patterns: Elements of Reusable Object-Oriented
Software. 1994. Addison-Wesley Professional.
• Robert Martin. Agile Software Development: Principles,
Patterns, and Practices. 2003. Pearson Education.
• Robert Martin. Clean Code: A Handbook for Agile Software
Craftsmanship. 2008. Prentice Hall.

Course Materials
• Lecture notes for students (pdf): Slides in 4-page
handouts
• Assignments, Project descriptions
• Interaction channels:
• MS Teams
• https://github.com
• Add to your project member:
[email protected]

4
9/9/24

Naming convention
• https://github.com
• Add to your project member: [email protected]

• Naming your private individual repo (Lab)


• MSTeamName-StudentId.StudentName
• E.g. TKXDPM.20241-20221234.NguyenVanHa
or ISD.VN.20232-20229283.VuHuongLan
• Naming your private group repo (Capstone Project)
• TeamName-GroupNo
• E.g TKXDPM.20241-05 or ISD.VN.20232-10
• Monitor: Tạ Ngọc Tú - 202155003

10

Introduce yourselves
• Full name
• Experience in Computer Science
• Operating System
• Programming Languages
• (Mini-)Projects
•…
• Strength / Weakness
• A course you like best / hate
• Desire to study in this course

10

5
9/9/24

11

What is the real software to be built?


11

11

You might also like