안녕하세요. 소복냥 입니다.
벌써 10번째 시간입니다. 계속해서 반복적으로 진행하는 것이 저의 스타일이기 때문에 다소 반복적인 내용이 나오시더라도 복습한다 생각하고 진행해주셨으면 합니다.
그럼 시작하겠습니다.

* DBMS (데이터베이스 관리 시스템) 분석 요구사항 식별 시 고려사항
- 가용성
- 성능
- 기술 지원
- 상호 호환성
- 구축 비용
* 요구사항 정의 - 개발 프로세스
도출 (Elication) / 분석 (Analysis) / 명세 (Specification) / 확인 (Validation)
* 요구사항 도출 (= 요구사항 수집, Requirement Elicitation)
- 시스템, 사용자, 시스템 개발에 관련된 사람들이 서로 의견을 교환하여, 요구사항이 어디에 있는지, 어떻게 수집할 것인지 식별하고 이해하는 과정입니다.
- 소프트웨어가 해결해야 할 문제를 이해하는 첫 단계입니다.
- 개발자와 고객 사이의 관계 만들어집니다. 이해관계자 (Stakeholder) 식별.
- 이해관계자 간의 의사소통 중요합니다.
- 소프트웨어 개발 생명주기 (SDLC, Software Development Life Cycle) 동안 지속적으로 반복됩니다.
- 도출 주요 기법 - 인터뷰, 설문, 브레인스토밍, 워크숍, 프로토타이핑, 유스 케이스
* 요구사항 분석 (Requirement Analysis)
- 요구사항 중, 명확하지 않거나 모호, 이해되지 않는 부분 발견 및 걸러내는 과정입니다.
- 사용자 요구사항의 타당성 조사, 비용 일정에 대한 제약 설정
- 서로 상충되는 (내용 중복, 하나로 통합) 요구사항 있을 때 해결합니다.
- 도출된 요구사항을 토대로 SW의 범위 파악, SW와 주변 환경이 상호작용하는 방법 이해합니다.
- 요구사항 정의 문서화합니다.
* UML (Unified Modeling Language)
- 시스템 개발과정에서 의사소통이 원활하도록 표준화한 객체지향 모델링 언어
- UML 구성요소 : 사물 (Things), 관계 (Relationships), 다이어그램 (diagram)
사물 (Things) :
모델을 구성하는 가장 중요한 기본 요소, 다이어그램 안에서 관계가 형성될 수 있는 대상들
* 구조 사물 (Structural Things)
- 시스템의 개념적, 물리적 요소 표현
- Class, Use case, Component, Node
* 행동 사물 (Behavioral Things)
- 시간과 공간에 따른 요소들의 행위 표현
- Interaction (상호작용), State Machine (상태 머신)
* 그룹 사물 (Grouping Things)
- 요소들을 그룹으로 묶어서 표현
- Package
* 주해 사물 (Annotation Things)
- 부가적인 설명이나 제약조건 표현
- Note
* 관계 (Relationships)
사물과 사물 사이의 연관성 표현
* 연관관계 (Association)
- 2개 이상의 사물이 서로 관련됩니다.
- 사물 사이를 실선으로, 방향성은 화살표로 표현, 양방향의 경우, 화살표 생략 실선으로만 연결,
- 연관에 참여하는 객체수 (다중도)를 선위에 표현
1 | 1개의 객체가 연관 |
N | n개의 객체가 연관 |
0..1 | 연관된 객체가 없거나 1개만 존재 |
0..* 또는 * | 연관된 객체가 없거나 다수 |
1..* | 연관된 객체가 적어도 1개 이상 |
n..* | 연관된 객체가 적어도 n개 이상 |
n..m | 연관된 객체가 최소 n개에서 최대m개 |
* 집합 관계 (Aggregation)
- 하나의 사물이 다른 사물에 포함되어 있는 관계입니다.
- 포함하는 쪽 (전체)과 포함되는 쪽 (부분)은 서로 독립적입니다.
- 포함되는 쪽 (part)에서 포함하는 쪽 (whole)으로 빈 마름모 연결됩니다.
* 포함관계 (Composition)
- 집합 관계의 특수항 형태, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현합니다.
- 포함하는 쪽 (전체)과 포함되는 쪽 (부분)은 서로 독립적일 수 없음, 생명주기를 함께합니다.
- 포함되는 쪽 (part)에서 포함하는 쪽 (whole)으로 속이 채워진 마름모 연결됩니다.
* 일반화 관계 (Generalization)
- 하나의 사물이 다른 사물에 비해 더 일반적인지, 구체적인지 표현합니다.
- 일반적인 개념 (상위, 부모) 구체적인 개념 (하위, 자식)입니다.
- 구체적인 사물에서 일반적인 사물 쪽으로 속이 빈 화살표 연결됩니다.
* 의존 관계 (Dependency)
- 사물 사이에 서로 연관은 있으나, 필요에 의해 서로에게 영향을 주는, 짧은 시간 동안만 연관을 유지하는 관계입니다.
- 하나의 사물과 다른 사물은 소유관계는 아니지만, 사물의 변화가 다른 사물에도 영향을 미칩니다.
- 영향을 주는 사물 (이용자)이 영향받는 사물 (제공자) 쪽으로 점검 화살표 연결합니다.
* 실체화 관계 (Realization)
- 사물이 할 수 있거나, 해야 하는 기능 (행위, 인터페이스)으로 서로를 그룹화할 수 있는 관계 표현입니다.
- 사물에서 기능 쪽으로 속이 빈 점선 화살표 연결합니다.
* 다이어그램 (Diagram) : 사물과 관계를 도형으로 표현합니다
여러 관점에서 시스템을 가시화한 뷰를 제공함으로써 의사소통에 도움을 줍니다.
정적 모델링에서는 구조적 다이어그램을 사용, 동적 모델링에서는 행위 다이어그램 사용합니다.
* 구조적 (Structural) 다이어그램의 종류

