플랫폼 성능 특성 측정 항목 : 경과시간, 사용률, 응답시간, 가용성(경사응가)
현행 시스템 분석 : 운영체제 현행 시스템 분석, 네트워크 현행 시스템 분석, DBMS 현행 시스템 분석
DBMS 현행 시스템 분석 시 고려사항
가성호기구
가용성 / 성능 / 상호 호환성 / 기술 지원 / 구축 비용
데이터 흐름도(DFD) 구성요소
프플스터
Process / Data Flow / Data Store / Terminator
원 / 화살표 / 평행선(=) / 사각형
UML기본 구성 요소 : Things, Relationship, Diagram
UML관계 유형
연관관계(Association) | 2개 이상의 사물이 서로 관련된 상태 사물 사이를 실선으로 표현하고 방향성은 화살표로 표현 양방향 관계의 경우 화살표를 생략하고 실선으로 연결 |
의존관계(Dependency) | 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간동안만 연관을 유지하는 관계 영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표 |
일반화관계(Generalization) | 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 상하위개념 하위에서 상위쪽으로 속이 빈 화살표 |
실체화관계(Realization) | 한 객체가 다른 객체에 오퍼레이션을 수행하도록 지정하는 관계 사물에서 기능쪽으로 속이 빈 점선 화살표 |
UML 모델에서 사용하는 구조적 다이어그램(정적 다이어그램)
클객 컴배 복패
클래스 (Class) |
- 시스템 내 클래스의 정적 구조를 표현 - 속성과 동작으로 구성 - 시스템의 구조를 파악하고 구조상의 문제점 도출 가능 -클래스와 클래스, 클래스와 속성 사이의 관계를 표현 |
객체 (Object) |
- 클래스에 속한 사물들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현 - 객체 인스턴스를 나타내는 대신 실제 클래스를 사용 - 연관된 모든 인스턴스를 표현 |
컴포넌트 (Component) |
- 코드 컴포넌트 기반의 물리적 구조 표현 - 실질적 프로그래밍 작업에 사용 |
배치 (Deployment) |
- 컴포넌트 사이의 종속성을 표현 - 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현 |
복합체 구조 (Composite Structure) |
- 클래스나 컴포넌트가 복잡 구조를 갖는 경우 그 내부 구조를 표현 |
패키지 (Package) |
- 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현 |
행위적 다이어그램 / 동적 다이어그램
유시커 상활타
유스케이스 (Usecase) |
- 사용자 관점에서 시스템의 활동을 표현 - 유스케이스는 시스템의 기능적 요구 정의에 활용 |
시퀀스 (Sequence) |
- 객체 간 상호 작용을 메시지 흐름으로 표현 - 객체 사이 메시지를 보내는 시간을 표현 - 교류 다이어그램의 한 종류 - 객체, 생명선, 실행, 메시지 |
커뮤니케이션 (Commuication) |
- 시퀀스 다이어그램과 같이 동작에 참여하는 객체들이 주고받는 메시지를 표현하는데, 메시지 뿐만 아니라 객체 간의 연관까지 표현 |
상태 (State) |
- 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현 - 모든 가능한 상태와 전이를 표현 - 진입 조건, 탈출 조건, 상태 전이 등 기술 |
활동 (Activity) |
- 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현 - 활동의 순서대로 흐름을 표현 |
타이밍 (Timing) |
- 객체 상태 변화와 시간 제약을 명시적으로 표현 |
XP의 5가지 가치 : 단순성, 의사소통, 피드백, 용기, 존중
객체 지향 분석은 상향식임.
객체 지향 방법론
Rumbaugh의 OMT
- 객체 모델링 - 객체 다이어그램
- 동적 모델링 - 상태 다이어그램
- 기능 모델링 - 자료 흐름도
(기능 모델링 순서 : 입출력 자료 정의 -> 자료 흐름도 작성 -> 기능 명세서 작성 -> 제약조건 파악)
Booch 방법론
- DFD
Coad/Yourdon
- E-R 다이어그램
shaler/Mellor 방법론
- 정보 모델링, 상태 모델링, 처리 모델링
활동 다이어그램 (Activity Diagram) |
시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현 활동의 순서대로 흐름을 표현 |
상태 다이어그램 (State Diagram) |
-하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현 -모든 가능한 상태와 전이를 표현 -진입 조건, 탈출 조건, 상태 전이 등 기술 |
클래스 다이어그램 (Class Diagram) |
-시스템 내 클래스의 정적 구조를 표현 -속성과 동작으로 구성 -시스템의 구조를 파악하고 구조상의 문제점 도출 가능 -클래스와 클래스, 클래스와 속성 사이의 관계를 표현 |
UI의 종류
(1) CLI(Command Line Interface) : 정해진 명령 문자열을 입력하여 시스템 조작
(2) GUI(Graphic User Interface)
(3) NUI(Natural User Interface) : 직관적(터치, 음성 등) 사용자 반응
(4) OUI(Organic User Interface) : 모든 사물이나 물질들
(5) CUI(Cell User Interface) : 셀 기반의 사용자 인터페이스
(6) MUI(Mobile User Interface) : 모바일 장치, 사용자 경험(UX), 직관적
UI 설계 원칙
- 직관성 : 누구나 쉽게 사용 가능하도록
- 유효성 : 사용자의 목적을 정확하게 달성하도록
- 학습성 : 누구나 쉽게 배우도록
- 유연성 : 오류를 최소화하도록
응집도 : 높을수록 좋음
기 > 순 > 교 > 절 > 시 > 논 > 우
기능적 응집도 (Functional) |
모든 기능이 단일한 목적을 위해 수행되는 경우 |
순차적 응집도 (Sequential) |
한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우 |
통신(교환)적 응집도 (Communication) |
처리 순서에 상관없이 동일한 자료를 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우 - 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동 |
절차적 응집도 (Procedural) |
입출력 순서는 상관 없지만 배열된 순서로 수행되는 경우 |
시간적 응집도 (Temporal) |
특정 시간에 처리되어야 하는 활동 |
논리적 응집도 (Logical) |
유사한 성격, 특정 형태로 분류되는 처리 요소들 |
우연적 응집도 (Coincidental) |
구성 요소들이 연관이 없을 경우 |
결합도 : 낮을수록 좋음
자 < 스 < 제 < 외 < 공 < 내
자료 결합도 (Data) |
파라미터를 통해서만 모듈 간의 상호 작용 |
스탬프 결합도 (Stamp) |
배열이나 오프젝트, 스트럭처 등을 전달 |
제어 결합도 (Control) |
제어 요소를 전달 |
외부 결합도 (External) |
외부에서 도입된 데이터 포맷, 통신 프로토콜, 디바이스 인터페이스를 공유 |
공통 결합도 (Common) |
전역 변수를 참조하고 전역 변수를 갱신 |
내용 결합도 (Content) |
다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용 |
소프트웨어 아키텍처 4+1 뷰
유논프구배
유스케이스 뷰 (Usecase View) |
유스케이스 또는 아키텍처를 도출하고 설계하며 다른 뷰를 검증하는 데 사용되는 뷰 |
논리 뷰 (Logical View) |
시스템의 기능적인 요구사항이 어떻게 제공되는지 설명해주는 뷰 |
프로세스 뷰 (Process View) |
시스템의 비기능적인 속성으로서 자원의 효율적인 사용, 병행 실행, 비동기, 이벤트 처리 등을 표현한 뷰 |
구현 뷰 (Implementation View) |
개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 보여주는 뷰 |
배포 뷰 (Deployment View) |
컴포넌트가 물리적인 아키텍처에 어떻게 배치되는가를 매핑해서 보여주는 뷰 |
디자인 패턴
반복적으로 나타나는 문제점들에 대한 해결방안 제시, 공통되는 해결책을 묶은것
행, 생, 구
생성패턴 (Creational) |
객체 생성에 관련된 패턴으로 간단한 블록의 코드로 여러 가지 다양한 객체를 생성할 수 있다. 추상팩토리(Abstract Factory), 빌더(Builder), 팩토리메서드(Factory Method), 프로토타입(Prototype), 싱글톤(Singleton) |
구조 패턴 (Structural) |
클래스나 객체를 조합해 더 큰 구조를 만드는 패턴으로, 복잡한 구조의 큰 시스템을 쉽고 효율적으로 만들 수 있게 해준다. 어댑터(Adapter), 브리지(Bridge), 컴포지트(Composite), 데코레이터(Decorator), 퍼사드(Facade), 플라이웨이트(Flyweight), 프록시(Proxy) |
행위 패턴 (Behavioral) |
반복적으로 일어나는 객체들의 상호작용을 패턴화해 놓은 것으로 객체들 간의 알고리즘이나 역할 분담에 관련된 것들을 정의해 놓았다. 책임연쇄, 커맨드, 인터프리터, 이터레이터, 미디에이터, 메멘토, 옵서버, 스테이트, 스트래티지, 템플릿메서드, 비지터 |
객체지향 방법론의 용어
- 객체(Object) - 정보를 효율적으로 관리하기 위한 개념적인 단위
- 클래스(Class) - 공통 속성과 행위를 가진 객체를 묶어 추상화
- 속성(Property) - 객체가 가지고 있는 데이터 값
- 메소드(Method) - 객체를 사용하는 방법이나 연산
- 상속성(Inheritance) - 상위 클래스의 자료구조와 연산을 이어 받는 것
- 다형성(Polymorphism) - 같은 연산인데 다르게 수행하는 것
- 메시지(message) - 객체들을 연결하는 수단
- 캡슐화(Encapsulation) - 자료구조와 연산을 묶어 놓은 것
- 추상화(Abstraction) - 문제를 단순화하는 과정
- 정보 은닉(Information Hiding) - 연산을 통해서만 그 자료에 접근
요구 사항 검증 방법
- 동료 검토(Peer Review) : 2~3명이 진행하는 리뷰의 형태로 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 결함을 발견하는 방법
- 워크스루(Walk Through) : 검토 자료를 회의 전에 배포해서 사전 검토한 후, 짧은 시간 동안 회의를 진행하는 형태
- 인스펙션(Inspection) : 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법
인스펙션 과정
계획 -> 사전 교육 -> 준비 -> 인스펙션 회의 -> 수정 -> 후속 조치
미들웨어 솔루션 유형
DB미들웨어, RPC, MOM, TP Monitoring, ORB, WAS, 레거시웨어
아키텍처 설계 과정
설계 목표 설정 -> 시스템 타입 결정 -> 스타일 적용 및 커스터마이즈 -> 서브 시스템의 기능, 인터페이스 동작 작성 -> 아키텍처 설계 검토
'정보처리기사 공부' 카테고리의 다른 글
<실기> SQL 응용 (1) | 2025.03.12 |
---|---|
정보시스템 구축관리 (0) | 2025.02.05 |
프로그래밍 언어 활용 (0) | 2025.02.05 |
소프트웨어 개발 (1) | 2025.02.04 |
네트워크 기초 활용 (1) | 2025.01.25 |