Object Oriented Analysis and Design

Post date: Mar 28, 2013 9:39:45 AM

Course Notes to

OBJECT ORIENTED ANALYSIS AND DESIGN

Dr. Dao Nam Anh

OBJECTIVE

This module is about developing an awareness of the different approach that can be taken to systems development when applying object-oriented techniques. This module should develop the student’s awareness of the concepts and terminology involved in object-oriented analysis and design. It is primarily intended to prepare students who expect to gain employment in an IT/Computing-related post at technician or professional level in a software development role.

This module is primarily intended to develop an appreciation of object-oriented design techniques. It will also introduce the student to object-oriented concepts and terminology and a number of the modelling techniques used in the UML (Unified Modelling Language). Students will work with a case study, or case studies, in order to contextualise the work and provide realistic system development scenarios.

PREREQUISITES

COURSE OUTLINE

Bài giảng Khóa học

PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

Ts. Đào Nam Anh

MỤC ĐÍCH

Môn học cung cấp các khái niệm cơ bản và phương pháp phân tích và thiết kế phần mềm hướng đối tượng. Giới thiệu các kiến thức cơ bản của ngôn ngữ mô hình hoá tiên tiến UML và một số qui trình phát triển phần mềm hướng đối tượng dựa trên sơ cở UML. Công cụ được sử dụng là các ngôn ngữ lập trình cấp cao như Visual C++, Visual Basic, Java, ...

Môn học này giúp sinh viên làm quen với các phương pháp hiện đại trong thiết kế phần mềm, nắm bắt được các nguyên lý cơ bản của công nghệ hướng đối tượng. Ngoài ra, môn học này còn củng cố và phát triển kỹ năng phân tích thiết kế cho các sinh viên thông qua một qui trình phát triển phần mềm tiên tiến cụ thể. Sinh viên sẽ áp dụng qui trình này qua các ví dụ thực tế và bài tập lớn.

ĐIỀU KIỆN

NỘI DUNG MÔN HỌC

Bài giảng 1. Phương pháp hướng đối tượng và quá trình phát triển hệ thống phần mềm

1.1 Giới thiệu về hệ thống phần mềm

1.2 Sự phát triển hệ thống

1.3 Các cách tiếp cận trong phát triển phần mềm

1.4 Quá trình phát triển phần mềm hợp nhất

Bài giảng 2. Khái quát về UML

2.1 Lịch sử hình thành UML

2.2 Unifield Modeling Language - UML

2.3 Các khái niệm cơ bản của UML

2.4 Mở rộng UML

2.5 Mô hình hóa với UML

2.6 Công cụ UML

Bài giảng 3. Biểu đồ Use Case phân tích yêu cầu hệ thống

3.1 Tập hợp yêu cầu hệ thống

3.2 Biểu đồ Use Case

3.3 Mô hình hóa với Use Case

3.4 Tạo lập biểu đồ Use Case trong Rational Rose

3.5 Ví dụ ATM: Use Case diagram

Bài giảng 4. Phân tích hệ thống – Mô hình khái niệm và biểu đồ lớp

4.1 Mô hình khái niệm – mô hình đối tượng

4.2 Xác định các lớp, đối tượng

4.3 Mối quan hệ giữa các lớp đối tượng

4.4 Nâng cấp mô hình

Bài giảng 5. Mô hình động

5.1 Mô hình hóa hành vi hệ thống

5.2 Biểu đồ trạng thái

5.3 Biểu đồ hoạt động

5.4 Biểu đồ tương tác

5.5 Biểu đồ trình tự

5.6 Biểu đồ cộng tác

5.7 Biểu đồ giao tiếp

5.8 Kiểm tra mô hình động

5.9 Tạo lập biểu đồ động trong Rational Rose

Bài giảng 6. Phối hợp các mô hình thiết kế hệ thống

6.1 Chất lượng mô hình

6.2 Tóm tắt về mô hình đối tượng

6.3 Phối hợp mô hình đối tượng và mô hình động

6.4 Hệ thống ngân hàng tự động atm

Bài giảng 7. Kiến trúc hệ thống và phát sinh mã trình

7.1 Kiến trúc của hệ thống

7.2 Biểu đồ thành phần

7.3 Biểu đồ triển khai

7.4 Chuyển đổi các thiết kế sang mã chương trình

GRADING

A combination of discussions and short tests (30%),

Group projects and their presentations (70%).

RECOMMENDED TEXTS

ĐÁNH GIÁ

Các bài kiểm tra ngắn (30%),

Dự án nhóm, chuẩn bị tài liệu theo mẫu và trình bày (70%).

TÀI LIỆU THAM KHẢO

    • Dao Nam Anh, "Object-Oriented Analysis and Design", Course Book, University of Power, 2013
    • Ian Sommerville, Software Engineering, Ninth Edition, 2011
    • Booch, Grady. Object-oriented analysis and design with applications.. 2nd ed. Addison Wesley Longman, Inc, 1998
    • Terry Quatrani , Visual Modeling with Rational Rose 2000 and UML, Addison Wesley, 1999
    • Perdita Stevens and Rob Pooley, Using UML Software engineering with objects and components, 2nd edition, Addison Wesley 2006
    • Bruegge & Dutoit: Object-Oriented Software Engineering: Using UML, Patterns and Java, Third Edition, Prentice Hall, 2010.
    • Miles & Hamilton: Learning UML 2.0, O’Reilly Media, 2006. ISBN: 0-596-00982-8
    • Business Modeling with the UML and Rational Suite AnalystStudio, A Rational Software White Paper, Rational, 2001
    • Dương Kiều Hoa – Tôn Thất Hoà An, Phân tích và thiết kế Hệ thống thông tin với UML, 2006
    • I. Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process. Addison-Wesley Professional, 1999

INTERESTING LINKS

CÁC TRANG WEB HỮU ÍCH

Most of links are from CSE3308

OO and UML Resources

Design and Analysis Patterns

CASE and drawing tools

    • (Old) Student Edition of Rational Rose CASE Tool (9.2Mb ZIP file), Rational Software was the home of the developers of UML, and Rational Rose. It was acquired by IBM in 2003. Evaluation versions are available for both Windows and Linux - but they're huge! (Windows, 344Mb, Linux 119Mb).
    • SmartDraw drawing tool for PCs. Very useful for structured analysis and design.
    • Dia - GTK-based diagram drawing program. An open-source drawing tool that is included in many Linux installations. A variety of modelling languages is supported. There is also a Windows version.
    • Glade - an open-source visual interface builder for GTK+ and GNOME.
    • Qt Designer - a GUI builder from Trolltech. Qt Designer generates C++ code, and runs natively on Windows, X11, Mac and embedded Linux. It is shipped with many Linux distributions. Try typing designer at the command line.
    • Manfred Schneider. Links on Object-Orientation.
  • http://www.rhein-neckar.de/~cetus/software.html. Lots of links on OO methodologies (including UML), languages, distributed objects and databases.