*문제 풀고 틀린 부분만 따로 정리함
chap1. 요구사항 확인
1-2) 플랫폼 성능 특성 분석
플랫폼 성능 특정 분석 기법(3가지)
- 사용자 인터뷰, 성능 테스트, 산출물 점검
* 기능 테스트는 성능특성분석에서 하지않고 테스트 단계에서 진행함.
1-3) 운영체제 분석
운영체제 현행 시스템 분석시 고려사항
- 품질측면: 신뢰도, 성능
- 지원측면: 기술 지원, 주변기기, 구축비용
* 네트워크 구성도는 네트워크 분석시에 확인한다. 운영체제분석에 네트워크가 왜나옴..
2-1) 요구분석 기법
요구분석의 특징
- 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용할 수 있다.
- 보다 구체적인 명세를 위해 소단위 명세서가 활용될 수 있다. * 설계 명세서 아님!!!
- 개발비용이 가장 많이 소요되는 단계는 아니다. * 개발비용 많이드는 단계는 유지보수 단계
데이터 흐름도(DFD) 구성요소
- 처리기(process)
- 데이터 흐름(Data Flow)
- 데이터 저장소(data store)
- 단말(terminator)
* 데이터 흐름도에 terminator.. UML구성 요소는 things, relationships, diagrams.
2-2) UML
UML 구성요소
- 사물(things)
- 관계(Relationships)
- 다이어그램(Diagrams)
UML의 관계
- 연관관계 association
- 집합관계 aggregation
- 포함관계 composition
- 일반화관계 generalization
- 의존관계 dependency
- 실체화관계 realization
*추상화관계 없음
2-3) 애자일, Agile
애자일 방법론 유형: XP, 린Lean, 스크럼SCRUM
XP의 5가지 가치
- 용기, 단순성, 의사소통, 피드백, 존중
XP의 12가지 기본원리
- Pait programming, collective ownership, continuous integration, planning process, small release, metaphor, simple design, test driven develop, refactoring, 40-hour work, on site customer, coding standard. *영어로 봐놓기
린 7가지 원칙
- 낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화 *XP가치랑 린 가치 구분해서보기
스크럼 반복론 개념
- 백로그: 제품과 프로젝트에 대한 요구사항
- 스프린트: 2-4주의 짧은 개발 기간으로 반복적 수행으로 개발품질 향상
- 스크럼 미팅(데일리미팅): 매일 15분정도 미팅으로 to-do list 계획수립
- 스크럼 마스터: 프로젝트 리더
3-1) 모델링 기법
모델링의 역할
- 실세계 문제에 대한 모델링이 소프트웨어 요구사항 분석의 핵심
- 모델은 문제가 발생하는 상황에 대한 이해를 증진시키고 해결책을 설명한다.
- 개념모델은 문제 도메인의 엔티티들과 관계 및 종속성을 반영한다.
* 개념모델링은 대부분 UML로 구성된다. XML 아님 !!
3-3) 요구사항 관리 도구
요구사항 관리 도구의 기능
- 기본기능: 프로젝트 생성, 요구사항 작성, 요구사항 불러오기/내보내기
- 핵심기능: 요구사항 이력관리, 요구사항 베이스라인, 요구사항 추적성
- 부가기능: 협업환경, 외부 인터페이스, 확장성
* 요구사항 숨김기능은 없음!
chap2. 화면 설계
1-3) UI 지침
사용자 요구사항 도출
- 페르소나 정의: 잠재적 사용자의 다양한 목적과 관찰된 행동 패턴을 응집시켜놓은 가상의 사용자.
- 콘셉트 모델 정의
- 사용자 요구사항 정의
- UI 컨셉션: 정리된 요구사항을 구체화하는 단계로 화면 디자인 단계 전에 대표화면 설계를 진행하는 단계
1-4) 스토리보드
UI화면 설계 구분
- 와이어 프레임: 이해관계자들과의 화면구성을 협의하거나 서비스의 간략한 흐름을 공유하기위해 화면 단위의 레이아웃을 설계
- 스토리보드: 서비스 구축을 위한 모든 정보가 담겨있는 설계 산출물
- 프로토타입: 정적인 화면으로 설계된 와이어프레임, 스토리보드에 동적효과를 적용. 실제 구현된것처럼 시뮬레이션 가능
* 정황 시나리오 제작은 없음.!! 위 3가지!!
2-1) UI 흐름 설계 및 상세 설계
UI 설계 프로세스
- 문제정의> 사용자 모델 정의> 작업 분석> 컴퓨터 오브젝트 및 기능 정의> 사용자 인터페이스 정의> 디자인 평가
* 문사작컴인디
UI흐름설계
- 화면에 포함되어야할 기능 작성> 화면의 입력요소 확인> UI요구사항을 기반으로 유스케이스 설계> 기능및 양식 확인
2-3) UI 설계 도구
UI 디자인 산출물로 작업하는 프로토타이핑 도구
- 인비전, 픽사에이트, 프레이머(커피 스크립트 사용)
chap3. 애플리케이션 설계
1-1) 공통 모듈
공통 모듈 원칙
- 정확성, 명확성, 완전성, 일관성, 추적성 *결합성 없음!!
바람직한 모듈 설계 방안
- 모듈의 독립성과 재사용성을 높이기위해 결합도는 낮추고 응집도는 높인다. *모듈간 상관성은 낮아야함.
- 모듈의 복잡도와 중복성을 줄이고 일관성을 유지
- 모듈 기능은 예측이 가능해야하고 지나치게 제한적이어서는 안된다.
- 적당한 모듈의 크기를 유지한다.
- 모듈간의 효과적인 제어를 위해 설계에서 계층적 자료조직이 제시되어야 한다.
- 유지보수가 용이해야한다.
2-1) 객체지향
객체지향 구성요소
- 클래스, 객체
- 메서드: 클래스로부터 생성된 객체를 사용하는 방법
- 메시지: 객체간 상호작용을 하기위한 수단. *객체에게 어떤 행위를 하도록 지시함.
- 인스턴스: 클래스에 속한 각각의 객체. 실제로 메모리상에 할당
- 속성
* 메서드, 메시지, 인스턴스 잘 구분해서 기억할것 ..
객체지향 기법
- 캡슐화: 서로 관련성이 많은 데이터와 이와 관련된 함수들을 한 묶음으로 처리
- 상속성, 다형성
- 추상화: 공통성질을 추출
- 정보은닉
- 관계성: 두개이상의 엔티티형에서 데이터를 참조하는 관계를 나타냄(종류: 연관화, 집단화, 분류화, 일반화, 특수화)
객체지향 설계 원칙
- 단일 책임의 원칙
- 개방 폐쇄 원칙
- 리스코프 치환의 원칙: 서브타입(상속받은 하위클래스)은 어디서나 자신의 기반타입(상위클래스)으로 교체할수있어야 한다
- 인터페이스 분리의 원칙
- 의존성 역전의 원칙
2-2) 디자인 패턴
디자인 패턴 구성요소
- 패턴의 이름, 문제 및 배경, 솔루션, 사례, 결과, 샘플 코드 *개발자 이름은 아니다!!!!!!
chap4. 인터페이스 설계
1-1) 내, 외부 인터페이스 요구사항
내외부 인터페이스 요구사항 명세서 구체화 프로세스
- 요구사항 정의서 세분화> 내용의 이해 및 수정> 누락된 요구사항 신규정의> 요구사항 정리
* 기능/비기능 분류는 명세서 구체화전 단계에서 실행됨
1-2) 요구공학
- 기능적 요구사항 특성: 기능성, 완전성, 일관성 *일관성은 기능특성! 비기능으로 헷갈리지말것.
- 비기능적 요구사항 특성: 신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보안성 및 품질관련 요구사항, 제약사항.
요구사항 명세원리 및 검증 항목
- 명확성, 완전성, 검증 가능성, 일관성, 수정 용이성, 추적 가능성, 개발 후 이용성
*이식성 없음!
요구사항 확인 및 검증단계의 주요 기법/산출물
- 요구사항 검토, 정형기술 검토 활용, 프로토타이핑 활용, 모델 검증,
테스트케이스 및 인수 테스트, CASE도구 활용, 베이스라인, 요구사항 추적표
*리팩토링, 일반화관계 없음!!
정형 기술 검토 활용 종류
- 동료 검토: 요구사항 명세서 작성자가 설명하고 이해관계자들이 들으면서 결함 발견하는 형태 진행
- 워크 스루: 검토 자료를 회의 전에 배포해서 사전검토
- 인스펙션: 다른 전문가 또는 팀이 검사해서 오류 찾아냄
'study > 자격증' 카테고리의 다른 글
[정보처리기사 필기] 2. 소프트웨어 개발 (0) | 2021.02.09 |
---|