IEEE 1471 프레임워크

  • 소프트웨어 아키텍쳐 기술(description) 프레임워크
    • 시스템은 하나의 아키텍처를 가진다
    • 시스템은 어떤 환경 속에서 미션을 수행한고 이 환경은 언제나 제약 조건을 가지고 있다
    • 시스템을 둘러싸고 있는 많은 이해관계자가 있다
    • 따라서, 제약된 환경에서 이해관계자의 요구사항을 만족시키는 아키텍처가 필요함.
  • 구성요소

    • 아키텍처는 아키텍트의 머리속에 존재하는 구상(conception)을 아키텍처 서술(Architecture Description)로 표현한다

    • 아키텍처 서술은 논리적인 근거 또는 타당성(rationale)을 제공해야 하고, 이해관계자와 그들의 관심사(concern)을 식별하고 명세한다

    • 이해관계자(Stakeholders)는 여러 관심사(Concerns)를 가지고 있으며, 관심사는 아키텍처 설계를 통해서 해결해야 한다
    • architecture description은 여러개의 viewpoint를 가지고, viewpoint는 관심사를 표현하는데 사용한다
    • View & View Point

      • View : 이해관계자들과 이들이 가지는 생각이나 견해로부터 전체 시스템을 표현

      • Viewpoint : View를 구성하기 위한 규칙을 정의하는 패턴. 각각의 View에 1:1로 대응함.




FP측정 유형 및 절차



  • DET(Date Element Type) : 사용된 Field나 테이블의 속성 수.
  • FTR(File Type Reference) : 참조 또는 변경하는 ILF(내부 논리 파일)의 수.
  • RET(Record Element Type) : Table의 숫자로 이해하면 쉬움
  • ILF(Internal Logical File) : 측정 범위 내에 있는 논리적인 데이터
  • EIF(External Interface File) : 측정 범위 내에서 사용하지만, 외부에 있는 데이터
  • EI(External Input) : 입력/수정/삭제 기능
  • EO(External Output) : 수학적인 수식 이나 계산식을 통한 가공후 표시
  • EQ(External inQuiry) : 가공 없이 표시





  • SAAM (Software Architecture Analysis Method)
  • ATAM (Architecture Trade-off Analysis Method)
  • CBAM (Cost Benefit Analysis Method)
  • ARID (Architecture Reviews for Intermediate Design)
  • ADR (Active Design Review)

  • SAAM (Software Architecture Analysis Method)
    • 최초의 문서화된 평가 기법으로 알려짐
    • 수정 가능성과 기능 분석 중심의 최초의 아키텍처 평가 방법
  • ATAM (Architecture Trade-off Analysis Method)
    • 품질 목표간의 Trade-off가 있는지 파악할 수 있는 아키텍처 평가방법
    • 품질 목표들간에 충돌을 프로젝트 초기(요구사항 정의 또는 설계 단계)에 알아냄으로써 비교적 경제적인 방법으로 문제를 해결할 수 있음
  • CBAM (Cost Benefit Analysis Method)
    • 경제성을 평가할 수 있는 평가 방법
    • 투자할 만한 가치가 있는지 여부를 판단.
  • ARID (Architecture Reviews for Intermediate Design)
    • 전체가 아닌 부분 아키텍처에 집중
    • 설계 초기에 검토하여 발생 가능한 위험을 감소
  • ADR (Active Design Review)
    • 검토자의 실습 문제 풀이에 기초한 SW 아키텍처 평가 기법
    • 품질과 상세설계를 확인할 수 있는 효과적인 기법


'감리사 > 소프트웨어공학' 카테고리의 다른 글

[SE] IEEE 1471 프레임워크  (0) 2018.07.27
[SE] FP 측정 유형 및 절차  (0) 2018.07.25
[SE] ITIL -Service Delivery  (0) 2018.07.23
[SE] COCOMO 모델  (0) 2018.07.23
[SE] FP - 복잡도 요소(14) 및 측정척도(6)  (0) 2018.07.23

