No account yet?
 
 
You are here:: Training/Seminar Training Schedule 80 Design Principles & 60 Architectural Tactics
 
 

80 Design Principles & 60 Architectural Tactics

Categories : Software Architecture and Design
Posted by : juntima | Posted On : Wednesday, 02 October 2013 11:14
Training Date : 27 June 2018 - 29 June 2018
19 February 2018 - 21 February 2018


23 August 2017 - 25 August 2017
15 February 2017 - 17 February 2017
14 December 2016 - 16 December 2016
Please Login before registering . No account ? signup here
กรุณา ล็อกอิน ก่อนลงทะเบียน หรือสร้างบัญชีผู้ใช้ใหม่ได้ ที่นี่
Time : 18 Hour(s)
Days : 3 Day(s)
Duration : 09:30 - 16:30
Fee : 12,000 THB (Excluded Vat 7%)
Language : Thai
Instructor : Mr.Narong Chansoi
Objectives :

หลักสูตรนี้ต้องการช่วยปรับพื้นฐานด้านการออกแบบและแก้ปัญหาทางสถาปัตยกรรมให้กับนักไอที
อาทิ Programmer, Analyst, Architect, Tester ซึ่งพื้นฐานเหล่านี้เป็นสิ่งที่นักไอทีจำนวนมากมองข้าม
ทั้งที่เป็นความรู้พื้นฐานสาคัญที่จำเป็นต่อการต่อยอดทักษะขั้นสูงมากมาย วิชานี้จึงช่วยปรับความเข้าใจและ
ให้ผู้เรียนสามารถปรับประยุกต์กับงานได้ง่ายขึ้นโดยไม่เน้นสอนทฤษฎี นอกจากนี้ความรู้ในวิชานี้ยังช่วยให้ผู้เรียนเข้าใจ
เทคโนโลยี/เฟรมเวิร์ก/ไลบรารี่/best practice ต่างๆ รวมถึง Design Pattern และ Architectural Pattern ต่างๆ ได้ง่ายขึ้นอีกด้วย

หลักสูตรนี้ สอนพื้นฐานการออกแบบระบบที่จำเป็น 80 ประการ และยุทธวิธีแก้ปัญหาทางสถาปัตยกรรม 60 ประการ
อาทิ ปัญหาด้านประสิทธิภาพ, ความพร้อมของระบบ, ความปลอดภัย, ความยืดหยุ่น

Who Should Attend :

ทุกท่าน ที่ ‘สนใจ’  งานด้านออกแบบระบบและสถาปัตยกรรมระบบ

Benefits :

ผู้เรียนจะได้เรียนพื้นฐานด้านการออกแบบระบบและยุทธวิธีแก้ปัญหาทางสถาปัตยกรรมจำนวนมาก
ในแบบรวบรัด เข้าใจง่าย และนำกลับไปประยุกต์และศึกษาต่อยอดได้ง่าย

Course Outline :

Day 1
General Design Principles
- Abstraction, Encapsulation, Information Hiding
- Implementation & Realization
-  Functionality & Non-Functionality
- Data Structure & Type Conversion
- Boundary, Contract
- Coupling, Dependency, Cohesion, Modularity
- Association, Aggregation, Composition
- Hierarchy, Inheritance, Generalization, Specialization
- Classification
- Capability, Operation and Method
- Polymorphism
- Binding
- Primitive
- Reusability
- Granularity
- Passing
- Construction & Destruction
- Dispatch & Delegate
State Design Principles
- State & State Transition
- Activation, Passivation, Swap-In, Swap-Out, Object Serialization, Object De-serialization
Transaction Design Principles
- State, State Transition, State Machine
- Atomicity
- Consistency
- Isolation
- Durability

