객체지향분석 및 설계 수업 내용 정리 -2

yooom·2023년 4월 19일
0

OOAD-06

Inception Phase

Inception is Not Only the Requirements phase

Inception

고려해야할 사항들

  • 이 프로젝트의 비전과 비즈니스 사례는 무엇인가?
  • 실현가능한가?
  • 구매와 구축?
  • 대략적인 비용은?
  • 진행해야하나 중지해야하나?

비전을 정의하고 규모 추정치를 얻으려면 몇 가지 요구사항 탐색이 필요함

그러나 시작 단계의 목적은 이 모든 요구 사항을 정의하는 것이 아님!!

Inception Artifacts (소프트웨어 산출물)

Inception 의도는

  • 프로젝트의 목적을 위한 초기 공통 비전을 수립하기 위해
  • 실현 가능한지 결정하고
  • 정교화에서 진지하게 조사할 가치가 있는지 결정

Inception Focuses

요구 사항 캡처

  • 기능 요구 사항(사용 사례 모델링)
  • 비기능 요구사항의 품질 속성

UI 구현

타당성 구현

Requirements (요구 사항)

요구 사항은 시스템, 보다 광범위하게는 프로젝트가 준수해야 하는 기능 및 조건입니다.

Requirements (요구 사항) 분석

요구 사항 작업은
• 찾고
• 소통하고
• 기억하는 것 (일반적으로 적어두는 것을 의미함)

클라이언트와 개발팀 구성원에게 명확하게 전달되는 형식으로 실제로 필요한 것


Requirements -1

기능적 요구사항

  • 시스템이 제공해야하는 서비스 명세서
  • 시스템이 특정 입력에 어떻게 반응하는지
  • 특정 상황에서 시스템이 어떻게 작동해야하는지

비기능적 요구사항

  • 시스템이 제공하는 서비스나 기능에 대한 제약
  • 시스템 전체에 적용되는 품질 요구 사항

Requirements -2

기능적(행동) 요구 사항

  • 유스케이스 모델에서 탐색 및 기록

비기능적 요구 사항(기타 모든 것)

  • 품질 요구 사항은 시스템 아키텍처에 큰 영향을 미친다

Non-functional Requirements

시스템의 속성과 제약을 정의한다

  • 신뢰성, 응답 시간, 저장 용량

기능적 요구사항보다 더 중요하다

시스템의 전반적인 구조에 영향을 미친다

Types of Requirements - FURPS Model

  • Functional - features, capabilities, security
  • Usablity - human factors, help, documentation
  • Reliablity - frequency of failure, recoverability, predictability
  • Performance - response times, throughput, accuracy, availability, resource usage
  • Supportability - adaptability, maintainability, internationalization, configurability
  • Implementation - resource limitations, languages and tools, hardware, etc
  • Interface - constraints imposed by interfacing with external systems
  • Operations — system management in its operational setting
  • Packaging – a physical box, file directory
  • Legal — licensing and so forth.

Requirement Artifact (요구사항 산출물)

• Use-Case Model
• Supplementary Specification : 추가 사양
• Glossary : 용어집
• Vision
• Business Rule

Use-case :시나리오 도출하기

유스케이스는 이해 관계자들이 쉽게 이해하는데 도움이 되는 메커니즘

비공식적으로 사용 사례는 목표를 달성하기 위해 시스템을 사용하는 일부 actor의 텍스트 스토리

Scenario

actor와 논의 중인 시스템 간의 특정 행동의 순서와 상호 작용
= 유스 케이스 인스턴스

OOAD-08

: Quality & Quality Attribute

품질 (Quality)

명시적이거나 암시적인 요구를 충족시키는 능력과 관련된 제품 또는 서비스의 기능 및 특성의 총체

품질속성 (Quality Attribute)

양이나 질로 관찰하여 수치로 측정할 수 있는 시스템의 특성

  • 품질속성은 이해관계자들의 관심사와 요구사항을 그대로 반영한다
  • 아키텍처는 이해관계자들이 원하는 수준으로 품질속성을 달성해야 한다

품질요구사항 (Quality Requirement)

시스템이 제공해야 할 품질속성의 수준이다. 품질속성은 관찰할 수 있고 측정할 수 있어야 하기 때문에 품질요구사항도 가능하면 정확한 수치로 제시되어야 한다

ISO 25010

Functional Suitability 기능적 적합성

제품 또는 시스템이 특정 조건에서 사용될 때 명시적 및 암시적 요구를 충족하는 기능을 제공하는 정도

이거 3개 정리하자 나중에..

Performance efficiency 성능 효율성

명시된 조건에서 사용되는 자원의 양과 관련된 성능

capacity : maximum을 주고 그만큼 사용할 수 있게 함. resource utilization과 다름!

Compatibility 호환성

동일한 하드웨어 또는 소프트웨어 환경을 공유하면서 제품, 시스템 또는 구성 요소가 다른 제품, 시스템 또는 구성 요소와 정보를 교환하고 필요한 기능을 수행할 수 있는 정도

co-existence : 같이 존재할 수 있는 정도
interoperability : 상호 운용성 / 서로 호환되게 하는

Usability 사용성

사용성과 가용성 헷갈리지 않기!!
제품 또는 시스템이 특정 사용 맥락에서 효과, 효율성 및 만족을 가지고 특정 목표를 달성하기 위해 특정 사용자가 사용할 수 있는 정도

Reliability 신뢰성

중요한 quality라고 교수님이 강조함
시스템, 제품 또는 구성 요소가 지정된 기간 동안 지정된 조건에서 지정된 기능을 수행하는 정도

availabilty : 가용성. 사용가능한가. 사용자가 사용할 때의 시스템이 사용하려고 할 때 접근 가능하냐
-> DDOS 갑자기 설명했는데 얘 뭐임?

Security 보안성

제품 또는 시스템이 정보 및 데이터를 보호하여 사람이나 다른 제품 또는 시스템이 해당 유형 및 권한 수준에 적합한 데이터 액세스 수준을 갖도록 하는 정도

Maintainability 유지보수성

현업에서 중요하게 보는 quality
제품 또는 시스템을 개선, 수정 또는 변경 사항에 맞게 수정하기 위해 수정할 수 있는 효과 및 효율성의 정도

Portabilty 휴대성

시스템, 제품 또는 구성 요소를 하나의 하드웨어, 소프트웨어 또는 기타 운영 또는 사용 환경에서 다른 환경으로 이전할 수 있는 효과 및 효율성의 정도

0개의 댓글