ITIL - Service Delivery Process

Service Level Management 

고객이 만족하는 IT서비스 수준 합의.

모니터링 개선활동을 통해 IT서비스 개선 및 품질 유지.

SLA(Service Level Agreement).

Availability Management

고객의 비즈니스 목표달성이 가능한 가용성 수준.

효율적인 비용으로 서비스를 제공하기 위한 지원조직.

서비스와 IT인프라의 용량 최적화.

IT Service Continuity Management

IT서비스의 연속성이 저해되는 경우에, 합의된 시간 및 범위에서 복구하고 연속성을 보장.

비즈니스 연속성을 지원.

Capacity Management

IT리소스를 관리하여 추가적인 용량이 필요한시점을 분석,계획,구현 및 운영에 대한 처리순서를 관리.

비즈니스, 서비스, 리소스 용량.

Financial Management

IT서비스에 사용되는 IT자산과 자원의 비용 효율적으로 사용하기 위한 관리. 




COCOMO 모델 프로젝트 유형별 산정 방법


구분

내용

산정공식

Organic Mode

(유기적 모드)

-50,000 소스라인(50KDSI) 이하의 비교적 작은 크기의 제품(Scientific, Business 등의 SW)

-비교적 작은 소규모 개발팀

-훌륭한 현장 경험을 갖고 있는 개발팀

-기능 및 성능의 요구사항과 인수 테스트 및 인터페이스 등의 명세가 비교적 덜 엄격함

-통신을 위한 부가비용이 적음

-안정적인 개발 환경, 일정에 대한 강제성이 적음

-현존하며, 증명된 기술을 사용함

노력(MM)

= 2.4 * (KDSI)1.05

개발기간(TDEV)

= 2.5 * (MM)0.38

Semidetached Mode

(반 결합 모드

프로젝트)

-300,000 소스라인(300KDSI) 정도의 중간 크기 제품(컴파일러, 워드프로세서와 같은 개발 지원도구 개발용 프로젝트)

-개발대상과 개발환경에 대하여 경험자와 비 경험자가 섞여있는 개발팀

-엄격한 명세와 덜 엄격한 명세가 섞여있음

-크기와 복잡성 면에서 중간 정도 수준의 소프트웨어 프로젝트

노력(MM)

= 3.0 * (KDSI)1.12

개발기간(TDEV)

= 2.5 * (MM)0.35

Embedded Mode

(내장모드

프로젝트)

- OS, DBMS, 통신모니터와 같이 300KDSI이상의 대형 프로젝트로서 transaction processing system 등 기능이나 성능 등에 대한 엄격한 명세

-제품이 시간 제약사항 내에서 수행되어야만 함

-제품이 엄격하며 정형적인 품질 표준을 만족해야 함

-하드웨어, 소프트웨어, 운영 등의 제약에 깊은 상호연관성이 있음

-광범위한 시험평가가 요구됨

-선도적인 기술이 사용됨

-병행되어 개발되는 다른 시스템 컴포넌트들이 사용됨

-강한 일정에 대한 제약

노력(MM)

= 3.6 * (KDSI)1.20

개발기간(TDEV)

= 2.5 * (MM)0.32

















































[계산식 암기]






'감리사 > 소프트웨어공학' 카테고리의 다른 글

[SE] 소프트웨어 아키텍처 평가  (0) 2018.07.24
[SE] ITIL -Service Delivery  (0) 2018.07.23
[SE] FP - 복잡도 요소(14) 및 측정척도(6)  (0) 2018.07.23
[SE] ITIL-Service Support  (0) 2018.07.20
[SE] ISO 29119  (0) 2018.07.17

Function Point 