Day 2
Architectural Design Principles
- Balance, Rhythm, Harmony, Unity, Contrast
- Monitoring
- Unit of Work
- Prototype, Template
- Balance Concerns
- Visitor Object/Service
- Filtering
- Verification & Validation
- Application Flow Control
- Logic Allocation
- Separation of Concerns
- Distribution
- Skin & Gut
- Connect to External Service/Resource, Interoperation & Integration
- Discoverability
- Autonomy
- Single Point of Failure
- Fault Handling
- Communication Path
- Service Access Channel
- Simultaneous/Concurrent/Isolation Access, Synchronization, Scheduling
- Divide & Conquer

Day 3
Architectural Tactics
- Availability Tactics
     o Fault Detection
     o Fault Recovery
     o Fault Prevention
- Modifiability Tactics
     o Localize Modification
          • Maintain Semantic Coherence
          • Anticipate Expected Changes
          • Generalize the Module
          • Limit Possible Options
     o Prevent Ripple Effects
          • Syntax of Data and Service
          • Semantic of Data and Service
          • Sequence of Data and Service
          • Identity of an Interface of A
          • Location of A
          • Quality of Service/Data Provided by A
          • Existence of A
          • Resource Behavior of A
          • Hide Information
          • Restrict Communication Paths
          • Use an Intermediary
     o Defer Binding Time
          • Runtime Registration
          • Configuration
          • Polymorphism
          • Component Replacement
          • Adherence to Defined Protocols
- Performance Tactics
- Resource Demand
     o Increase Computational Efficiency
     o Reduce Computational Overhead
     o Manage Event Rate
     o Control Frequency of Sampling
     o Bound Execution Times
     o Bound Execution Sizes
- Resource Management
     o Introduce Concurrency
     o Maintain Multiple Copies of Either Data or Computations
     o Increase Available Resources
- Resource Arbitration
     o First-In/First-Out (FIFO)
     o Fixed Priority Scheduling
     o Dynamic Priority Scheduling
     o Static Scheduling
- Security Tactics
     o Resisting Attacks
          • Authenticate Users
          • Authorize Users
          • Maintain Data Confidentiality
          • Maintain Integrity
          • Limit Access
     o Detect Attacks
          • Intrusion Detection System (IDS)
     o Recovering from Attacks
          • Restoring State
          • Identifying an Attacker (Audit Trail)
- Testability Tactics
     o Input/Output
          • Record/Playback
          • Separate Interface from Implementation
          • Specialize Access Routes/Interfaces
     o Internal Monitoring
          • Built-In Monitors
- Usability Tactics
     o Run-Time Tactics
          • Maintain a Model of the Task
          • Maintain a Model of the User
          • Maintain a Model of the System
     o Design-Time Tactics
          • Separate User Interface

Payment Condition :

Payment can be made by:

    1. Cash or Credit Card or Bank Cheque payable to “Software Park Thailand #2” (a post-dated cheque is not accepted) on the first day of the service or within the last day of the service.
    2. Account transfer and send the proof of the payment (the deposit slip) via fax or email to fax no. 02-583-2884 or email ttd@swpark.or.th" data-mce-href="mailto:ttd@swpark.or.th">ttd@swpark.or.th

        2.1 Siam Commercial Bank, Chaengwattana Branch
              Saving Account Number: 324-2-56262-0
             Account Name: Software Park Thailand#2

        2.2 Krungsri Bank, Chaengwattana (Software Park) Branch
              Saving Account Number: 329-1-34850-3
             Account Name: Software Park Thailand#2

Notes:

- Withholding tax (3%) is exempt.

- Should you need to withdraw, you must send the notice of the withdrawal in writing no later than 7 working days before the commencement date. The cancellation less than 7 days will be subject to a fine of 40% of the fee.

- Software Park Thailand reserves the rights to cancel courses due to unforeseen circumstances.

Contact Person :

For more information, contact our course coordinator on:

Juntima Klumchaun

Tel: +66-2583-9992 Ext. 1424

Fax: +66-2583-2884

Email: juntima@swpark.or.th" data-mce-href="mailto:juntima@swpark.or.th">juntima@swpark.or.th

You are encouraged to use the course schedule as a guide to plan your training. The schedule is accessible at www.swpark.or.th for more information.