Topcit 정리/기술영역 - 소프트웨어 개발(21)
-
12. 소프트웨어 형상 관리
소프트웨어 형상관리의 개요 형상관리의 정의 형상관리는 소프트웨어의 개발 과정에서 변경사항을 관리하기 위해 개발된 일련의 활동이다. 형상관리가 없을 시 다음과 같은 문제점이 발생할 수 있다. - 가시성 미흡 - 컨트롤 어려움 - 추적성 미흡 - 감시의 미비 - 끊임없는 변경 형상 관리 개념도 및 구성요소 형상관리 개념도 형상관리의 구성요소 - 기준선 : 기술적 통제시점, 변화를 통제하는 시점의 기준 - 형상항목 : 소프트웨어 생명주기 중 공식적으로 정의되어 기술되어 지는 기본 대상 - 형상물 : 구현되어 지는 형체가 있는 형상관리의 대상 - 형상정보 : 형상항목 + 형상물 형상관리 활동 형상 식별 : 관리 항목에 대한 번호 부여 형상 컨트롤 : 소프트웨어 형상 변경 요청을 승인하여 베이스라인에 반영할 수 ..
2021.02.02 -
11. 소프트웨어의 요구사항 관리
요구사항 관리 요구사항 관리의 중요성 적절한 요구사항 관리는 다양한 이해 관계자 간의 효과적인 의사소통 수단을 제공한다. 요구사항 관리 목적 고객의 요구를 정확히 파악하고 품질 높은 소프트웨어를 만들기 위하여 요구사항 관리 공정 요구추출 -> 요구 분석 -> 요구명세 및 검증 -> SW 아키텍처 -> SW 설계/구현 -> SW 테스트 요구사항 관리 원칙 고객 가치 기반, 요구사항 변경관리 위원회 운영을 통한 베이스라인 설정 요구사항 명세 요구사항 명세 기법 정형명세 : VDM - 상태기반의 그래픽 명세 방법 수학적 기반 기술 - 명세개발 및 체계적 시스템 검증 프레임워크 제공 비정형 명세 : FSM - 입력신호에 의한 상태전이 표현 SADT - 그래픽 기반의 구조적 분석 모델 유스케이스 - 사용자 기반의..
2021.02.02 -
10. 유지보수 & 역공학과 재공학
소프트웨어 유지보수 유지보수는 sw 라이프사이클의 마지막 단계로 소프트웨어의 생명을 연장시키는 운영단계이다. 목적 성능 개선 및 하자보수, 새로운 환경에서 동작할 수 있도록 이식 및 수정이다. 라이프사이클에서 유지보수 기간이 제일 길고 비용도 나가기 때문에 효율이 정말 중요하다. 종류 사유에 의한, 수정 유지보수 : 오류로 인한 버그 잡기 적응 유지보수 : 데이터 환경 변화 적응 처리 완전화 유지보수 : 새로운 기능 추가, 변경 시간에 의한, 계획 유지보수 : 주기적 유지보수 예방 유지보수 : 뭔일 터지기 전에 유지보수 응급유지보수 : 일 터지고 급히 메꾸기 대상에 의한, 데이터 유지보수 : 데이터 conversion등 필요시 처리 문서화 유지보수 : 문서 표준 변경 시스템 유지보수 : 시스템을 유지보수..
2021.01.28 -
9. 소프트웨어 테스팅
테스팅 개념 및 프로세스 테스팅 개념 1. 결함의 존성을 밝히는 행동이다. 2. 완벽한 테스팅은 불가능하다. 3. 테스팅은 개발 초기부터 4. 살충제 패러독스 (살충제 내성 생기는거처럼 같은 테스트 반복하면 버그 못찾음) 5. 테스팅은 정황에 의존적이다. 6. 오류 - 부재의 궤변 (개발된 시스템이 망하면 테스팅 가치 없다) ? 테스팅 프로세스 테스트 분석과 설계 - 용이성 평가, 환경 구축 등 테스트 구현과 실행 - 테스트 케이스 명세화, 선행 테스팅, 결과 기록 완료 조건의 평가와 리포팅 - 달성 여부 확인과 리포트 작성 테스트 마감 활동 - 산출물 확인, 테스트 프로세스 평가 테스트 계획과 통제 - 테스트 전략 개발 및 리스크 분석 테스트 추정 및 조직구성 - 리포팅 및 리포팅 계획/설계 테스트 케..
2021.01.26 -
8. 프로그래밍 언어 특성 & 코드 재사용과 리팩토링
프로그래밍 언어의 특성 인터프리터 언어 인터프리터는 중간과정 없이 원시 프로그램을 직접 저급 언어로 바꾸면서 동시해 실행한다. 기계어 번역을 기다리지 않고 필요시 마다 실행해서 빠르지만, 디코딩 처리 시간이 따로 존재한다. 컴파일러 언어 기계어로 번역하여 객체 모듈을 만들고, 이 모듈을 링크/로드 하여 실행한다. 재사용 프로그램일경우 재실행하여 단축시킬 수 있지만 기계어 변환 시간이 좀 걸린다. 코드 재사용 및 리팩토링 개념 1. 재사용 적용 시 고려사항 - 재사용 기반의 소프트웨어 개발 프로세스 - 재사용성 향상을 위한 교육, 품질 향상 - 지속적인 라이브러리 보강 2. 리팩토링 개요 및 정의 코드 리팩토링은 전보다 코드를 더 보기 쉽게 만드는 것이다. 3. 리팩토링 시점및 수행 절차 일반적으로 리팩토..
2021.01.26 -
7. 사용자 인터페이스 설계 원리
UI 설계 개념과 원리 인터페이스란 두물체 사이에 서로 접촉하는 부분을 말한다. 상호 작용이 잘 이루어지도록 하는 장치 혹은 소프트웨어를 말하며, 소프트웨어의 창과 같다. 인터페이스 설계는 다음과 같은 점에 중점을 두어 진행되어야 한다. 일관성 필요 사용자 인터페이스는 일관성있게 만들어야 사람들에게 혼란을 야기시키지 않는다. 사용자 중심 설계 일단 쓰는 사람이 편하여하고, 입출력을 편하게 할 수 있도록 해야한다 피드백 사용자가 잘못된 연산을 수행하거나 버튼을 잘못눌렀을때 뭐가 잘못되었는지 정확히 전달해야한다 파괴적인 행동에 대한 확인 사용자가 중요한 파일을 지우려는 등 치명적인 작업을 시도할때 충분한 경고가 있어야 하며 되돌리기도 있어야한다. HCI (Human-Computer Interaction) 사..
2021.01.25