품질 요구사항 / 소프트웨어 아키텍처

2023. 2. 13. 18:09정처기 필기/1과목 - 소프트웨어 설계

품질 요구사항

1. 국제 제품 품질 표준

- ISO/IEC 9126

- ISO/IEC 12119

- ISO/IEC 14598

- ISO/IEC 25000 : SW 품질 평가 통합 모델 (SQuaRE)

- 관리,모델,측정,요구,평가

 

2. ISO/IEC 9126

- 기능성 : 요구사항을 정확하게 만족하는 기능을 제공하는가 ?

- 신뢰성 : 요구된 기능을 정확하고 일관되게 오류 없이 수행하는가 ?

- 사용성 : 사용자가 정확하게 이해하고 사용하는가?

- 효율성 : 할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리하는가 ?

- 유지 보수성 : 환경의 변화에 소프트웨어를 쉽게 개선, 확장, 수정할 수 있는가 ?

- 이식성 : 소프트웨어를 다른 환경에서도 쉽게 적용할 수 있는가 ?

- 기신사효유이

 

3. ISO/IEC 14598

- 반복성

- 재현성

- 공정성

- 객관성

- 반재공객

 

4. 국제 프로세스 품질 표준

- ISO/IEC 9001

- ISO/IEC 12207 : 기본 프로세스, 조직 프로세스, 지원 프로세스

- ISO/IEC 15504 : 불완전 --> 수행 --> 관리 --> 확립 --> 예측 --> 최적화

- CMMI : 단계별 표현과 연속적 표현


소프트웨어 아키텍처

- 사용자의 비기능적 요구사항으로 나타난 제약 반영

- 기능적 요구사항을 구현하는 방법을 찾는 해결 과정

 

1. 모듈화

- 시스템 기능들을 모듈 단위로 나눠 소프트웨어의 성능 및 재사용성을 향상시키는 것

- 모듈의 크기 (多) : 모듈 하나의 개발 비용 큼 / 모듈 개수 적음 / 모듈 간 통합 비용 적음

- 모듈의 크기 (小) : 모듈 간 통합 비용 큼 / 모듈 개수 많음 

 

2. 추상화

- 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화 시키는 것

- 과정 추상화 : 자세한 수행 과정을 정의하지 않고, 전반적인 흐름만 파악

- 데이터 추상화 : 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표하는 표현으로 대체

- 제어 추상화 : 이벤트 발생의 정확한 절차나 방법을 정의하지 않고, 댚하는 표현으로 대체

 

3. 단계적 분해

- NIklaus Wirth에 의해 제안된 하향식 설계 전략

- 추상화의 반복에 의해 세분화

- 소프트웨어 기능에서부터 시작해 절차적으로 구체화

- 상세한 내역은 가능한 뒤로 미루어 진행

 

4. 정보 은닉

- 한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법

- 정보 은닉을 통한 독립적 모듈 수행 가능

- 모듈 변경 시 영향을 받지 않아 수정, 시험, 유지보수 용이