* 행위 (Behavioral) 다이어그램의 종류

* 품질 요구사항 - ISO/IEC 9126
* 소프트웨어의 품질 특성과 평가를 위한 표준 지침
Functionality 기능성 |
SW가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지에 대한 여부 | 1. 적절성 / 적합성 2. 정밀성 / 정확성 3. 상호 운용성 4. 보안성 5. 준수성 |
Suitability Accuracy Interoperability Security Compliance |
Reliability 신뢰성 |
SW가 요구된 기능을 정확하고 일관되게 오류없이 수행할 수 있는 정도 | 1. 성숙성 2. 고장 허용성 3. 회복성 |
Maturity Fault Tolerance Recoverability |
Usability 사용성 |
사용자가 정확하게 이해하고, 사용하며 향후 다시 사용하고 싶은 정도 | 1. 이해성 2. 학습성 3. 운용성 4. 친밀성 |
Understandability Learnability Operability Attactiveness |
Efficiency 효율성 |
사용자가 요구하는 기능을 할당된 시간동안 한정된 자원으로 얼마나 처리할 수 잇는지에 대한 정도 | 1. 시간 효율성 2. 자원 효율성 |
Time Behavior Resource Behavior |
Maintainability 유지보수성 |
환경변화 or 새로운 요구사항이 발생했을때, SW를 개선 및 확장할 수 있는정도 | 1. 분석성 2. 변경성 3. 안정성 4. 시험성 |
Analyzability Changeability Stability Testability |
Portability 이식성 |
SW가 다른 환경에서도 얼마나 쉽게 적용할 수 있는지에 대한 정도 | 1. 적용성 2. 설치성 3. 대체성 4. 공존성 |
Adaptability Installability Replaceability Co-existance |
끝까지 읽어주셔서 감사합니다!

정보처리기사 필기 문제 유형 분석 (9)
안녕하세요. 소복냥 입니다. 9번째 시간 달려가 보겠습니다. * CASE (Computer Aided Software Engineering) 소프트웨어 공학의 여러 작업들을 자동화하는 도구 소프트웨어 부품의 재사용성을 향상해줍니다.
160326.tistory.com
반응형
'이슈' 카테고리의 다른 글
정보처리기사 필기 문제 유형 분석 (12) (3) | 2022.07.06 |
---|---|
정보처리기사 필기 문제 유형 분석 (11) (0) | 2022.06.20 |
정보처리기사 필기 문제 유형 분석 (9) (1) | 2022.06.10 |
정보처리기사 필기 문제 유형 분석 (8) (8) | 2022.05.25 |
정보처리기사 필기 문제 유형 분석 (7) (5) | 2022.05.23 |