구조적 다이어그램 종류
- 클래스 다이어그램, 객체 다이어그램, 컴포넌트 다이어그램, 배치 다이어그램, 복합체 구조 다이어그램, 패키지 다이어그램
행위 다이어그램 종류
- 유스케이스 다이어그램, 시퀀스 다이어그램, 커뮤니케이션 다이어그램, 상태 다이어그램, 활동 다이어그램, 상호작용 개요 다이어그램, 타이밍 다이어그램
uml 다이어그램 중 럼바우 객체지향 분석기법에서 동적 모델링에 활용되는 다이어그램
uml확장 모델에서 스테레오 타입 객체 표현할 때 사용하는 기호
- <<>>
** 스테레오 타입:UML에서 표현하는 기본 기능 외에 추가적인 기능 표현하는 것 ,주로 << include>> << extends >>형태로 표현
UML 다이어그램 중 구현단계에서 사용되는 다이어그램 2가지
UML 다이어그램 중 결과물, 프로세스, 컴포넌트 등 물리적인 자원의 위치(⭐)를 표현할때 사용하는 다이어그램
UML 다이어그램 중 시스템 내 클래스의 정적구조를 표현하고 클래스와 클래스, 클래스의 속성 사이의 관계를 나타낼 때 사용하는 다이어그램
( ) 은 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능을 표현한 것
유스케이스 다이어그램 표현할 때 사용되는 구성요소 4가지
UML 다이어그램 중 자료흐름도와 유사하고 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현한 다이어그램
활동 다이어그램의 요소 중 액티비티 수행을 담당하는 주체를 구분하고 가로 또는 세로 실선을 그어 구분하는 요소
클래스 다이어그램 구성요소
UML 다이어그램 중 다음 특징 가지는 다이어그램
시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램이다. 시스템을 구성하는 요소를 문서화하는데 사용된다
( ) 다이어그램은 UML 다이어그램 중 객체들을 ( ) 로 추상화하여 표현하는 다이어그램으로 대표적인 구조적 다이어그램이다. ( ) 는 각각 객체들이 갖는 속성과 메소드로 표현한 것으로 3개의 구획으로 나눠 이름, 속성, 메소드를 표기한다.
( ) 는 연관관계에 있는 두 클래스에 추가적으로 표현해야할 속성이나 오퍼레이션이 있는 경우 생성하는 클래스
시퀀스 다이어그램의 구성요소
UML 시퀀스 다이어그램 요소 중 객체가 메시지를 주고받으며 구동되고 있음을 표현하고 생명선 상에 겹쳐 직사각형 형태로 표현하는 요소
커뮤니케이션 다이어그램이 시퀀스 다이어그램과 구별되는 가장 큰 특징은 메시지뿐만 아니라 객체들 간의 관계까지 표현한다는 것이다. 커뮤니케이션의 요소 중 객체들 간의 관계를 표현하는 데 사용하는 요소
UML 다이어그램 중 객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 그림으로 표현한 것
유스케이스나 클래스 등의 요소들을 그룹화한 패키지간의 의존관계를 표현한 것으로 정적 모델링의 하나.
기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 소프트웨어 개발 방법론
-컴포넌트 기반 방법론(CBD) (컴포넌트 개발 방법론 아님)
구조적 개발 방법론의 수행절차
- 타당성 검토 단계 -> 계획 -> 요구사항 -> 설계-> 구현 -> 시험 -> 운용/유지보수
정형화된 분석 절차에 따라 사용자의 요구사항을 파악하고, 문서화하는 체계적 분석 방법으로, 자료 흐름도, 자료 사전, 소단위 명세서의 특징을 갖는 소프트웨어 개발 방법론
소프트웨어 재사용 방법
- 합성중심, 생성중심
합성중심 : 블록(모듈)을 만들어서 끼워 맞추어 소프트웨어 완성시키는 방법, 블록 구성 방법이라고도 한다.
생성중심 : 추상화 형태로 써진 명세를 구체화하여 프로그램 만드는 방법, 패턴 구성 방법이라고도 한다.
소프트웨어 개발 과정에서 사용되는 요구분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것. 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공하는 것
소프트웨어 재공학 개념 간략히 서술
- 기존 시스템 이용해 보다 나은 시스템 구축, 새로운 기능 추가하여 소프트웨어 성능 향상 시키는 것
이미 개발되어 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 사용하는 것
- 소프트웨어 재사용 (소프트웨어를 꼭 붙이기 )
소프트웨어 비용 산정 기법 중 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가들의 의견을 종합하여 산정하는 기법
( ) 모형은 알브레히트가 제안한 것으로 소프트웨어 기능을 증대시키는 요인별로 ( ) 를 구한 후 이를 이용해서 비용을 산정하는 기법
COCOMO 모형의 소프트웨어 개발 유형 3가지
소프트웨어 비용 산정 기법 중 Putnam 모형의 개념 간략히 서술
- 소프트웨어 생명주기의 전 과정 동안에 사용될 노력의 분포를 예상하는 모형
소프트웨어 비용 산정 기법 중 보헴이 제안한 것으로 원시 프로그램의 규모인 LOC에 의한 기법
Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
프로젝트에 필요한 전체 작업의 상호관계를 표시하는 네트워크로, 각 작업별로 낙관적인 경우, 가능성 있는 경우, 비관적인 경우로 나누어 단계별로 종료 시기를 결정하며, 과거의 개발 경험이 없어 소요 기간 예측이 어려운 프로젝트에 사용하는 일정 계획 기법
CMMI 소프트웨어 프로세스 성숙도 단계 순서대로
- 초기 - 관리 - 정리 - 정량적 관리 - 최적화
** CMMI : 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도 평가하는 모델
소프트웨어 개발 표준 중 정보 시스템 분야에서 소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로, 공식 명칭은 iSO/IEC 15504인 것
소프트웨어 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명 주기 표준으로 ISO에서 만들었음. 기본 생명 주기 프로세스, 지원 생명 주기 프로세스 , 조직 생명 주기 프로세스 로 구분
소프트웨어 개발 프레임워크의 특성 4가지
소프트웨어 개발 프레임워크의 특성 중
( ) : 프레임워크는 다시 사용이 가능한 모듈들을 제공함으로써 예상 절감, 생산성 향상, 품질 보증이 가능하다.
- 재사용성
( ) : 프레임워크는 캡슐화를 통해 ( ) 를 강화하고 설계 및 구현의 변경에 딸느 영향을 최소화함으로써 소프트웨어 품질을 향상시킨다.
소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 지능들을 제공해주는 반제품 형태의 소프트웨어 시스템