일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- springboot
- Spring
- 오블완
- AI
- 데이터베이스
- 프로그래밍언어론
- 스프링부트
- 리눅스
- 다이어리
- IOS
- Xcode
- 스프링
- jenkins
- DBMS
- 소켓
- 인공지능
- sql
- 오라클
- libasm
- javascript
- 티스토리챌린지
- swift
- CD
- 스프링부트 웹 소켓
- 아이패드다이어리
- CI
- MySQL
- 네트워크
- JPA
- 42seoul
- Today
- Total
Hi yoahn 개발블로그
#1 [소프트웨어 공학] 개요 본문
1.1 소프트웨어
소프트웨어 특징 4
-프레드 브룩스
- 복잡성 (complexity)
소프트웨어는 자동화하려는 대상이 복잡, 수많은 내부의 요소들로 이루어져 상호작용이 많고 복잡함
- 순응성 (conformity)
요구나 환경, 데이터의 변화에 따라 적절히 변형되는 특징
- 변경성 (changeability)
소프트웨어는 개발 과정에 자주 변경된다.
- 비가시성 (invisibility)
소프트웨어는 종이나 자기 디스크 같은 매체에 저장되지만, 개념적이고 무형적이다
소프트웨어는 구조가 코드 속에 숨어 있어 쉽게 드러나지 않는다.
- 소프트웨어는 마모되어 소멸되지는 않는다.
1.1.1 소프트웨어의 종류
1 ) 주문형 소프트웨어
- 특정 고객의 수요를 만족하기 위하여 개발된 SW
- 그 고객 맞춤으로 제작되는 것으로, 다른 고객에게는 잘 맞지 않는다.
- 기관 내부에서 개발하는 경우가 많다. (외부에 발주하여 개발 의뢰하기도 함)
- 개발 성패: 사용자의 요구에 절대적으로 좌우된다.
- 웹사이트, 항공기-교통제어 시스템, 재정관리 시스템
2 ) (범용) 패키지형 소프트웨어
- 시장에서 판매하기 위한 것. 범용 컴퓨터에서 실행된다.
- 소프트웨어에 대한 요구: 시장의 요구에 의해 결정된다.
- 장점: 비즈니스 분야에서는 주문형보다 패키지형을 많이 사용하는데, 더 저렴하고 신뢰도가 높기 때문이다.
- 단점: 특정 기관의 요구에 딱 맞지 않을 수 있다.
(범용 소프트웨어 = COTS(Commercial Off The Self))
- 개발 성패 : 시장의 반응으로 좌우된다
- 워드프로세서, 엑셀, 컴파일러, 웹브라우저, 운영체제, 게임
- 범용 소프트웨어를 구입하여 커스텀화 하는 방법 -> 비용 적음, 새 버전 출시마다 커스텀화 작업 반복 필요
3 ) 임베디드 소프트웨어
- 하드웨어 장치 (세탁기, VCR, 전자레인지, 자동차)에서 수행되는 소프트웨어
- 하드웨어를 교체하지 않는 한 소프트웨어를 업그레이드하기 어렵다
- 하드웨어 장치가 범용으로 판매되므로 범용 패키지 소프트웨어와 유사하지만, 개발 방법과 프로세스가 달라 별도의 분야로 취급
- 임베디드: 대량의 소비자와 상품을 추구해 나가므로 소프트웨어 카피의 수량이 많다.
- 범용 패키지형: 임베디드보다 카피 적음
- 주문형: 카피 수는 가장 적음. 시스템 다양, 개발 종사 인력이 많음
1.1.2 시스템
필요한 기능을 실현시키기 위하여 관련 요소를 어떤 법칙에 따라 조합한 집합체
각 서브시스템은 다른 서브시스템으로부터의 자극에 대하여 영향을 받고 반응함으로써 상호작용하고 이들이 통합되어 하나의 거대한 시스템이 형성되어 있는 것이다.
시스템의 4가지 성질
- 서브시스템
: 시스템은 밀접히 관련된 서브 시스템들로 구성된다
- 기능적 분할
: 시스템은 규모가 작은 부속 서브시스템들로 나눌 수 있다
- 시스템 경계
: 시스템과 주변 환경을 구분할 수 있는 경계가 있다. (입력과 출력이 만나는 곳)
- 자동화 경계
: 시스템이 자동화된 부분과 수동 작업 부분을 나누는 경계
1.2 소프트웨어 개발 작업
1.2.1 기본 활동
1 ) 명세화
2 ) 구현
3 ) 검증
4 ) 유지보수
'sswu > 소프트웨어 공학' 카테고리의 다른 글
[소프트웨어 공학] 유스케이스 다이어그램 (0) | 2021.03.15 |
---|---|
UML 다이어그램 (0) | 2021.02.22 |
유저 스토리란? (0) | 2021.02.22 |
#2 [소프트웨어 공학] 프로세스와 방법론 (0) | 2020.12.08 |