소프트웨어 설계(요구사항 확인)

2025. 2. 11. 12:43자격증

반응형
1. 현행 시스템 분석 (1)플랫폼 기능 분석 : 1)애플리케이션을 구동시키는 데 필요한 소프트웨어의 환경, 2) 상호 호환 가능한 결합체 3)공정한 거래를 통해 교환
(2)플랫폼 성능 특성 분석 (경사응가) 플랫폼 성능 특성을 측정하는 항목 ①경과시간 ②사용률 ③응답시간 ④가용성
(3)운영체제 분석 (신성기주구) ①신뢰도 ②성능 ③기술지원 ④주변기기 ⑤구축비용
                               품질 측면                지원 측면
(4)네트워크 분석 (백라스게방) ①백본 ②라우터-3계층 ③스위치-2계층 ④게이트웨이 ⑤방화벽
(5)DBMS 분석 (가성호기구) ①가용성 ②성능 ③호환성 ④기술지원 ⑤구축비용
                                  성능 측면               지원 측면
(6)비즈니스 융합 분석(고시가공생) ①고객가치 ②시장유통 ③가치제안 ④공급역량 ⑤생산방식
2. 요구사항 확인 (1) 요구분석 기법 (1)요구공학 개념 (명확) ①도출 ②분석 ③명세화 ④검증 및 확인
(2)요구분석 특징 ①소단위명세서: 데이터 흐름도 그림 ②도메인분석 : 개발하고자 하는 소프트웨어에 적용 분야
(3)요구사항 분석 단계 절차 (개할협정)
①요구사항 류 ②념 모델링 생성 및 분석 : DFD, UML, E-R다이오그램, 스퀀스다이어그램, 유스케이스 다이어그램, 애자일 방법 ③요구사항 당 ④요구사항 상 ⑤형 분석:수학적 기호로 표현
(4)요구사항 분석 기술
①청취기술 ②인터뷰와 질문기술 ③분석기술 ④중재기술 ⑤관찰기술 ⑥작성기술 ⑦조직기술 ⑧모델작성기술
(5)DFD; Data Flow Diagram : 시스템 모델링 기구로서 가장 보편적으로 사용, 자료흐름그래프, 버플(Bubble)차트
(6)데이터 흐름도 구성요소: (프플스터) : 데이터(Data) 흐름에 중심을 두는 분석용 도구
Process처리기○ ②Flow데이터 흐름 → ③Store저장소 = Terminator단말(시작과 종료)
(7)자료사전 DD; Data Dictionary : 단위들을 구체적으로 명시하는 사전이다. DFD나타나는 어떤 자료의 흐름도 자료 사전에 정의
= : ~으로 정의 ②+ : 자료의 연결 ③( ) : 자료 생략 ④{ } 자료의 반복 ⑤[ ] 자료의 선택 ⑤** 자료의 설명, 주석
(8)요구사항 분석이 어려운 이유
1. 개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않다.
2. 사용자의 요구사항이 모호하고 불명확 하다.
3. 개발 과정 중에 요구사항이 계속 변할 수 있다.
4. 사용자의 요구는 예외가 많아 열거와 구조화가 어렵다.
2. 요구사항 확인 (2) UML (1)UML; Unified Modeling Language 통합모델링언어 : 객체지향 소프트웨어 개발과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어
(2)UML통합모델링언어 특징 (가구명문 : ①가시화 언어 ②구축 언어 ③명세화 언어 ④문서화 언어)
(3)UML통합모델링언어 구성요소 (사관다 : ①사물 Things ②관계 Relationship ③다이어그램 Diagrams)
(4)UML통합모델링언어 다이어그램 : 사물관계를 모아 그림(다이어그램)으로 표현한 형태
1.구조적 다이어그램 Structural Diagram = 정적 다이어그램 Static Diagram (클객컴  배복패)
①클래스Class Object 포넌트Component Deployment 합체 구조Composite Structure 키지Package
2.행위적 다이어그램 Behavioral Diagram = 동적 다이어그램 Dynamic Diagram (유시커상활타)
①유스케이스Usecase ②스퀀스Squence ③커뮤니케이션Communication ④상태State ⑤활동Activity ⑥타이밍Timing
(5)클래스 Class Diagram : 클래스와 클래스, 즉 클래스 속성 사이의 관계를 표현


           

클래스 내부접근만 허용 | + 클래스 외부접근을 허용 | # 동일 패키지·파생 클래스 접근 가능 | ~ 동일 패키지 클래스 접근 가능
         Private        <        default        <         Protected             <      Public
(6)유스케이스 Usecase Diagram : 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램


