반응형
SMALL
1) waterfall 모델
소프트웨어 프로세스는 소프트웨어 시스템을 명세화- 설계 - 구현 - 시험 하기 위한 활동들의 집합을 말하는데, waterfall은 소프트웨어 프로세스의 여러 가지 모델중의 하나이다. 개발의 흐름이 마치 폭포수처럼 지속적으로 아랫방향을 향하는 것처럼 보인다는데서 붙여진 이름이다. (아래와 같은 과정으로 개발되는 프로세스) |
2) extreme 프로그래밍
소프트웨어 개발 방법 중하나로서, 비즈니스 상의 요구가 시시각각 변동이 심한 경우에 적합한 개발 방법이다. 애자일 개발 프로세스라 불리는 개발 방법 중의 대표적인 하나로 꼽히며, 약칭으로 ‘XP’로 잘 알려져 있다. 이 방법은 10~12개 정도의 구체적인 실천 방법을 정의하고 있어, 비교적 적은 규모의 인원의 개발 프로젝트에 적용하기가 좋고, 개발 문서보다는 소스코드를, 조직적인 개발의 움직임 보다는 개개인의 책임과 용기에 중점을 두는 경향이 크다. XP의 목적은 고객이 원하는 양질의 소프트웨어를 빠른 시간안에 전달하는 것이고, 수시로 발생하는 고객의 요구사항에 대처, 고객이 원하는 SW를 인도하기 위해서는 고객과 팀원간의 대화를 통해 해결한다. |
3) 정형적(Formal) 개발
수학적 명세서를 바탕으로 다양한 표현방식으로 실행가능한 프로그램으로 변환하는 개발 방법. 변환할 때 명세서와 변환한 결과물이 정확한지에 초점을 맞추므로 프로그램이 명세서에 적합하다는 것을 보여주는 것이 쉽다. Cleanroom 접근법 (만들 때부터 버그가 없도록 개발하는 것)에 포함된다. 문제점으로는 난이도가 높아서 전문 기술, 기술 적용 교육이 필요하고, 시스템에 속한 부분들을 명세화 시키는 것 자체가 어렵다는 것이다. |
요구사항 정의 - 공식적인 명세화 - 공식적인 변환 - 통합 및 시스템 테스트 |
4) 재사용 기반 개발
재사용 기반 개발은 기존의 컴포넌트, COTS(Commerical-Off-The-Shelf) 시스템으로부터 통합되는 것처럼 체계적인 재사용에 기초를 둔 개발 방법이다. 즉, 기존에 있는 것을 가져다가 쓰는 개발 방법 (오픈소스, API 등을 재사용) |
2. 컴포넌트 분석 3. 요구사항 수정 4. 재사용을 고려한 시스템 설계 5. 개발과 통합 6. 테스트 |
5) incremental 개발
시스템을 한번에 인도하지 않고, 중요도 순서에 따라 개발과 인도를 반복하는 것이다. 각각 증가분에서는 요구되는 기능들을 인도한다. 사용자의 요구사항을 우선순위 메겨서 그 우선순위를 토대로 중요도를 메겨서 중요한 것부터 먼저 넘겨준다. 개발이 시작되면 요구사항은 변경이 불가능하다. 이점은 고객이 중요하고 필요한 부분부터 요구하고 인도 받기 때문에 시스템 초기에 이용할 수 있고, 고객과 함께 소통하여 개발 과정을 반복하므로 실패확률도 적다. 초기에 인도해준 증가분이 후에 인도되는 증가분의 프로토 타입 역할을 하는데, 이를 토대로 요구사항들을 이끌어 낼 수 있다. 또한 많은 테스트를 통해 안정성이 높아진다. |
|
6) spiral 모델
나선형 모델은 프로세스 반복 방법론 중하나 인데, 프로세스 과정을 순서도가 아닌 나선형으로 표현한 것이다. S/W의 위험을 명백히 측정하는 데 좋은 모델이다. 사분면이라고 생각하면, 2 - 1 - 4 - 3 순서로 루프가 진행되고, 2- 계획 수립, 목표 설정 : 프로젝트 단계를 위한 특정한 목적을 식별 4- 개발과 확인 : 시스템에 대한 개발 모델을 선택 3- 다음 단계 계획 : 프로젝트 검토, 다음 단계에 대한 계획 나선을 돌며 반복적으로 수행하는 것이 나선형 모델이다. |
7) use case
시스템 사이에서 교환되는 메시지의 중요도에 의해 클래스나 시스템에 제공되는 고유 기능 단위로서, 상호 행위자 밖의 하나 혹은 그 이상의 것이 시스템에 의해서 실행되는 행위를 함께 하는 것. 외부에서 시스템을 바라보아 그 기능을 나타낸다. 그러므로 내부적 수행 과정은 블랙박스. 유스케이스 다이어 그램을 그릴 때 시스템 내부적인 수행과정은 포함시키지 말아야 한다. |
8) actor
사람, 컴퓨터시스템, 조직 등과 같이 행위를 하는 어떤 것으로 목표나 필요를 가진다. 행동을 하는 어떤것. 논의 대상 시스템(SUD) 자체도 다른 시스템의 서비스를 요청한다면 액터에 속한다. 사람, 조직, 소프트웨어, 기꼐도 액터가 될수있다. - 주요액터 : SUD 의 서비스를 이용함으로써 사용자 목표를 이룬다. - 숨은액터 : 사용사례에서 다룰 관심사가 있지만 주요액터나 보조액터가 아닌것. |
9) scenario
시나리오는 시스템이 실제로 사용되는 방식에 대한 설명이고, 요구사항 유도에 많은 도움을 준다. 이유는 사람들이 시스템으로부터 무엇을 필요로하는지에 대해 추상적인 문장들보다 시나리오에 좀 더 쉽게 접근할 수 있기 때문이다. 그리고 개략적인 요구사항 설명에 상세한 것을 추가하는데 매우 유용하다. |
10) requirements document
요구사항은 시스템의 기능 또는 제약 조건에 대한 고수준의 추상적 문장으로부터 상세한 수학적인 기능 명세서까지를 포함하고, 두 가지 용도로 사용되는 것이 필연적이다. 요구사항의 종류 - 사용자 요구사항(요구사항 정의) :시스템이 제공하는 기능과 제약 조건에 대해 자연 언어 +다이어그램으로 작성됨. (고객을 위함) - 시스템 요구사항 (요구 사항 명세서) : 시스템의 기능을 상세히 설명한 구조화된 문서, 고객과 계약자간에 계약을 위해 작성 - 소프트웨어 명세서 :설계 또는 구현의 기초로 사용되는 소프트웨어에 대한 상세한 기술, 개발자를 위해 작성. |
11) correctness
소프트웨어 요구 사항이나 사용자의 기대에 만족되는 정도 또는 설계·코딩상의 결함이 없는 것. |
12) consistency
(요구사항 검사) 요구사항들간에 불일치는 없는가? |
13) completeness
(요구사항 검사) 고객이 필요로 하는 모든 기능이 포함되었는가? |
14) realism
(요구사항 검사) 요구사항이 주어진 가용한 예산과 기술로서 구현될 수 있는가? |
15) adaptability
(검토회의의 점검사항) 순응도는 요구사항이 다른 요구사항에 커다란 영향 없이 변경될 수 있는가? |
16) maintainability(유지보수성)
소프트웨어 개발 활동 중 유지보수 비용을 줄이기 위해 유지보수성의 서브-특성을 정의, 검토, 통제해야 합니다. 이러한 활동이 성공적으로 이루어진다면, 소프트웨어의 유지보수성은 개선될 수 있습니다. 17) dependability
18) efficiency
19) usability
20) Feasibility studies(가능성 분석)
21) Specification(명세화)
22) Validation(확인)
23) Evolution(진화)
|
25) Evolutionary development(진화적 개발)
|
지식을 공유합시다 !
다른 방법, 비슷한 방법, 본문 내에 의문점/문제점 댓글로
달아주시고 함께 성장합시다 ^^
반응형
LIST
'Developer > Theory' 카테고리의 다른 글
[Theory] Payload (0) | 2024.05.21 |
---|---|
SSL: 보안 소켓 계층 (Secure Sockets Layer, SSL) (0) | 2020.08.14 |
[ 참고 ] RFID 의 원리와 기본 구조 (0) | 2018.08.06 |
[ 네트워크 ] 유니캐스팅 , 브로드캐스팅 , 멀티캐스팅 (0) | 2018.07.26 |
소프트웨어공학 (SE) - 용어정리2 (0) | 2015.11.15 |