CASE (Computer-Aided Software Engineering) 도구
- 시스템 개발 방법론들의 자동화를 지원하는 소프트웨어 도구를 제공해 개발자의 반복적인 작업랴을 줄이도록 하는 것
- 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션이 증대 된다.
제공요소
- 차트와 다이어그램을 자동으로 생성하는 그래픽 기능, 화명과 리포트 생성기, 데이터 사전, 분석과 검사도구, 코드 생성기, 문서 생성기 등등
주요기능
- 소프트웨어 생명주기(Software Lifecycle) 전 단계의 연결
- 그래픽 지원
- 다양한 소프트 웨어 개발 모형 지원
GoF (Gang of Four) 디자인 패턴
- 생성패턴
- 추상팩토리(Abstract Factory) : 서로 연관된 객체들을 그룹으로 생성하여 추상적으로 표현
- 빌더(Builder) : 동일한 객체 생성에도 서로 다른 결과
- 팩토리 메소드(Factory Method) : 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정(Virtual-Constructor 패턴)
- 프로토타입(Prototype) : 원본 객체를 복제
- 싱글톤(Singleton) : 하나의 객체를 여러 프로세스가 동시에 참조할 수 없음.
- 구조패턴 : 어댑터(Adapter), 브리지(Bridge), 컴포지트(Composite), 데코레이터(Decorator), 퍼싸드(Facade), 플라이웨이트(Flyweight), 프록시(Proxy)
- 행위패턴 : 생성패턴과 구조패턴 외 모든 것들
자료사전 기호
기호 | 의미 |
= | 자료의 정의 |
+ | 자료의 연결 |
( ) | 자료의 생략 |
[ | ] | 자료의 선택 |
{} | 자료의 반복 |
* * | 자료의 설명 |
개발 기술 환경
미들웨어
- 솔루션 유형
- DB(Database) : 클라이언트에서 원격 데이터베이스와 연결하기 위한 미들웨어 (예 : ODBC)
- RPC(Remote Procedure Call) : 원격 프로시저를 로컬 프로시저처럼 호출하는 방식
- MOM(Message Oriented Middleware) : 메시지 기반의 비동기형 메시지 전달
- TP-Monitor(Transaction Processing Monitor) : 사용자수가 증가해도 빠른 응답속도를 유지해야하는 업무에 주로 사용
객체지향 설계 원칙(클래스 설계원칙)
- SRP(단일 책임 원칙) : 클래스, 함수 등은 단 하나의 책임만을 가져야 한다.
- OCP(개방-폐쇄 원칙) : 기존의 코드를 변경하지 않고 기능을 수정하거나 추가할 수 있도록 설계해야함.
- LSP(리스코프 치환 원칙) : 서브타입은 어디에서나 자신의 기반타입(상위,부모)로 교체할 수 있어야함.
- ISP(인터페이스 분리 원칙) : 자신이 사용하지 않는 기능(인터페이스)에는 영향을 받지 않아야함.
- DIP(의존 역전 원칙) : 의존 관계를 맺을 때, 변화하기 쉬운 것보단 변화하기 어려운 것에 의존해야함.
요구사항 확인 기법
UML
활용 다이어그램
- Behavioral 다이어그램(시스템의 동작을 표현하는 행위)
- 유즈케이스(UseCase) 다이어그램
- 시퀀스(Sequence) 다이어그램 : 항목액터, 활성객체(object), 라이프라인(생명선), 메세지, 제어삼각형 구성
- 커뮤니케이션(Communication) 다이어그램
- 상태(State) 다이어그램
- 활동(Activity) 다이어그램
- 상호작용개요(Interaction Overview) 다이어그램
- 타이밍(Timing) 다이어그램
- Collaboration : 주고받는 메시지 중심
- Structural 다이어그램 : 배치(deployment) 다이어그램
기본구성요소
- 사물(Things), 관계(Relationship), 다이어그램(Diagram)
관계
- Dependency(의존) : 한 사물의 명세서가 바뀌면 그것을 사용하는 다른 사물에게 영향을 끼치는 것
- Realization(실체화) : 한 객체가 다른 객체에 의해 오퍼레이션을 수행하도록 지정
- Generalization(일반화) : 일반화된 사물과 좀 더 특수화된 사물 사이의 관계(is-a 관계)
- Association(연관) : 두 사물간의 구조적 관계로, 어느 한 사물 객체가 다른 사물객체와 연결되어 있다를 말한다.(has-a 관계)
요구사항 명세 기법
구분 | 정형 명세 기법 | 비정형 명세 기법 |
기법 | 수학적 원리 기반, 모델 기반 | 상태/기능/객체 중심 |
작성 기법 | 수학적 기호, 정형화된 표기법 | 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성 |
특징 | - 요구사항을 정확하고 간결하게 표현가능 - 요구하상에 대한 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증이 가능 - 표기법이 어려워 사용자가 이해하기 어려움 |
- 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고, 해석이 달라질 수 있다. - 내용의 이해가 쉬워 의사소통이 용이함 |
종류 | VDM, Z, Petri-net, CSP 등 | FSM, Decision Table, ER 모델링, State Chart(SADT) 등 |
그 외
- FEP(Front-End-Processor) : 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어
- 자료 흐름도 (DFD, Data Flow Diagram)
- 자료에 대한 흐름을 표현 (시간흐름 X)
- 구조적 분석기법에 사용
- 요소 : Process(원), Flow(선), Data Store(직선), Terminator(사각형)
- Usecase 구성요소와의 관계
- 연관 : use case와 actor와의 관계
- 확장 : 기본 use case 수행 시 특별한 조건을 만족할 때 수행할 use case
- 포함 : 시스템의 기능이 별도의 기능을 포함
- 일반화 : 하위 use case/action이 상위 use case/actor에게 기능/역할을 상속받는다
- 그룹화 : 여러개의 use case를 단순화 하는 방
'정보처리기사' 카테고리의 다른 글
4. 프로그래밍 언어 (0) | 2024.03.03 |
---|---|
5.소프트웨어 개발 (0) | 2024.02.29 |
댓글