본문 바로가기

study/자격증

[정보처리기사 필기] 1. 소프트웨어 설계

728x90

*문제 풀고 틀린 부분만 따로 정리함


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도구 활용, 베이스라인, 요구사항 추적표 

*리팩토링, 일반화관계 없음!!

 

정형 기술 검토 활용 종류

- 동료 검토: 요구사항 명세서 작성자가 설명하고 이해관계자들이 들으면서 결함 발견하는 형태 진행

- 워크 스루: 검토 자료를 회의 전에 배포해서 사전검토

- 인스펙션: 다른 전문가 또는 팀이 검사해서 오류 찾아냄

 

 

 

 

728x90
반응형

'study > 자격증' 카테고리의 다른 글

[정보처리기사 필기] 2. 소프트웨어 개발  (0) 2021.02.09