(7)시퀀스[교류,순차] 다이어그램 : 객체 간 상호작용을 메시지 흐름으로 표현한 다이어그램 (객생메실)
Object 명선Lifeline 시지Message Activation


(8)UML통합모델링언어의 관계 : 사물과 사물 사이의 연관성을 표현 (연의 일실 포집)
①연관Association→ 클래스 안에 객체 사용 || house - Person
②의존Dependency····> 매개 변수로 사용 || A - C
③일반화Generalizationㅡ▷ 상속관계 (클래스 상속) || Animal Duck, Bear, Dog
④실체화Realization····▷ 상속관계 (인터페이스 상속) <<interface>> 길러멧
⑤포함,합성Compositionㅡ◆ GOM Player Screen, Controller
⑥집합,집약Aggregationㅡ◇ 컴퓨터 – 키보드, 마우스, 모니터
(9)UML통합모델링언어 확장 모델의 스테레오 타입 Stereotype : 기본요소 이외의 새로운 요소를 만들어 내기 위한 확장 메커니즘
<< >> : 길러멧; Guilemet
<<include>>포함관계 ②<<extend>>확장관계:기본유스케이스 수행시 특별한 조건 만족할 때 수행 ③<<interface>>
반응형
2. 요구사항 확인 (3) 애자일(Agile) (1)애자일; Agile 방법론 특징 : 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법. 기존 개발방법론의 한계 극복하기위해 등장
(2)애자일 방법론 특징 (기소유가피)
1.프로젝트 요구사항은 (능 중심)으로 정의한다.
2.절차와 도구보다 개인과 ()을 중요하게 생각한다.
3.작업 계획을 짧게 세워 요구변화에 ()하고 (신속)하게 대응할 수 있다.
4.소프트웨어가 잘 실행되는 데 ()를 둔다.
5.고객과의 (드백)을 중요하게 생각한다.
(2)애자일선언문 (개변동고),
인과 상호 작용 ②화에 대응 ③작하는 소프트웨어 ④객과의 협력
(3)애자일 방법론 유형
XP; eXtreme Programming : 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론, 실용성 강조
-XP 5가지 가치 : 용단의피존 1.용기Courage 2.단순성Simplicity 3.의사소통Communication 4.피드백Feedback 5.존중Respect
-XP12가지 기본원리 : Pair Programming, Collective Ownership, Continuous Integration, metaphor, Test Driven Develop, Refactoring
②스크럼Scrum : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트
③린Lean : 도요타의 린 시스템 품질기법을 소프트웨어에 적용해서 낭비 요소를 제거하여 품질 향상시킨 방법론 (낭품지 확인사전)
④크리스탈Crystal : 프로세스나 도구보다 사람에게 더 많은 중점을 두는 방법론
ASD; Adaptive Software Development : 합동 애플리케이션 개발(Joint Application Development)을 사용한다.
FDD; Feature Driven Development : 신규 기능 단위로 하는 개발
3. 분석 모델 확인 (1)모델링 기법 : 실세계의 물리 현상을 이용하기 쉬운 형식으로 표현하는 기법
1. 엔지니어들이 공통된 개념을 공유
2. 응용문제를 이해하는 데 도움을 줄 수 있다.
3. 자료흐름도는 프로세스 위주의 모델링 방법이다.
(2)분석 자동화 도구 : 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발
CASE; Computer Aided Software Engineering
1. 소프트웨어생명주기 SDLC 전체 단계를 연결해 주고 자동화해주는 통합된 도구,
2. 소프트웨어, 하드웨어, 데이터베이스, 테스트 등을 통합하여 소프트웨어를 개발하는 환경을 조성.
(3)분석자동화 도구 특징- 원천기술 ①구조적 기법 ②프로토타이핑 기술 ③자동프로그래밍 기술 ④정보 저장소 기술 ⑤분산 처리 기술을 사용
(4)분석 자동화 도구의 분류 ①상위 CASE : 모순검사, 오류검증, 자료흐름도 작성 ②하위 CASE : 소스코드 생성 지원, 시스템 명세서 생성
(5)CASE 분석 자동화 도구 주요 기능
1. (그래픽)을 지원한다.
2. 소프트웨어생명주기 SDLC (전 단계를 연결)한다.
3. 다양한 소프트웨어 (개발 모형)을 지원한다.
4. 표준화된 개발 환경 구축 및 (문서 자동화) 기능을 제공한다.
5. 작업자 간의 (커뮤니케이션)을 증대한다.
(6)요구사항 관리 도구 필요성
①비용 편익 ②변경 추적 ③영향 평가
(7)애플리케이션 생명주기 관리 ALM; Application Lifecycle Management : 지라JIRA

 

반응형