2과목 소프트웨어 개발
모듈 특징
- 다른것들과 구별되는 독립적인 기능 단위
- 유니크한 이름 가짐
- 모듈에서 또 다른 모듈 호출 가능
- 다른 프로그램에서도 호출가능
모듈화의 장점 :프로그램 효율적인관리 , 이해하기 쉬운 소프트웨어 , 시험,통합,수정시 용이
재사용가능 , 오류의 파급력 최소화
Test Driver (테스트 드라이버) : 상향식 테스트, 하위모듈호출, 파라미터 전달, 모듈 테스트 수행후 결과 도출
Test Stub (테스트 스텁) : 하향식 테스트, 제어모듈이 호출하는 타 모듈의 기능을 단순히 수행
소프트웨어 프로젝트 관리 : 주어진 기간내에 최소 비용으로 사용자가 만족하는 시스템 개발
소프트웨어 생명주기의 전 과정에 걸쳐 진행됨.
소요인력은 최소하 하는것이 좋음.
소프트웨어 품질 목표
Portability(이식성) : 다양한 하드웨어 환경에서도 운용가능하도록 쉽게 수정될수 있음.
Efficiency(효율성) : 최소작업으로 요구되는 기능 수행
Usability (사용용이성): 소프트웨어를 쉽게 사용할수 있는 정도
Correctness : 사용자의 요구사항을 충족시키는 정도
FTR 정형기술검토
오류검출에 초첨 -> 해결책은 나중에
사전에 자료배포하여 검토 , 의견 제한하되 충분히 받아들임
안건을 세우면 고수함 , 논쟁과 반박제한 , 문제영역 공개, 참가자수 제한, 오류 문서화
시스템재공학의 주요활동
Migration : 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할수 있도록 변환 하는 작업
자료구조
선형구조 : 스택, 큐, 데크, 리스트
비선형구조 : 트리, 그래프
파일구조 : 순차파일, 색인파일, 직접파일
시스템 테스트의 종류
- 회복 : 고의로 실패를 유도하고 시스템이 정상적으로 복귀하는지 테스트
- 강도 : 과다 정보량을 부과하여 과부하 시에도 시스템 정상적으로 작동되는지
- 성능 : 사용자의 이벤트에 시스템이 응답하는 시간 특정시간내에 처리하는 업무량
사용자 요구에 시스템 반응하는 속도 테스트
-안전 : 보안시스템이 불벅적인 침투를 잘막는지 테스트
버블정렬 : 인접한 데이터를 비교하면서 데이터 위치 바꾸며 정렬
사용자 매뉴얼 준비절차
작성지침정의 -> 사용자 매뉴얼 구성요소 정의 -> 구성요소별 내용작성 -> 사용자 매뉴얼검토
디지털 저작권 관리(DRM) 구성요소
- 콘텐츠 제공자: 콘텐츠를 제공하는 저작권자
- 콘텐츠 분배자: 암호화된 콘텐츠 제공
- 패키저: 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
- 보안 컨테이너: 원본을 안전하게 유통하기 위한 전자적 보안장치
- DRM 컨트롤러: 배포된 콘텐츠의 이용 권한을 통제
- 클리어링 하우스: 소비자와 유통업자 사이에 발생하는 디지털 저작권을 중개하고 라이센스 발급을 수행하는 장소