1. Lời giới thiệu Để có được các giải pháp phần mềm thành công đã đạt được thông qua các ứng dụng bằng các kỹ thuật có hệ thống. Những nhà phát triển - là những người đi theo hướng thực tiễn này luôn có mong muốn đưa ra những hệ thống cơ sở dữ liệu và phần mềm có tính thực tiễn và mạnh mẽ để đáp ứng các nhu cầu của người sử dụng. Khóa học này cung cấp những khái niệm tổng quan về các môi trường phát triển khác nhau. Các học viên sẽ đạt được tạo ra các sản phẩm phần mềm có chất lượng cao thông qua các ứng dụng về UML. 2. Đối tượng Khóa học này rất phù hợp cho những người quan tâm hay có các công việc liên quan đến các kỹ thuật phân tích và thiết kế đã qua thực nghiệm 3. Yêu cầu trước khi tham gia khoá học Để hoàn thành tốt khoá học, học viên cần phải: - Có kiến thức về các hệ thống phần mềm lớn
4. Các kỹ năng thu được Sau khi hoàn thành khoá học, học viên có thể: - Phân tích các yêu cầu và đưa ra các giải pháp phần mềm thiết kế sử dụng các kỹ thuật có hệ thống.
- Áp dụng UML trong dữ liệu, trong xử lý và trong các mô hình đối tượng
- Tạo các mô hình dữ liệu cho các thiết kế dữ liệu với chất lượng cao.
- Phát triển các mô hình xử lý để hiệu chỉnh và phần mềm điều khiển phức tạp.
- Xây dựng các mô hình đối tượng để sử dụng lại các thành phần một cách có hiệu quả và thiết kế giao diện người sử dụng.
- Lựa chọn các kỹ thuật mô hình để cho ra những hệ thống Web cũng như hệ thống cơ sở dữ liệu mạnh mẽ
- So sánh các công cụ CASE trong việc phân tích, đưa ra các mô hình phần mềm và mã hóa
5. Thời lượng: 30 giờ Nội dung khóa học INTRODUCTION AND OVERVIEW - Purpose and goals of analysis and design
- Modeling techniques for Web-enabled systems
- Exploring the software development process: The Unified Process and the V-Model
CREATING A DATA MODEL Analyzing data requirements - The what and why of data modeling
- Representing data structure in UML
- Defining multiplicity and optionality
- Subtypes vs. supertypes
- Ensuring high-quality results
Achieving the best practice in data design - Identifying the goals of data design
- Developing normalization techniques to produce robust cohesive data definitions
- Translating a data model to a relational database
- Managing data effectively in a multitier Web-enabled environment
- Assessing trade-offs
Formulating a physical data model - Customizing a view
- Partitioning data using packages
- Guaranteeing consistency and completeness
- Incorporating data design patterns
- Applying best practice guidelines
DEVELOPING THE PROCESS MODEL Analyzing process requirements - Creating UML use case diagrams
- Realizing a use case with an activity diagram
- Checking completeness and consistency with a cross-reference matrix
- Adding data flow
- Highlighting omissions
Determining the best practice in process design - UML object stereotypes: process, boundary and entity
- Constructing collaboration diagrams to show object connections
- Defining process control using state charts
- Managing complexity in process design
- Allocating processes in a Web-enabled environment
Forming the process architecture - Service vs. behavioral packages
- Coupling and cohesion
- Creating congruent designs
- Matching process and data structure
- Measuring cyclomatic complexity
BUILDING THE OBJECT MODEL Object-modeling techniques for analysis - Assessing the benefits of an object-oriented approach
- Constructing UML class diagrams
- Deriving operations from collaboration diagrams to achieve good encapsulation
- Aggregation vs. generalization and delegation vs. inheritance
- Applying polymorphism to facilitate client requests
Establishing best practice in design - Extending use case diagrams for user-interface design
- Generalizing actors and use cases
- Detailing mandatory reusable functionality with <>
- Describing optional functionality using <>
- Improving the design of user interfaces: prototyping
Finalizing the detailed use case - Adding timing and state change information
- Reusing knowledge with design patterns
ACHIEVING OPTIMUM-QUALITY RESULTS - Targeting the organization
- Choosing appropriate personnel
- Matching the development approach to the organizational culture
- Selecting appropriate CASE tools to support analysis and design
|