1. 개발 방법
1.1 개발 스타일에 따라
- Top-up: 큰 문제를 작은 문제로 나누어 하나씩 해결
- 하향식: 구체적인 구성 요소에서 시작하여 디자이너의 기술을 연결, 수정 및 확장합니다.
1.2 성격에 따라
- 형식화: 클린룸 엔지니어링을 나타내는 데이터 추론 방법(일반적으로 테스트되지 않음)
- 정보화: 다양한 개발 모델
1.3 적용 범위
- 총체적 접근: 소프트웨어 개발의 전 과정에 대한 접근
- 로컬 접근: 소프트웨어의 특정 단계에 대한 접근
ps: 클린룸 엔지니어링(CSE)
- 상자 구조 사양을 이용한 분석 상자 모델링
- 오류 제거를 위한 정확성 검증
- 통계적 오류
- QC
2. 비공식 개발 방법
2.1 프로토타입 방식
기능 포인트의 실현에 따르면:
- 수평 프로토타입: 인터페이스의 요구 사항을 구체화하기 위해 사용되지만 기능을 구현하지 않는 동작 프로토타입
- 수직 프로토타입: 구조화된 프로토타입, 복잡한 알고리즘 구현, 일부 기능 구현
최종 결과에 따르면:
- 일회용: 탐색 프로토타입, 수요 불확실성 해결, 모호성, 불완전성, 모호성
- 진화: 업그레이드 및 최적화가 용이한 경우를 위한 최종 시스템으로 점진적으로 진화합니다.
2.2 구조화된 개발
장점: 명확한 개발 목표, 단계별 개발 프로젝트, 표준화된 개발 문서 및 구조화된 설계 문서
단점: 개발 주기가 길고, 요구사항 변화에 적응하기 어렵고, 데이터 구조가 거의 고려되지 않음
2.3 애자일 개발 방식
사람 중심, 사용자와의 긴밀한 협업, 대면 커뮤니케이션, 가능한 한 빨리 릴리스 증가, 소규모 프로젝트에 적합한 작고 독립적인 개발 팀.
2.4 객체 지향 개발
Coad/Yourdon 방법: OOA와 OOD는 완전히 동일한 개념과 표기법을 채택하고 기간 분석과 설계 간의 표기법 변환이 필요하지 않습니다.
Booch 방식: 정적 모델은 시스템의 구성과 구조를 설명하며 논리적 모델과 물리적 모델로 구분되며 동적 모델은 상태 다이어그램 및 시퀀스 다이어그램을 포함하여 개체의 상태 변경 및 상호 작용 프로세스를 설명합니다.
OMT 방법: 객체 모델(객체 다이어그램), 동적 모델(상태 다이어그램) 및 기능 모델(DFD)을 사용하여 모델링 아이디어 사용
OOSE 방법: 사용 사례는 요구 사항 분석 및 기능 모델링을 위해 DFD를 대체합니다.
2.5 서비스 지향 개발 방식
추상화 수준
- 작동: 트랜잭션의 단일 논리적 단위를 나타내는 최하위 계층은 특정 구조화된 인터페이스를 포함하고 구조화된 응답을 반환합니다.
- 서비스: 작업의 논리적 그룹을 나타냅니다.
- 비즈니스 프로세스: 가장 높은 수준에서 특정 비즈니스 목표를 달성하기 위해 수행되는 장기 실행 작업 또는 활동 집합
2.6 컴포넌트 지향 소프트웨어 개발
구성 요소 획득:
- 기존 구성 요소를 사용합니다.
- 레거시 엔지니어링 아티팩트 추출
- 구입하다
- 개발하다
구성 요소 재사용 방법:
- 구성 요소 검색 및 추출
- 구성 요소 이해 및 평가
- 구성 요소 수정
- 부품 조립
빌드 카테고리:
- 키워드 분류: 애플리케이션 개념을 키워드로 표시되는 트리 또는 방향성 비순환 그래프 구조로 나눕니다.
- 패싯 분류: 패싯을 사용하여 구성 요소가 수행하는 기능, 조작할 데이터, 구성 요소가 적용되는 컨텍스트 또는 기타 특성을 설명합니다.
- 하이퍼텍스트 방식: 인간의 연상적 사고에 따라 관련 개념이나 구성 요소가 포함된 문서로 임의로 이동할 수 있습니다.
3. 개발 모델
폭포수 모델: 구조화된 접근 방식, 단계적 개발, 명확한 요구 사항, 완전한 문서화, 취약한 위험 제어
프로토타입 모델: 반복 방식, 원래 개발과 대상 소프트웨어 개발로 구분, 요구 사항이 명확하지 않음
나선형 모델: 크고 복잡하며 위험한 프로젝트에 적합한 벨트 방식, 폭포수 및 프로토타입 개발 모델의 조합
분수 모델: 객체 지향 방법, 좋은 재사용, 개발 프로세스에 공백 없음, 공간 절약.
V 모델: 개발과 테스트 결합
변환 모델: 정식 개발에 적합
Rapid Application Development RAD: 구성 요소 기반 개발 방법, 사용자 참여, 구성 요소 개발 또는 재사용, 높은 모듈 요구 사항, 신기술에 적합하지 않음
RUP/UP: 사용 사례 중심, 아키텍처 중심, 반복, 증분.
4. 시스템 분석
4.1 구조해석
- 기능 모델: DFD 데이터 흐름 다이어그램, 데이터 흐름은 외부 엔터티에서 스토리지로 직접 흐를 수 없으며 처리에는 입력 및 출력이 있어야 합니다.
- 데이터 모델: ER 다이어그램
- 행동 모델: STD 상태 전환 다이어그램
4.2 객체 지향 분석:
- 기능 모델: 사용 사례 다이어그램, 포함, 확장 및 일반화를 포함하여 사용 사례 간에 세 가지 관계가 있습니다.구성 요소 사용 사례 모델은 일반적으로 참가자 식별, 사용 사례를 얻기 위한 요구 사항 병합, 사용 정제의 4단계로 관리되어야 합니다. 사례 설명 및 유스 사례 모델 조정 이 세 단계가 필요합니다.
- 데이터 모델: 클래스 다이어그램
- 행동 모델: 활동 다이어그램, 시퀀스 다이어그램, 상태 다이어그램
객체지향 분석 컴포넌트를 통해 모델을 분석하는 과정: 분석 모델을 설정하는 과정은 일반적으로 개념 정의, 클래스 간의 관계(종속, 일반화, 조합, 집합, 구현) 결정, 클래스에 책임 추가, 상호 작용 설정을 포함합니다. 도표.
5. 시스템 설계
5.1 구조 설계:
- 개요 설계: 아키텍처 설계, 인터페이스 설계, 데이터 설계, SC 시스템 구조도 사용
- 세부 설계: 프로세스 설계, 프로그램 흐름도, IPO 다이어그램, 상자 다이어그램, 문제 분석 다이어그램, 의사 결정 트리 및 의사 결정 테이블을 포함합니다.
5.2 객체지향 설계
Architecture Diagram (Package Diagram), Use Case Realization Diagram, Class Diagram, Other (State, Activity Diagram)