1. 소프트웨어 설계_요구사항 확인

2023. 2. 12. 23:14정보처리기사_필기

< 현행 시스템 분석 - 플랫폼 성능 특성 분석 >

=> 측정 항목: 경과시간, 사용률, 응답시간, 가용성

 


< 애자일 > : 개발과 함께 즉시 피드백을 받아서 유동적으로 개발

1. 특징?

- 요구사항은 기능 중심

- 작업 계획 짧게

- 피드백 중요

- 요구사항 모델링을 빠르게

- 문서보다 동작하는 소프트웨어에 중점을 둔 개발 방법

 

2. 유형? : XP, 스크럼, 린, 크리스탈 ...

1) XP: 의사소통 개선, 즉각 피드백으로 소웨 품질 개선

- 가치: 용기, 단순성, 의사소통, 피드백, 존중

- 원리: 짝 프로그래밍, 공통코드 고유, 지속적 통합, 계획, 작은 릴리즈, 고객상주, 리팩토링

                                                                                                                          : 프로그램 기능 바꾸지 않으면서 중복제거, 단순화

2) 스크럼: 매일 정해진 시간과 장소에서 짧은 시간의 개발 팀

-> 백로그, 스프린트, 스프린트 회고...

3) 린

-> 낭비제거, 품질 내제화 지식 창출, 빠른인도...


< 요구사항 분석 > : 추추된 요구사항에 대해 분석으로 완정성과 일관성을 확보하는 요구공학의 두 번째 단계

1. 절차

요구사항 분류(기능vs비기능) - 비기능: 성능, 보안, 품질, 안정

개념 모델링 생성(DFD, UML, E-R)

요구사항 할당 및 협상

정형분석(syntax&semantics로 요구사항 표현)

 

2. 기술

: 청취, 인터뷰와 질문, 분석, 중재, 관찰, 작성, 조직, 모델작성

 

3. 특징

- 가장 많이 소요되는 단계는 유지보수 단계

 

4. 기법(모델링 방법)

- 자료흐름지향: DFD, data dictionary

- 객체지향: UML


< 모델링 기법 > - DFD,  Data Dictionary,  UML

1. DFD (데이터 흐름도) : 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습

1) 특징?

- 구조적 분석 기법

- 제어의 흐름X. 데이터의 흐름O.

- 시간 흐름 명확하게 표현X

2) 구성요소: process(원; 입력을 출력으로), 데이터흐름(화살표), data store(=), terminator(사각형; 시점과 종점)

 

2. Data dictionary : 파일/DB에 있는 자료를 참조하기 위한 것

 

3. UML

1) 특징?

- 가시화 언어: 의사소통 용이

- 구축언어: 다양한 언어로 실행 시스템 예측 가능

- 명세화 언어: 정확한 모델 구축 가능

- 문서화 언어: 시스템 평가 및 의사소통 문서

2) 구성요소? : 사물, 관계, 다이어그램

3) UML diagram : 구조적/정적, 행위적/동적

구조적/정적:  Class,  Object,  Component,  배치,  패키지

행위적/동적:  Usecase, Sequence, Communication, State, Activity, timing

- Usecase : 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자 관점에서 표현하는 다이어그램

      => 확장 관계 : 특별한 조건을 만족할 때 수행하는 유스케이스 

            포함 관계 : 반드시 수행

      => 유스케이스: 시스템이 제공해야하는 서비스

           액터: 사용자가 시스템에 대해 수행하는 역할. 시스템과 상호작용하는 사람/사물

           시스템

- 시퀀스 : 객체들 사이의 메시지 교환

      => 객체, 생명선, 실행, 메시지

- 상태 : 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작 순서

4) 관계? : 사물/사물 간의 연관성을 표현

- 연관

- 의존 : 짧은 시간동안만 연관 유지

- 일반화 : 부모, 자식 간의 관계

- 실체화

- 포함

- 집합


< CASE도구 >

- 소프트웨어 생명주기의 전체 단계 연결 및 자동화 도구

- 소프트웨어, 하드웨어, DB 등 통합하여 소웨를 개발하는 환경 조성

- 요구사항 분석을 위한 자동화 도구

- 그래픽 지원

- 소웨 모듈의 재사용성 향상

1. 상위 CASE : 모델들 사이의 모순 검사, 모델의 오류 검증, 자료흐름도 작성

2. 하위 CASE : 소스 코드 생성