Correctness, Reliability and Robustness
서로 바꿔 사용할 수 있도록 공개되 있다. 그것은 Application들의 각 단계에서 기대했던 기능들의 동작을 의미한다.
즉 각 요소들은 Application들의 각 단계에서 서로가 적용될 수 있다는 뜻이다.
Correctness
Correct는 Program이 Function들이 명세서에 따라 동작되는 것이다.
전제:
- System의 명세서를 사용할 수 있어야 한다.(즉 문서화가 최근까지 되 있어야 한다)
- Program이 명세서를 만족시킨다면 그것은 명확히 결정할 수 있다.(이것은 다시 말하면 correctness하다는 것이다)
Reliability
= dependability : User가 그것에 의존할 수 있다면 신뢰 할 수 있다.
생산품 결함의 빈도와 임계치를 측정할 수 있다.
Failure : 운영 조건들이 결과나 상태가 받아 들일 수 없는 허용성 보다 낮은것
통계학적으로 전문용어들을 정의 할 수 있다. : MTTF(ㅜㅜ)
Relative(Q: Correctness가 무엇인가?)
즉 여기서는 Correctness와 Reliability의 동질성을 말하고 있다. Correctness하다는 것은 다시 말하면 Reliability 하다는 것이다.
Robustness
요구사항 명세서에서 예측할 수 없었던 상황에서의 합리적으로 동작하면 Robust라 한다.
하나의 기능의 요소들의 특징처럼
- 운영 조건들의 범위
- 옳은 입력에 따른 받아들일 수 없는 결과들의 가능성
- 제품에 이상한 입력값이 주어졌을때 결과의 만족
Q: Correctness와 관계
Q: reliability와 관계
Performance
Performnace와 efficiency(공간, 시간)를 동일시 한다.
System의 usability에 영향을 준다.
평가
- 측정(Monitoring)
- 분석
- Simulation
Q: Performance 평가를 할때 우리에게 필요한것은?
Application의 Performance 절차 - > Productivity
User Friendliness
Ease to use
System H/W환경에 환경설정을 쉽게 적용할 수 있다.
Verifiability
제품의 고유특성이 안전하게 검증되면 Verifiable
형식 분석 방법이든 Testing을 통해서 수행하는 것.
Maintainability
Maintenance
- Corrective
- Adaptive
- Perfective
S/W 발전(유지보수의 대안)
Repairability and Evolvability
회복과 진화력?이라고 생각하면 되겠다. 그러니까 계속 업데이트 된다고 보면 된다.
Repairability
- S/W system에 한계에 다다른 작업량과 결점들의 수정하도록 허가하는것을 Repairable
- Q: Maintenance phase에 error를 수정하기 위해 필요한 시간은 얼마인가?
- Modularization을 제대로 한다면 repairability를 향상시킨다. Q: Why?
- Computer 공학의 Availability(가능성), serviceability(친절함)
- Q: S/W와 H/W, repairability 사이의 차이점은 무엇인가?
- 적절한 도구들의 사용을 통해 향상된다 : HL PL, CASE, etc.
- Q: reliability와의 관계
Evolvability
- S/W는 시간이 지날 수록 변경된다.
: 새로운 기능들의 추가.
: 기존의 기능들의 변경.
- 보다 크고 복잡한 S/W의 중요성
- 모듈화 달성(참 이부분이 애매합니다.)
- 새로운 version의 배포의 감소
- Q:그래서 우리가 필요한것은 무엇인가?
- 경제적, 사업적 영향을 끼치다.
- 제품군과 S/W 구조의 evolvability가 촉진된다.
Reusability
새로운 제품(product) 구축에 기존에 존재하는 component들을 사용한다.
예제 : Scientific libarries, MFC, eclipse Plug-in, etc
Reuse levels
- 사람
- 요구사항
- 설계
- 코딩
객체지향기술법 : best buy
Application to process
- S/W 방법론
- Life cycle model
Portability
다른 환경들에서 동작할 수 있는것을 Portable이라고 한다.
- H/W Platforms
- S/W Platforms
모듈화하기
- Q : 모듈화는 어떻게 하는걸까?
Understandability
제품 내부의 Quality
객체지향 paradigm은 낮은 이해도를 필요로 한다.
추상화와 모듈화의 강화
Q: maintainability와의 관계
제품 Quaility를 평가하기위한 요소들중 70%정도를 알아봤다. 본인도 이해가 안가는데
다른 분들은 어쩌하겠나. 한번 공부하고 말려고 여기에 올리는것이 아니기에 업데이트를 상당에 꾸며서
한 page씩 업데이트를 하겠다.