티스토리 뷰

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씩 업데이트를 하겠다.

'Learning > Software Engeenering' 카테고리의 다른 글

3. Software Engeenering Principles(1)  (0) 2008.11.18
2. Software : Its Nature and Qulities(3)  (0) 2008.11.18
2. Software : Its Nature and Qualities(1)  (0) 2008.11.04
1. Introduction(2)  (0) 2008.10.31
1. Introduction(1)  (0) 2008.10.30