티스토리 뷰
아래 링크를 통해 가입시 바이낸스 코인 거래수수료 25% 평생할인!
25% lifetime discount on Binance Coin transaction fees when you sign up through the link below!
https://accounts.binance.com/en/register?ref=286562663
소프트웨어공학 공정 / 공정모델 / 폭포수모델 / 프로토타입 / 나선형방법 / CASE / 좋은 SW 특징
( 공정 : S/W 시스템 개발에 요구되는 활동들의 구조)
- 공정 -
명세 (해야 하는 것)
개발 (sw시스템의 제품개발)
검증(고객이 원하는데로 되었는지 체크)
진화(변화요구비용에서의 SW변화)
공정 모델들
- 명세서작성(시스템에대한 요구사항 조건 설명)
- 설계 및 구현 – 테스트(명세서대로 만들었는가 체크)
– 설치(잘돌아가는지 확증)
– 유지보수(바이러스발견시 수정)
일반적인 SW공정모델
폭포수모델
진화적 개발 모델 (시제품 나오면 ->점점더 좋은제품으로 개량)
나선형모델 (어떻게 점진적인 시제품을 만들것이냐 / 나선형은 위험분석을 함 )
재사용 기반 개발 모델(CBD방법) (새로운 시스템을 기존의 부품들로 조립)
폭포수모델
1 요구 정의
2 시스템 SW 설계
3 구현 -> 단본,유닛,부품테스트 -(개발했으니 ->테스트함)
4 통합 및 시스템테스트
5 운영과 유지보수
폭포수모델의 가장큰 문제 : 프로세스 진행 후 후반부에 수정이 어렵다
진화적개발모델 (프로토타입)
처음에 대충 초판을 내고 점진적으로 좋은제품을 만들어냄
(고객에게 시제품 보여주고 -> 기능추가 ->반복 -> 완제품)
타입(2가지)
탐색적 프로그래밍 (요구사항의 충분한 이해로 시작)
고객과 함께 시스템진화시킬목적으로 사용
원형 폐기방법 (요구사항 불완전 이해로부터 시작) - 시간 돈 많이듦
만들어보고 - > 아 이렇게하면되겠다 (반복) - > 완제품 출시
문제점
(공학자,관리자측면) : 공정이 불분명, 시스템이 구조적이지 못할때가 있음,
신속한개발을위해 숙련자의 기술이 요구될때가 있음)
중소규모의 시스템에 적합,
짧은 생명주기 시스템(잠깐 쓰고버릴거면 이런시스템도 괜찮음(사용자인터페이스같은 것)
나선형방법
고객과 항상 대화하면서 제품을 만듬
프로세스의 가시성
SW의 비가시성으로 관리자들은 일의 진척평가를위해 문서가 필요
그러나 발생되는 문제는 재때 못함, 문서완성의 필요성 때문에 프로세스의 개발 방해, 문서의
검토승인에 시간이 오래걸림 ( 아직까지 결과물 지향모델엔 폭포수모델이 가장 폭넓게 사용)
활동과 - > 그에따라 나와야하는 결과물들
1 요구사항 분석단계 -> 타당성 보고서가 나와야 함
2 요구사항 정의 -> 요구사항 문서
3 시스템 명세단계 -> 결과물로 기능(뭘 해야하느냐)명세서가 나와야함
수용테스트 계획서(주문자가 해달라고 한 테스트 계획서), 사용자 매뉴얼 초안 ( 시스템 사용 설명서 )
구조 설계 - > 구조도, 시스템 테스트 계획서(끝나면 유저들이 억셉턴스 테스트함)
5 인터페이스 설계 -> 인터페이스 명세 , 통합테스트 계획서
6 상쇄설계 -> 상쇄서계서 명세 단본(Unit)테스트 계획서
7 코딩 -> 프로그램 코드 (소스프로그램)
8유닛테스트 -> 유닛테스트 보고서
9 모듈테스트 -> 모듈테스트 보고서
10 통합테스트 -> 통합테스트 보고서, 최종 유저 매뉴얼
11 시스템 테스팅 -> 시스템 테스트 보고서
12 억셉턴스 테스트 -> 최종시스템 문서
한국사람들은 이런공정을 안함 . (결과중심 ) 대조적 일본과 .
모델별 가시성
1 폭포수모델 - 단계가 확실하게 구분됨 (가시성이좋음)
2진화적개발모델 - 빨리빨리 해야하는데 문서작성등에 시간을소비 ->
비경제적 (점진적, 진화적방법에선 비경제적일때가 있음) 가시성좋지않음
3공식적 변환 - 가시성좋음, 한단계 끝나면 ->다음단계 1번과 비슷함
4재사용 중심의 개발 - 가시성은 중간정도 (폭포수 > 사이에있음>진화적)
5나선형모델 - 가시성좋음 (요구사항분석설계 -> 위험성분석 -> 개발 -> 고객과의 평가)[세그먼
트] 단계를 밟기 때문. 각 세그먼트(단계)마다 아웃풋이 나옴
소프트웨어공학 비용은 개발모델에 따라 다름
CASE = SW공정 활동들을 지원하기 위한 SW System
Upper-CASE 공정의 앞 단계 에서 지원 하는 것
Lower-CASE 후반공정에서 지원하는 도구들 ex) 프로래밍 디버깅,테스트시
파워빌더,델파이(도구들)등
좋은 프로그램(SW)의 특징
유지보수성, 신뢰성, 효율성, 수용성이 좋아야함
유지보수성(변경요구를 충족시키는 것)
신뢰성(믿고 쓸수 있어야함)
효율성(시스템 자원사용이 낭비적이지 않을 것)
수용성(유저가 쉽게 이해하고 수용되어져야함)
SW공학의 도전점, 이슈 (이중성, 납품을(개발을) 최대한 빨리, 신뢰성)
바이낸스 코인 거래수수료 25% 평생할인받기
비트코인 바이낸스 거래소 선물거래, 마진거래방법 가이드 - 바이낸스 회원가입(계정생성)
비트코인 바이낸스 마진거래방법, 선물거래방법 - USDT