- 기술적 복잡도 산정을위한 14개 복잡도 요소

  1. 데이터 통신 (Data Communications)
  2. 분산 데이터 처리(Distributed data processing)
  3. 성능(Performance)
  4. 컴퓨터 자원 제한성(Heavily used configuration)
  5. 트랜잭션 비율(Transaction rate)
  6. 온라인 데이터 입력(Online data entry)
  7. 최종 사용자 효율성(End user efficiency)
  8. 온라인 갱신(Online update)
  9. 복잡한 처리(처리복잡도, Complex processing)
  10. 재사용성(Reusability)
  11. 설치용이성(Installation ease)
  12. 운영용이성(Operational ease)
  13. 다중 사이트(Multiple sites)
  14. 변경 촉진(변경용이성, Facilitate change)


- 복잡도 측정 척도


 0. 존재하지 않거나 영향이 없음(Not present, or no influence)

 1. 우연한 영향(Incidental influence)

 2. 보통의 영향(Moderate influence)

 3. 평균적인 영향(Average influence)

 4. 중대한 영향(Significant influence)

 5. 지속적으로 강력한 영향(Strong influence throughout)

'감리사 > 소프트웨어공학' 카테고리의 다른 글

[SE] ITIL -Service Delivery  (0) 2018.07.23
[SE] COCOMO 모델  (0) 2018.07.23
[SE] ITIL-Service Support  (0) 2018.07.20
[SE] ISO 29119  (0) 2018.07.17
[SE] 테스트 커버리지  (0) 2018.07.17

ITIL -Service Support

Service Desk 

서비스 제공자와 사용자의 단일 접점(Single Point Of Contact)

Incident Management

사용자의 요청 및 서비스 장애를 합의된 시간내에 처리하여, 서비스 중단 최소화 

Problem Management 

장애의 재발을 방지하기 위한 원인을 찾고 영구적 조치 

Change Management 

표준 프로세스로 변경을 파악하고 관리

변경시 발생하는 오류나 장애를 예방하여 서비스 수준 향상

CAB(변경 자문 위원회) (PMP에서는 변경관리위원회)

Release Management

변경사항을 운영환경에 제공, 배포/추적

신뢰할 수 있는 제품을 설치

Configuration Management

서비스 제공에 필요한 모든 구성요소의 세부정보를 담고있는 DB활용

구성요소에 대한 변경,유지,문제처리등에 관한 모든정보 저장

CMDB(Configuration Management Database) 


'감리사 > 소프트웨어공학' 카테고리의 다른 글

[SE] COCOMO 모델  (0) 2018.07.23
[SE] FP - 복잡도 요소(14) 및 측정척도(6)  (0) 2018.07.23
[SE] ISO 29119  (0) 2018.07.17
[SE] 테스트 커버리지  (0) 2018.07.17
[SE] 테스트 용어(종류)  (0) 2018.07.13

ISO 29119 구성요소

단계 

세부단계 

Part1

Concepts & Vocabulary 

  • 용어와 정의
  • S/W 테스트의 개념
    • 소개
    • 테스트/개발/유지보수의 관계 

Part2

Testing Process

  • 테스트 관리 프로세스(전략, 모니터링)
  • 테스트 프로세스(테스트 라이프 사이클)
  • 상태보고
  • 테스트 환경지원
  • 테스트 예제

Part3

Testing Documentation


  • 테스트 관리 문서
  • 테스트 문서 및 예제
  • 테스트 환경보고 및 예제 

Part4

