1.소프트웨어 품질 목표
Portability(이식성)
-> 소프트웨어 품질 목표 중 소프트웨어를 다른 환경으로 이식할 경우에도 운용 가능하도록 쉽게 수정될 수 있는 시스템 능력을 의미
-> 소프트웨어 품질 목표 중 소프트웨어를 다른 환경으로 이식할 경우에도 운용 가능하도록 쉽게 수정될 수 있는 시스템 능력을 의미
Correctness(정확성)
-> 소프트웨어 요구 사항이나 사용자의 기대에 만족되는 정도 또는 설계; 코딩상의 결함이 없는 것
-> 소프트웨어 요구 사항이나 사용자의 기대에 만족되는 정도 또는 설계; 코딩상의 결함이 없는 것
Reliability(신뢰성)
-> 시스템이나 장치, 부품 등이 어떤 일정 기간 고장 없이 정확하게 동작을 수행할 확ㅎ률을 말한다. 일반적으로 평균 고장 간격(MTBF; Mean Time Between Failure)으로 표시한다.
Integrity(무결성)
-> 정밀성, 정확성, 완전성, 유효성의 의미로 사용되며, 데이터 베이스의 정확성을 보장하는 문제를 의미한다.
2. 설계 품질을 평가하기 위한 좋은 설계 기준
- 설계는 모듈적이어야 한다.
- 설계는 자료와 프로시저에 대한 분명하고 분리된 표현을 포함해야 한다.
- 소프트웨어 요소들 간의 효과적 제어를 위해 설계에서 계층적 조직이 제시되어야한다.
3. 유지보수의 종류
- Corrective Maintenance(정적유지보수, 교정보존, 시정적 유지보수)
-
- 식별과 정정을 수행
-
- 처리오류 : 비정상적인 프로그램 중단, 입력 데이터 검증 누락, 출력 프로그램의 부정확
- 수행오류 : 느린 응답시간 또는 부적절한 트랜잭션 처리율
- 구현오류 : 프로그램 설계에 있어서 표준, 범칙 또는 불 일관성/불 완전성
- Perfective Maintenance(완전보수유지)
-
- 수행력 향상, 프로그램 특성을 변경 또는 첨가, 또는 프로그램의 장래 유지보수성을 향상시키기 위해 수행
- Preventive Maintenance(예방유지보수)
- Adaptive Maintenance(적응 보수)
-
- 프로그램 환경 변화에 소프으퉤어를 적응시키도록 수행
-
- 데이터 환경의 변화 : 데이터 메디아의 변경, 일반 파일에서 데이터베이스 관리시스템의 변환
- 처리환경의 변화 : 새로운 하드웨어 플렛폼 또는 운영체제로 이전
- 소프트웨어를 운용하는 환경 벼화에 대응하여 소프트웨어를 변경하는 경우로써 운영체제나 컴파일러와 같은 프로그래밍 환경의 변화와 주변 장치 또는 다른 시스템 요소가 향상되거나 변경될 때 대처하는 유지보수
4. 테스트 기법
- 블랙박스테스트(명세기반 기법; Specification based technique)
-
- SW의 내부를 고려하지 않고 주어진 입력에 요구 되는 결과가 나오는지 확인하는 기법
- SW의 외부와의 인터페이스, 기능에 집중
- 기능 또는 명세기반 테스트라고도 함
- 종류
-
- 동치분할검사(Equivalence partitioning Testing)
- 경계값분석(Boundary value Analysis)
- 원인-효과 그래프 검사(Cause-Effect Graphing Testing)
- 오류예측검사(Fault Based Testing)
- 비교검사(Comparison Testing)
-
- 여러 버전의 프로그램에 동일한 검사 자료를 제공하여 동일한 결과가 출력되는지 검사하는 기법
- 화이트박스테스트(구조기반 기법)
-
- 컴퓨넌트/소프트웨어의 내부구조 분석에 바탕을 두고 테스트 케이스를 도출하는 방법
- 프로그램의 내부구조를 참조하여 테스트 수행
- 구조 또는 코드기반 테스트라고도 함
- 필요성
-
- 블랙박스만으로 모든 실행문이 실행되는지 알 수 없음
- 블랙박스만으로 부작용(Side Effect) 예측 어려움
- 화이트박스는 SW내 불필요한 기능 찾아냄
- SW내 오류발견(코드검사도 찾아낼수 있음)
- 종류
-
- 기초경로검사(Basic path testing)
- 구조검사(Condition Testing)
- 루프검사(Loop Testing)
- 데이터흐름검사(Data Flow Testing)
5.소프트웨어 재공학
- Analysis(분석)
- Reverse engineering(역설계)
- Restructuring(구성)
- Migration(이식)
6.객체지향 시스템
- information hiding(정보은폐)
- class
- encapsulation(캡슐화)
-
- 자료부분과 연산(또는 함수)부분 등 정보처리에 필요한 기능을 한 테두리로 묶은 것
- integration(통합)
댓글 없음:
댓글 쓰기