정보처리기사

정보처리기사) 소프트웨어(2) - SW설계/ 형상, 버전, 결함, 일정관리/ CASE도구

은line 2022. 2. 2. 17:29

 SW의 3P 

: People (인적자원), Process (프로젝트 수행을 위한 Framework/전체 계획,구조),  Problem (문제분석, 인식)

 SW 상위 설계 

: 아키텍쳐/ UI설계 / 인터페이스 정의

 SW 설계지침 

: 모듈기능이 예측 가능하도록, 이식성 고려, 적당한 크기 유지 

 SW 언어선정 기준 

: 적정성, 효율성, 이식성, 친밀성, 범용성

 SW영역 결정요소 

: 기능, 성눙, 제약조건, 인터페이스, 신뢰도

 SW 품질목표 

- 시스템 SW 

: OS, Web Server, WAS를 위한 서버프로그램, DBMS

: 메모리 적재, 인터럽트 관리, 기억장치 관리

- 응용 SW 

: 복잡수학 계산

 

- 실시간 SW 

: 인터럽트와 문맥교환의 표현, 태스크들 간의 통신과 동기화, 비동기적 프로세싱, 타이밍 제약의표현을 고려하여 설계

 인터럽트 

> 프로그램검사 : 0으로 나누기, Underflow/Overflow, 명령어잘못입력, 프로그램상 오류

> SVC : 의도적 호철, 복잡한 입출력처리시, Operator와 대화 필요시

> 입/출력 : 이상현상 발생시, 입/출력 data오류시

> 외부 : 시간만료, Operator가 콘솔창에 인터럽트키 입력시

 

- 개발 SW 

: 요구사항 관리도구, 설계/ 모델링도구(UML지원), 구현/ 테스트/ 형상관리/ 빌드 도구

 > 구현도구 : 이클립스, IDEA, VS, Node.js

 > 테스트 도구 : CPP/ HTTP/ N unit/ Spring Test

 형상관리 

: 가시성, 추적성(진행정도), 방해요인 최소화 보장하여 품질과 생산성↑, 개발비용↓

: 유지보수,개발 단계에 적용/ 동시개발 가능, 불필요 사용자 수정제한, 변경/제어 관리

> 대상 - 분석서, 지침서, 소스코드

> 기능 - 형상식별 : 특정절차/도구 결합, 관리계획 근거로 대상 식별 과정

          - 버전 제어 기술 :  대상에 이름/관리번호 부여하여 계층관리 함으로써 수정/추적용이 

버전등록 과정

 > 버전관리도구

* Sub Version(=SVN)

 : 개발작업은 Trunk(몸통)에서, 추가작업은 Branches(서브디렉토리)에서 수행

 : 유닉스 서버사용, 주 명령어 diff

* Git

 : 로컬에서 버전관리, 원격저장소나 네트워크 문제 시에도 작업가능

 : Branch 이용시 다양한 기능 테스팅 가능, 파일변화 스냅샷

 

> 분석 자동화 도구 CASE

 결함관리 

: 계획→ 기록→ 검토→ 수정→ 재확인→ 보고서 작성 (모니터링, 결함상태 추적)

 일정관리  

 빌드 자동화 도구 

: 빌드를 포함하여 테스트/ 배포를 자동화하는 도구, 지속적인 통합개발환경에서 유용하게 활용됨

** 빌드 = 소스코드 파일들을 컴파일하여 여러 모듈로 묶어 실행파일로 만드는 과정