객체 지향 분석 방법의 5 단계는 무엇입니까?
< /p>
객체 지향 분석 방법의 5 단계는 무엇입니까? < /p>
첫 번째 단계는 객체와 클래스를 결정하는 것입니다. 여기서 말하는 객체는 데이터와 그 처리 방식을 추상적으로 표현한 것으로, 시스템이 현실 세계의 어떤 사물에 대한 정보를 저장하고 처리하는 능력을 반영한다. 클래스는 여러 객체의 * * * 동일한 속성 및 메서드 집합에 대한 설명이며 한 클래스에서 새 객체를 만드는 방법에 대한 설명을 포함합니다. < /p>
두 번째 단계는 구조 (structure) 를 결정하는 것입니다. 구조란 문제 도메인의 복잡성과 연결 관계를 말합니다. 클래스 멤버 구조는 일반화-특화 관계를 반영하고 전체-부분 구조는 전체와 지역 간의 관계를 반영합니다. < /p>
세 번째 단계는 주제 (subject) 를 결정하는 것입니다. 주제는 사물의 전반적인 개요와 전반적인 분석 모델을 가리킨다. < /p>
4 단계, 속성 확인. 속성은 객체 또는 분류 구조의 인스턴스를 설명하는 데 사용할 수 있는 데이터 요소로, 그림에 나와 있으며 객체 저장에 지정됩니다. < /p>
5 단계, 방법 결정 (method). 메서드는 메시지를 받은 후 수행해야 하는 몇 가지 처리 방법입니다. 메서드는 그림에 정의되고 객체의 저장소에 지정됩니다. 각 개체 및 구조에 대해 한 가지 방법 자체를 추가, 수정, 삭제 및 선택하는 것은 암시적입니다 (개체 저장에 정의되지만 그림에 표시되지는 않음). 자바 프로그래머는 객체 지향 분석 방법을 어떻게 이해합니까? < /p>
< P > < P > < P > "개체 (Object)" 라는 단어를 공유해 보면 19 세기 초 현상학 거장인 후젤이 제안하고 정의했다. 물체는 세계 속의 물체가 인간의 뇌에 있는 이미지이며, 인간의 의식이 의식에 반영된 이유이며, 하나의 개념으로 존재하는 선념이며, 인간의 뜻도 포함하고 있다. (윌리엄 셰익스피어, 햄릿, 희망명언) 예를 들어 설명해 보세요. 우리가 새로운 물체를 깨달을 때, 그것은 나무라고 불리며, 그래서 우리의 의식 속에서 나무의 개념이 형성되었다. 이 개념은 항상 우리의 사고에 존재할 것이며, 이 나무가 잘려서 사라지지 않을 것이다. 이 개념은 현실 세계의 물체가 우리 의식 속에 있는 이미지이다. 우리는 그것에 대해 우리 자신의 뜻을 가질 수 있다. 비록 우리가 실현할 필요는 없지만, 너의 머릿속에서 이 나무를 잘라서 책상, 의자 등을 만드는 것을 생각하면 우리는 그것을 의향이라고 부른다. 따라서 대상은 객관적인 세계에서 인간의 뇌에 있는 물체의 이미지와 사람의 의도이다. 이 물건이 우리의 사고 의식 속에 존재하는 한, 우리는 이것으로 같은 종류의 것을 판단할 수 있다. 예를 들어, 우리가 다른 나무를 볼 때, 우리가 본 첫 번째 나무가 없어졌기 때문에, 참고할 수 있는 템플릿을 잃어버렸기 때문에 그 나무를 알지 못하는 것은 아니다. (윌리엄 셰익스피어, 햄릿, 나무명언) 우리가 어떤 새로운 것을 접할 때, 우리의 의식은 이런 것들에 대한 하나의 물건을 확립할 것이다. 물론 이 과정이 어떻게 형성되었는지는 우리가 토론할 수 있는 문제가 아니다. 위에서 언급한 물체는 일반적인 의미의 문제를 연구하므로 모든 것을 외지로 밀어낼 수 있다. 우리가 흔히 말하는' 개체' 는 정보 분야에서 발생하는 문제를 해결하는 방법을 일컫는 말이다. 특히 소프트웨어 기술을 적용하여 문제를 해결하는 방법. 우리가 자주 마주치는 객체 지향 프로그래밍 (Object-Oriented Programming), 객체 지향 분석 (Object-Oriented Analysis), 객체 지향 설계 (Object-Oriented Design) 앞서 설명한 개체에 대한 개념을 적용하면 이러한 문제를 더 자세히 분석할 수 있습니다. 좀 더 복잡한 시스템에 직면하여, 우리는 그것을 하나의 개체로 분석할 수 있다. 하나의 시스템 (문제를 해결하는 전체 솔루션) 은 하나의 객체로 여러 부분으로 구성될 수 있습니다. 마찬가지로 이 객체는 여러 객체로 구성될 수 있습니다. 같은 종류의 사물에 대해서는 하나의 물건으로 나타낼 수 있다. 이를 통해 얻을 수 있는 이점은 분명하며 유연하고 효율적이며 설계자의 작업량을 크게 줄이고 실제 모델을 단순화할 수 있습니다. 예를 하나 들다.
관계형 데이터베이스 설계에서는 튜플을 객체로 사용하여 일련의 조작 방법을 정의할 수 있습니다. 이러한 방법은 모든 튜플에 적용되므로 더 큰 범위 내에서 서로 다른 튜플을 자세히 고려할 필요가 없습니다 (예: 한 요소가 합법적인지 여부 판단). 공개 * * * 에 대한 자체 지향 접근 방식 세트가 있기 때문에 "자체" 는 자신의 문제를 "해결" 할 수 있습니다. 한 단계 위에 있는 객체는 테이블, 뷰 등이 될 수 있습니다. 테이블 객체는 튜플 객체를 기반으로 추가, 삭제 등과 같은 고유한 방법을 가지고 있습니다. 이 수준에서, 그것은 단지' 자신' 의 일만 하면 된다. 튜플 개체의 지원이 있기 때문에, 원소가 합법적인지 아닌지를 고려하지 않아도 된다. 경우에 따라 요소 또는 테이블 그룹을 시간 객체로 취급하고 자체 방법을 정의할 수도 있습니다. 이렇게 하면 객체 지향 이점이 더 잘 표시됩니다. < /p>
위에서 설명한 것은 객체 지향 분석 방법이라고 할 수 있습니다. 구체적인 설계 과정에서도 적절한 방식을 채택해야 한다. 객체 지향 사상이 물론 선진적이기 때문에 잘 하지 못하면 원하는 효과를 얻을 수 없다. 이는 주로 객체와 객체 간의 관계를 처리하는 데 제대로 수행되지 않았으며 객체와 객체의 레벨이 명확하지 않음을 나타냅니다. 위에서 언급한 관계형 데이터베이스의 경우, 튜플 수준에서 객체를 너무 많이 얻으면 테이블 객체의 득인자를 고려하거나, 테이블 수준에서 객체가 튜플 객체의 요소를 너무 많이 고려하거나, 요소 차원의 요소를 고려하더라도 좋은 객체 지향 설계 방법이 아닙니다. 이 점에서 Java 는 여러 상속을 허용하지 않으므로 언어 구현에서 C++ 보다 유리합니다. 따라서 객체 간의 관계가 더욱 명확해집니다. C++ 의 기능이 더 강하다는 것은 누구도 부인할 수 없지만, 코드라이브러리가 어느 정도, 어느 정도 규모로 발전함에 따라 개체 간의 계층 관계는 매우 복잡해질 것이며, 후계 사용자들에게 학습과 이해에 큰 어려움을 초래하고, 응용상 파악하기 어려울 것이다. 또한 C++ 는 객체 지향 처리 기능을 갖추고 있지만 많은 프로세스 지향 물건을 유지합니다. C++ 로 객체 지향 사고를 사용하지 않고 프로그래밍할 수 있습니다. 물론 사람들은 그렇게 하지 않습니다. C++ 를 C 확장으로 여기는 초보자를 제외하고는 앞으로의 발전에 숨겨진 위험을 안고 있습니다. 한편으로는 Java 의 제한이 좀 더 많다. 그것만으로는 충분하지 않다. 개발에 종사하는 것은 사람이고, 개발 방법은 사람에 의해 결정된다. 객체 지향 접근 방식을 적용하여 우수한 소프트웨어를 개발하려면 개발자에게 좋은 객체 지향 아이디어를 요구해야 합니다. 훌륭한 엔지니어는 ——Java, C++, Object Pascal, Ada 등 그가 사용하는 언어 도구에 관계없이 적절한 도구를 사용하여 우수한 소프트웨어를 개발할 수 있습니다.
< /p>
출처 사이트: ◁ ▓ERP 수석 디자이너 ◁ 구조화 분석 방법과 객체 지향 방법의 차이점 < /p>
1. 구조화 방법이 따르는 기본 원칙 < /p>
구조화 방법의 기본 아이디어는 해결해야 할 문제를 하나의 시스템으로 보는 것입니다 P>
추상 원칙은 모든 시스템 과학 방법이 따라야 할 기본 원칙이며 시스템의 본질적 내용을 파악하는 데 중점을 두고 시스템의 현재 목표와 무관한 내용을 무시하는 것은 기본적인 인지 과정과 사고 방식 < /p>
(2) 분해 원칙 P>
분해 원칙은 구조적 접근 방식에서 가장 기본적인 원칙이며, 정보 시스템 모델을 구성할 때 하향식 계층형 솔루션을 사용하는 < /p>
(3) 모듈식 원칙 P>
모듈화는 구조적 접근 방식의 가장 기본적인 분해 원칙의 구체적인 적용이다. 주로 구조적 설계 단계에서 발생하는 목표는 시스템을 특정 기능을 가진 여러 모듈로 분할하여 시스템 지정 기능을 완료하는 것이다 < /p>
2. 객체 지향 모델에 따르는 기본 원칙 < /p>
객체 지향 모델에 따르는 기본 원칙은 다음과 같습니다 P>
(1) 추상 < /p>
추상화는 실제 복잡성을 처리하는 가장 기본적인 방법입니다. OO 방법에서 한 객체와 다른 객체 간의 차이의 본질적 특성을 강조합니다. 주어진 도메인에 대해 합리적인 추상 세트를 결정하는 것은 객체 지향 모델링의 주요 문제 중 하나입니다. < /p>
(2) P>
패키징은 추상적 요소의 구분 프로세스 추상화입니다. 구조와 동작으로 구성된 패키징은 추상적인 원시 인터페이스와 그 실행을 분리하는 데 사용됩니다. < /p>
패키징은 정보 숨기기 정보 숨기기 (Information Hiding) 라고도 합니다. 한 객체의 외부 특성과 내부 실행 세부 사항을 분리하고 후자는 다른 객체에 대해 숨깁니다
P>
모듈화는 이미 일련의 집계되고 결합된 모듈로 분할된 시스템 특성입니다. 주어진 문제에 대해 올바른 모듈 세트를 결정하는 것은 올바른 추상 세트를 결정하는 것만큼 어렵습니다. 일반적으로 각 모듈은 < /p>
(4) 레벨 < /p>
추상 세트를 완전히 이해할 수 있을 만큼 간단해야 합니다 복잡한 현실 세계에는 두 가지 매우 중요한 수준이 있습니다. 하나는 유형 레벨이고 다른 하나는 구조적 레벨입니다. 추상화 계층 구조는 객체 기반 상속으로, 객체 상속에서 추상화 간의 관계를 파악하는 데 도움이 됩니다. 문제의 본질을 이해하는 문제 파악 < /p>
3. 구조화 방법의 핵심 문제 P>
모델 문제는 구조화 방법의 핵심 문제입니다. 모델 약어 모델링은 우리가 시뮬레이션하고자 하는 현실 세계 모델링을 더 잘 이해하기 위한 것입니다. 일반적으로 시스템의 수요 분석부터 시작합니다. 구조화 방법에서 SA 방법을 사용하여 시스템의 환경 모델을 구축한 다음 SD 방법을 사용하여 시스템의 동작과 기능 모델을 결정합니다. 마지막으로 SP 방법을 사용하여 시스템을 설계하고 사용자의 실제 모델을 결정합니다. P>
4 ... 객체 지향 접근 방식의 핵심 문제 < /p>
객체 지향 접근 방식은 구조적 접근 방식과 마찬가지로 핵심 문제이기도 합니다. 객체 지향 모델도 주로 OOA 모델 OOD 모델로 구성됩니다. 여기서 OOA 는 주로 주제 추상 형태의 내용 OOD 가 주로 주제 설계 형태의 내용
5 에 속합니다 < /p>
(2) 조사 작업의 중요성을 강조한다. < /p>
(3) 관리 업무에서 다양한 데이터를 분해합니다. < /p>
(4) 계층적 분해의 체계적인 사고를 채택했다. < /p>
(5) 그래픽 도구를 사용하여 새로운 시나리오를 분석하고 구축합니다.
(구조화 분석을 위한 차트 도구는 주로 데이터 흐름도, 데이터 사전 및 데이터 처리 설명으로 구성됩니다. < /p>
6. 객체 지향 시스템 분석 방법의 특징 < /p>
(1) 시스템 개발의 무결성과 글로벌성 강조 < /p>
(2) 데이터 자체보다는 데이터 변환 프로세스에 집중 ; 개체는 자유형 데이터와 작업을 함께 닫아 상태, 동작을 지역화하는 독립적인 실체입니다. < /p>
(5) 상속 < /p>
상속은 객체 지향적이고 가장 강력한 메커니즘입니다. 클래스 상속을 통해 캡슐화된 객체로 인해 발생하는 데이터 또는 운영 중복과 같은 문제를 보완하고 상속 지원 재사용을 통해 소프트웨어 리소스 * * * 를 즐기고 진화하며 확장을 향상시킬 수 있습니다. < /p>
(6) 다양성 < /p>
동일한 메시지를 다른 클래스나 개체에 전달하면 다양한 작업이 발생할 수 있으므로 소프트웨어 개발 설계가 더욱 편리하고 인코딩이 유연해집니다. < /p>
(7) 서비스 용이성 < /p>
객체 지향 추상 캡슐화는 객체 정보를 지역적으로 숨깁니다. 개체가 수정되거나 개체 자체에 오류가 발생할 경우 그 영향은 개체 내부에만 국한되며 다른 개체 또는 전체 시스템 환경에 영향을 미치지 않으므로 소프트웨어 설계, 구성 및 실행 중 오류 감지 및 수정이 크게 용이합니다. 구조화 시스템 분석 방법 객체 지향 분석 방법 중 소프트웨어를 개발하는 데 사용되는 것은 무엇입니까? < /p>
물론 객체 지향 분석 방법이라 편리합니다! 객체 지향 요구 사항 분석 방법 < /p>
은 먼저 구조화 분석 (SA) 을 사용하여 소프트웨어에 대한 요구 사항 분석, 구조화 설계 (SD) 방법, 구조화 프로그래밍 (SP) 을 수행합니다. 소프트웨어 개발 성공률을 크게 높일 수 있는 두 가지 일반적인 소프트웨어 구조 (변형 및 트랜잭션) 를 제공합니다. < /p>
세 가지 기본 구조 형식은 순서, 선택 및 반복입니다. 세 가지 데이터 구조를 결합하여 복잡한 구조 체계를 형성할 수 있다. 이 방법은 대상 시스템의 입력 및 출력 데이터 구조부터 시작하여 프로그램 프레임 구조를 내보내고 다른 세부 사항을 보완하면 전체 프로그램 맵을 얻을 수 있습니다. 이 방법은 입력 및 출력 데이터 구조가 명확한 중소형 시스템에 특히 효과적입니다 (예: 비즈니스 어플리케이션의 파일 양식 처리). 이 방법은 모듈의 상세한 설계에 사용하기 위해 다른 방법과 결합할 수도 있습니다. < /p>
객체 지향 분석, 객체 지향 설계 및 객체 지향 프로그래밍의 의미와 연락? < /p>
허허, 이것은' 객체 지향' 과는 무관하며 분석, 설계 및 프로그래밍의 관계여야 합니다. < /p>
기존의 소프트웨어 개발 프로세스에 따라 분석, 설계, 코딩, 테스트 단계로 나뉘기 때문에 그들의 관계는 전통적인 과정에서 우선 순위의 관계입니다. 객체 지향 분석 및 설계 (제 3 판) < /p>
소프트웨어 엔지니어로서 책 두 권만 읽을 수 있다면' 디자인 패턴' 과 이 책을 선택하겠습니다. 만약 한 권의 책만 읽을 수 있다면, 나는 이' 객체 지향 분석과 디자인' 을 선택할 것이다. 이 책은 높은 집을 짓고 분석 및 설계 단계의 많은 지도 원칙을 서술하고 있다. 세밀한 마스터급 고전 논술 이후 시스템에 대한 이해가 새로운 수준으로 높아질 것이다. 또 이 책의 삽화도 매우 제자리에 있고, 특징이 있어, 책 전체를 더욱 빛나게 한다. 네, 그리고 단 한 권의 책만 두 번 jolt award( 91, 93) 를 받았습니다. 말할 필요도 없이 누구나 누구인지 알고 있습니다. 한 권의 책의 두 판본은 각각 한 번씩 jolt award 를 얻었다. 작가 grady booch 는 확실히 쟁쟁한 인물, UML 의 발명가, rational 의 수석 과학자, 객체 분야를 향한 리더 중 한 명이다.
비록 약간의 역사가 있지만, 컴퓨터 업계의 새로운 물건들이 끊임없이 출현하고 있지만, 일부 고전은 거품 아래에 자연적으로 퇴적될 것이다. 소프트웨어 개발 과정은 실제로 다른 모든 인류의 공사 활동과 같다. 결국 세계의 복잡성과 불확실성을 극복하기 위해 의심할 여지 없이 구체적인 문제를 해결하기 위한 것이다. 모든 소프트웨어 및 엔지니어링 활동은 처음에는 불확실한 외부 세계로부터 정보를 얻었으며, 결국 인간 설계의 확실한 메커니즘을 통해 똑같이 불확실한 복잡한 세계에 작용한다. 따라서 이러한 엔지니어링 활동에서 영원한 매크로 개발 프로세스는 최종 실행이나 구현 능력이 매우 중요하지만 발견과 발명이야말로 정말 복잡한 곳이고, 가장 중요한 활동이며, 구현 과정은 공장의 생산 라인처럼 객체 지향 분석과 설계의 의미가 무엇인지 < /p>
애플리케이션 시스템을 구축하기 전에 충분한 분석을 해야 합니다. 예를 들어, 도서 정보 관리 시스템 소프트웨어를 개발하는데, 이 시스템은 어떤 기능을 실현해야 합니까? 이것이 바로 분석 문제이다. < /p>
설계는 문제의 논리적 솔루션, 즉 시스템이 요구 사항을 충족하는 방법을 강조합니다. 예를 들어, 도서 정보 관리 시스템은 어떻게 원격 조회를 할 수 있습니까? 디자인은 결국 하드웨어나 소프트웨어 방법으로 실현할 수 있다. < /p>
객체 지향 분석 및 설계의 본질은 객체 관점에 따라 문제 도메인 및 논리 솔루션을 고려하는 것입니다. 분석은 문제 영역에서 객체를 찾아 설명하기 위한 것입니다. 예를 들어, 도서관 정보 시스템에서 이러한 객체에는 도서, 대출자, 사서 등이 포함됩니다. < /p>
설계의 초점은 속성과 메서드가 있는 논리 소프트웨어 객체를 정의하는 것입니다. 이러한 객체는 결국 객체 지향 프로그래밍 언어로 구현됩니다. 즉, 해당 클래스를 작성할 수 있습니다. 객체 지향 분석 및 설계 방법 < /p>
이것은 내가 프로그래머의 첫 번째 단위인 맏이의 추천 번호 중 하나이며, 처음에는 별로 관심이 없었다. 처음 입문한 프로그래머로서 객체 지향 정규화는 정확한 쓸데없는 말일 뿐이다. Person, Human 과 같은 것, 최근 제가 이 책을 처음 뒤집은 것은 2 년이 넘었습니다. 접촉한 프로그래밍의 정규화는 주로 객체와 프로세스 (물론 C++ 안에 있는 다른 두 가지 정규화) 를 지향하는 것입니다. 우리가 이 두 가지 정규를 비교로 바꿀 때, 우리는 무엇이 객체 지향인지, 왜 객체 지향인지, 객체 지향이 우리에게 이득이 되는지 깊이 이해할 수 있습니다. 즉, 우리가 자주 말하는 바와 같이, 나쁜 디자인에 얽매이지 않고 죽는다는 것입니다. 종종 고전적인 책들을 읽는 것은 무감각합니다. (존 F. 케네디, 독서명언) Uml2 객체 지향 분석 및 디자인 담화빈 pdf
UML 은 통합 모델링 언어라는 뜻으로 개발자에게 도움이 됩니다. 주요 도움은 다음과 같습니다. 1. 디자이너가 UML 을 통해 자신의 설계 의도를 명확하게 표현할 수 있도록 합니다. 2. 건축가가 개발자에게 자신의 설계 방안을 명확하게 설명할 수 있도록 합니다. 3. 프로세스 통제에 매우 중요합니다. 현재 나 ... < /p >