본문 바로가기

IT기술노트/소프트웨어공학134

액티비티 다이어그램 (Activity Diagram) 작업흐름, 활동, 시작/종료, 판단, 전이, 동시성, 구획면 I. 비즈니스 작업 흐름 표현, 액티비티 다이어그램 개요 가. 액티비티 다이어그램 (Activity Diagram)의 정의 - 사건의 발생에 관련된 객체들의 상호 관계를 각종 처리 로직이나 조건을 순서에 따라 도식화한 다이어그램 나. 액티비티 다이어그램의 작성목적 처리순서 표현 대상에 상관없이 로직과 처리 순서를 표현하기 위해 작성 비즈니스 프로세스 정의 시스템화 대상화 영역에 속한 현재 업무 분야의 비즈니스 처리 흐름을 표현 처리 흐름의 도식화 프로그램 처리 흐름을 도식화하여 간단하고 명료하게 처리 로직을 표현 II. 액티비티 다이어그램의 구성요소 구성요소 설명 표기법 Activity state/ Activity (활동) 행위나 작업 (내부적.. 2021. 1. 31.
클래스 다이어그램 (Class Diagram) 객체, Private, Public, Protected, Attribute, Operation I. 객체 타입을 정의하고 정적인 관계를 표현, 클래스 다이어그램의 개요 가. 클래스 다이어그램 (Class Diagram)의 정의 - 시스템에서 사용되는 객체 타입을 정의하고 그들간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램 나. 클래스 다이어그램의 특징 객체 관계 표현 Class, Interface, Collaboration (협력) 관계 표현 정적 구조 표현 구현 시스템 내 Class 들간의 정적 구조 표현 코드 변환 다이어그램 작성 후 즉시 코드 변환 가능 II. 클래스 다이어그램의 구성 및 관계표현 가. 클래스 다이어그램의 구성 나. 클래스 다이어그램의 관계표현 관계유형 표기법 설명 연.. 2021. 1. 31.
UML 2.0 Composite Structure, Package, Interaction Overview, Timing I. 수준 높은 자동화를 지원하는 UML의 진화, UML 2.0의 개요 가. UML 2.0의 정의 - 웹 기반 어플리케이션과 SOA등 신기술의 등장으로 수준 높은 자동화를 지원하는 UML 기반의 도구의 필요성이 증가함에 따라 원래 표준보다 더 명확한 방식으로 UML 정의 나. UML 2.0의 등장배경 한계 내용 복잡성 크고 복잡하여 배우기 어려움, 적용이나 구현을 위한 접근이 어려움 이해하기 어려움 UML 규격의 Sematics나 Notation의 상세 내용에 대해 이를 정확하게 이해하기 어려움 간결성 부족 언어의 간결성 부족 서로 다른 도메인과 서로 다른 플랫폼에 효과적 대처 어려움 모델 공유 어려.. 2021. 1. 31.
UML(Unified Modeling Language) 객체지향 분석, 설계, Use-case, Class, Sequence, Activity I. 객체지향 분석, 설계를 위한 모델링 언어, UML의 개요 가. UML(Unified Modeling Language)의 정의 - 객체지향 분석과 설계를 하기 위한 모델링 언어로 OMG(Object Management Group)에서 모델링 기술과, 방법론을 표준화한 언어 나. UML의 특징 특징 내용 가시화 언어 프로젝트 계획, 실행, 변경 통제 문서화 언어 요구사항관리, 범위 정의, 산출물, 베이스라인 관리 구현 언어 WBS 승인, 일정 수행 및 평가 조정 명세화 언어 프로젝트 활동 완료를 위한 모든 비용, 예산 관리 II. UML의 구조 및 모델 가. UML의 구조 구성요소 내용 Things 모델에서 주제를 .. 2021. 1. 31.
다형성 (Polymorphism) Over-loading, Over-riding I. 동일한 이름의 메소드를 테일러링 하는 개념, 다형성의 개요 가. 다형성 (Polymorphism)의 정의 - 여러가지 형태를 받아들일 수 있는 특징으로 동일한 이름의 메소드를 다른 객체 또는 서브클래스에 호출할 수 있는 특징 나. 다형성의 특징 - 동적바인딩, 확장성 지원, 재사용성 지원 다. 다형성의 종류 오버로딩 (Over-loading) 클래스 내에서 동일 명의 메소드를 매개변수나 타입을 변경하여 재정의 오버라이딩 (Over-riding) 하위 클래스에서 상위 클래스에서 상속받은 메소드의 내용을 재정의 II. 오버로딩, 오버라이딩의 개념도 및 비교 가. 오버로딩, 오버라이딩의 개념도 - 동일한 인터페이스를 갖는 객체들이 그 동작은 완전히 다를 수 .. 2021. 1. 31.
객체지향 (Object-Oriented) Entity, Attribute, Method, 캡추다정상 I. 현실세계의 객체 표현한 개발 방법, 객체지향의 개요 가. 객체지향 (Object-Oriented)의 정의 - 현실세계에 존재하는 객체(Entity)를 속성(Attribute)와 메소드(Method)가 결합된 형태의 객체(Object)로 표현하는 개념 II. 객체지향의 구성도 및 구성요소 가. 객체지향의 구성도 나. 객체지향의 구성요소 구분 설명 객체 (Object) - 문제 영역에서 잘 정의된 역할을 가지고 각각 구분할 수 있는 단위, 개체, 품목을 의미하는 것으로 데이터와 함수로 구성 클래스 (Class) - 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추사화를 의미 - 객체를 생성 할 수 있는 구조와 정보를 가지고 있는.. 2021. 1. 31.
객체지향 설계원칙 SOLID I. 유지보수와 확장이 쉬운 시스템 설계, 객체지향 설계원칙의 개요 가. 객체지향 설계원칙의 정의 - 로버트 마틴에 의해 명명된 객체지향 프로그래밍의 설계의 5가지 원칙으로 시간이 지나도 유지보수와 확장이 쉬운 시스템 구축 원칙 나. 객체지향 5가지 설계원칙 항목 - SRP, OCP, LSP, ISP, DIP II. 객체지향의 5가지 설계원칙 (SOLID원칙) 원칙 구분 설명 SRP 명칭 단일 책임의 원칙 (Single Responsibility Principle) 정의 하나의 클래스는 하나의 책임만을 가져야 한다 개념도 - 하나의 책임만 가지고 있는 클래스로 세분화하여 생성 OCP 명칭 개방 폐쇠의 원칙 (Open Close Principle) 정의 상하 관계인 확장은 열려 있고 수평 관계인.. 2021. 1. 31.
모듈화 (Modularity) 응집도 (Cohesion), 결합도 (Coupling) I. 분해와 추상화를 통한 SW 설계 및 구현기법, 모듈화의 개요 가. 모듈화 (Modularity)의 정의 - 시스템을 분해하고 추상화를 통해 소프트웨어 성능을 향상 시키고 유지보수를 효과적으로 하기 위한 SW 설계 및 구현 기법 나. 모듈 (Module)의 원리 구분 설명 비용과 모듈과의 관계 모듈수가 증가하면 인터페이스 비용이 증가 모듈의 독립성 낮은 결합도와 높은 응집도를 가짐 자료 추상화 각 모듈 자료구조를 엑세스하고 수정하는 함수 내에 자료 구조의 표현 내역을 은폐 다. 모듈의 속성과 구성 구분 구성요소 설명 속성 입출력요소 자료를 받아들이고 자료를 내보내는 요소 기능요소 입력을 출력으로 바꾸는 요소, 즉 모듈의 처리 결과 기관요소 기능을.. 2021. 1. 31.
소프트웨어 설계 (Software Design) 추상화, 모듈화 I. 요구사항 명세서를 참조하여 상세 설계서 작성 활동, 소프트웨어 설계의 개요 가. 소프트웨어 설계 (Software Design)의 정의 - 요구사항 명세서를 참조하여 분석 단계에서 고려하지 않았던 상세 내용을 충분히 반영하여 구체적인 설계서를 작성하는 활동 II. 소프트웨어 설계의 종류 구분 주요활동 설명 상위설계 아키텍처 설계 시스템의 전체적인 구조를 나타냄 데이터 설계 시스템에 필요한 정보를 자료구조와 데이터베이스 설계 반영 시스템 분할 전체 시스템을 여러 개의 서브 시스템으로 분할 인터페이스 정의 시스템의 구조와 서브 시스템들 사이의 인터페이스를 명확히 정의 사용자 인터페이스 설계 사용자가 익숙하고 편리하게 사용하도록 인터페이스 설계 하위설계 모듈 설계 각 모듈의 실제적인 내부.. 2021. 1. 31.
도메인공학 공통점, 가변성 I. 모듈 API의 공통점, 가변성 도출 활동, 도메인 공학의 개요 가. 도메인 공학 (Domain Engineering)의 정의 - SW 모듈의 재사용 측면에서 모듈이 제공해야 하는 API 를 도출할 때 공통점과 가변성을 도출하는 공학적인 활동 II. 도메인 공학의 프로세스 및 구성요소 가. 도메인 공학의 프로세스 - 도메인 명세서 작성, 명세서를 바탕으로 도메인 분석, 컴포넌트 추출하여 도메인 아키텍처를 생성, 도메인 컴포넌트 구현 나. 도메인 공학의 구성요소 분류 설명 도메인 명세 기존/신규 시스템의 요구사항을 공통/선택/가변적 속성으로 분석한 모델 도메인 아키텍처 도메인 내 SW 시스템들의 유기적인 구조/설계 도메인 컴포넌트 플랫폼에 독립적인 논리적인 수준에서의 서비스 중심 단위 .. 2021. 1. 31.
반응형