[Object-Oriented Analysis and Design] Reading Notes 1-complex systems and object models

Source: Internet
Author: User

The complexity of software is a basic nature, not an accidental nature. This inherent complexity is caused by four factors: the complexity of the problem field, the difficulty of managing the development process, the flexibility of the software, and the difficulty of describing the behavior of Discrete Systems.

No restriction on complexity will lead to delays in project submission, budget withdrawal, and failure to meet all requirements. This is often referred to as a software crisis.

All complex systems have five attributes:

1) complexity is often manifested in the form of layers. A complex system is composed of correlated subsystems, and these subsystems are composed of their respective subsystems, and then the basic components of the lowest layer. -- Layered structure

2) The selection of the most basic components in the system is relatively arbitrary and largely depends on the judgment of the System Observer. -- Relative cost

3) In general, the connections within each component are always better than those between components. This attribute is useful when high-frequency dynamics are separated from the low-frequency dynamics of components. This is because the high-frequency dynamics involve the internal structure of each component, while the low-frequency dynamics involve the interaction of each component. -- Separation change

4) hierarchical systems are generally composed of only a few different subsystems in different ways of arrangement and combination. -- Reuse

5) We found that the complex systems that are running are always evolved from the simple systems that were previously running ...... Any complicated system that is randomly designed cannot operate normally or be repaired. We must start with a simple system that is running. -- Stable intermediate

Discovering common abstractions and mechanisms will be very helpful for us to understand complex systems. A complex system has multiple levels. Observe the system from two aspects, that is, it is regarded as "a hierarchy" (class structure) and a "part" (object structure) of the hierarchy ). The system class structure and object structure can be called the system architecture.

The basic method to grasp complexity is to break it into smaller parts when designing a complex software system, and then refine them separately.

AlgorithmDecomposition represents each module in the system as the main step in a general process. Object-oriented decomposition is used to break down the system based on the key abstraction in the problem field. The algorithm decomposition method highlights the sorting of events, while the object-oriented method emphasizes the subject.In the early stages of scientific computing, there was no abstract concept, and then the encapsulation of algorithms gradually evolved into the abstraction of processes and modules (the appearance of structuredProgramIn this case, the module is also a simple process grouping. Their basic physical units are processes and modules. However, data is not abstracted.

Based on the difference between object programming and object-oriented programming, the former is only for abstract data type programming.

Programming style-- A way to organize programs, based on a programming conceptual model and a suitable language, aims to make programs written in this style clear.

Each programming style is based on its own conceptual framework. For all object-oriented things, the conceptual framework is the object model. It includes four primary and three secondary factors.

(1) abstraction (2) Encapsulation (3) Modularization (4) Hierarchy

(1) type (2) concurrency (3) Persistent

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.