Testing Techniques

  • 테스트 케이스 설계 기술
  • 테스트 측정 기법
  • 인스펙션과 리뷰
  •  단위/통합/시스템/인수 테스트 기법
  • 테스트 기법 효과성




  • 테스트 커버리지
    • 종류
      • 구문 커버리지(Statement Coverage)
        • 모든 문장이 실행. 코드의 모든 문장이 적어도 1회 이상 실행
      • 결정 커버리지(Decision Coverage)
        • 모든 결정이 실행. 모든 결정 분기가 적어도 1회 이상 실행
        • 100% 결정 커버리지는 100% 문장 커버리지는 보장함
      • 조건 커버리지(Condition Coverage)
        • 결정 내부의 모든 조건이 실행
        • 결정을 구성하는 조건의 결과가 적어도 1회 이상 나타남.
      • 결정 조건 커버리지(Decision Condition Coverage)
        • 모든 조건이 실행되고, 모든 결정이 실행됨
        • 모든 결정을 포함하고, 결정내 모든 조건의 결과가 나타남
      • 변형 결정 조건 커버리지(Modified Decision Condition Coverage)
        • 결정 내부의 하나의 조건이 다른 조건과 무관하게 결정에 영향을 주는 경우 추가
        • 가장 효율적임
      • 다중 조건 커버리지(Multiple Condition Coverage)
        • 모든 조합
        • 가장 강력하나 비용이 많이 듬
  • 참고 : https://brunch.co.kr/@cheuora/23


'감리사 > 소프트웨어공학' 카테고리의 다른 글

[SE] ITIL-Service Support  (0) 2018.07.20
[SE] ISO 29119  (0) 2018.07.17
[SE] 테스트 용어(종류)  (0) 2018.07.13
[SE] Java GC (Garbage Collection)  (0) 2018.07.11
[SE] Java - J2ME  (0) 2018.07.11


  • 뮤테이션 테스트(Mutation Test)
    • 의도적인 변경(Mutant)를 가하여 테스트 케이스의 적합성을 판단하기 위함
    • 뮤턴트(돌연변이)를 생성
    • 테스트 결과의 신뢰성 확보가 목적임
  • 비버깅
    • 의도적인 오류코드를 삽입하고 테스트를 통해 잔존 오류를 도출하는 기법
    • 의도적 오류코드 삽입
    • 잔존 오류 추정 및 배포시기 결정을 위한 목적
  • 커서리 테스트(Cursory Test)
    • 개발자가 테스트의 주체가 되어 문서화된 테스트 케이스 없이 주요 모듈 단위로 진행하는 즉흥적인 테스트
    • 새너티 테스트 이전에 실시함
  • 스모그 테스트
    • 빌드 초기에 테스트 대상이 테스트가 가능한 상태인지 점검하기 위해 주요한 부분을 확인하는 테스트.
    • 개발자나 테스터가 수행
    • 본격적인 테스트에 앞서, 대상의 안정성을 테스트 하기 위함
    • 보통 문서화 된 테스트 케이스 사용
    • 회귀 테스트의 부분 집합
    • 전체 시스템을 대상으로 함
  • 새너티 테스트(Sanity Test)
    • 여러번의 빌드과정 진행된 안정빌드에서 새로운 기능이 오류가 없는지 확인
    • 테스터가 수행
    • 본격적인 테스트에 앞서, 대상의 합리성을 테스트 하기 위함
    • 보통 문서화 되지 않고, 즉흥적인 테스트 
    • 인수 테스트의 부분 집합
    • 시스템의 일부를 대상으로 함
  • 회귀 테스트(Regression Test)
    • 테스트된 시스템에 기능을 추가/수정한 다음 Side-effect, Ripple-effect가 없는지 확인하는 반복점진적 테스트 방법
  • 결함 주입 (Fault Injection)
    • 시스템이 정상적으로 동작되는 동안 결함을 강제로 발생시켜 시스템의 반응(강건성: Robustness)를 확인. 
    • 시스템의 신뢰성을 평가하는 방법. 


'감리사 > 소프트웨어공학' 카테고리의 다른 글

[SE] ISO 29119  (0) 2018.07.17
[SE] 테스트 커버리지  (0) 2018.07.17
[SE] Java GC (Garbage Collection)  (0) 2018.07.11
[SE] Java - J2ME  (0) 2018.07.11
[SE] XML - 작성 규칙  (0) 2018.07.11