티스토리 뷰

(ver 1.1) 2008/11/18 6:38 수정

Interoperability

 System의 공존하는 능력이고 표준화 Interface로 접근하여 다른 System과 협력하는것.
Open system concept

Productivity
 efficiency와 performance에서 Software production process의 하나의 quality이다.
측정의 어려움
 -기본(단순) 측정법 : SLOC (Software Line of Code)
 -기능기반 측정법 : FP(Function Point)

Timeliness
 제품을 제 시간에 배포하는 ability.
 Time-to-Market callanges(시장 진출 시간)
 Requires
  - 꼼꼼한 Scheduling
  - 정확한 작업 판단
  - 명확한 milestone 기술
milestone : Schedule에 작업의 진척도를 예측 및 결과를 기록하는것.
점진적으로 배포하는 접근법

Visibility
 모든 단계를 볼 수 있고,  현재 상태를 문서화한것.
Transparency
  - Project의 단계와 상태를 외부적으로 시험하기 위한 가능성.
Allows to weigh the impact of their actions and thus guides in making decisions.
요구사항 기술서와 설계 기술서
제품은 눈에 보여야한다.
Module의 collection은 구조물 처럼 명확해야 한다.
기능들은 명확히 이해되야되고 언제든 사용할 수 있도록 정확히 문서화되야한다.
왜 visibility가 중요한가?
 - Project 진행시 각 단계의 오차를 수정할 수 있고 진행도를 파악하여 전체적은 스케쥴을 재조정 할 수 있기 때문이다. 만일 Black Box 형태로 각 Step을 진행하면 Project Team Member들 간에 의사소통이 원할 하지 못하기 때문이다.

Quality requirements in Specific Application Areas
 Information System
 Real-Time System
 Distributed System
 Embedded System

Information System
 Data의 저장과 검색
 예 : banking system, library-cataloging systems, etc.
 Qualities
  - Data integrity(자료보존)
  - Security(보안)
  - Data availability(자료이용)
  - Transaction performance
  - User friendliness

Real-Time System
 제한된 정확한 시간 주기를 미리 결정하여 응답해야 한다. 다시 말하자면 미리 정의된 시간안에 응답해야 한다.
 예 : factory-monitoring system, missile guidance system, mouse-handling system
     control-oriented system
 Scheduling
  - Deadline
  - Priority(우선권)
 Qualities
  - Respond time requirement(correctness criterion)
  - Safety
공장 모니터링 시스템은과 미사일 유도 시스템은 오차에 매우 민감 하기 때문에 Hard time으로 따로 분류하고 마우스 핸들링 시스템같은경우 그리 민감하지 않기 때문에 어느정도 오차는 감수해서 Soft time이라고도 한다. 그리고 Deadline은 반드시 지켜야 하는 어느 일정의 마지막 제한 시간을 말한다.
 응답 시간 요구사항의 경우, 명확해야 하는데 이게 상당히 애매모호하다. 작게는 10분에서 크게 30분이라고 주어진다면 도데체가 어디에 맞춰야 할지 모르는것이다. 특히 hard time의 경우 이것은 치명적일 수 있기 때문에 신중하게 결정해야 한다.

Distribute System
 parallelism and Communication
  - 작업 할당, 분할
 the degree of distribution
  - Data
  - Control
  - Hardware
예 : middleware in client/ server system, groupware, etc.
Qualities
 - System availability
 - Code mobility(유동성, 서버와 핸드폰과의 데이터 연동)

Embedded System
S/W는 하나 또는 그 이상의 Component로 구성되 있다.
User Interface가 많이 필요하지 않다.
 예 : Aireplane, robots, microwave ovens, dishwashers, automobiles, etc
Qualities
 - Reliability
 - Adaptability
 - Memory and Performance efficiency

Summary and Discusstion
 Definition of Software Quality
   - 요구들의 적합성.
 Representative Quality Factors
   - Correctness, Reliability, Performance, User friendliness,...
   - Maintainability, Reusability, Understandability, Visibilty,...
Why software quality is so important?
How to measure software quality, for example maintainability?

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

3. Software Engeenering Principles(1)  (0) 2008.11.18
2. Software : Its Nature and Qualities(2)  (0) 2008.11.06
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