전장 시스템
시스템(System) = 센서(Sensor) + ECU + 액추에이터(Actuator)
- Sensor로 값을 받아(input), ECU로 처리하여, Actuator로 출력(output)
소프트웨어 정의와 특징
소프트웨어 정의
: 소스코드와 관련된 모든 산출 문서들
1. 소스코드 프로그램
2. 요구사항 명세서
3. 아키텍처 설계서
* 시프트-레프트(조기 테스팅 원리): 테스트를 소프트웨어 개발 수명 주기 초기에 수행하도록 하는 접근법
-> 분석/설계/구현/테스트 중 앞 단계에서부터 품질을 잡아가야 한다.
소프트웨어 특징
- 비가시성(Invisibility): 구조가 눈에 보이지 않음
- 비선형(Non-Linearity)
소프트웨어 공학 개요
: 소프트웨어의 개발, 운용, 유지보수 및 폐기에 대한 체계적인 공학적 접근 방법
목표
1. 재사용 및 생산성 향상(∵ 재사용 ↑ 재작업 ↓)
2. 소프트웨어 품질 향상
3. 개발/ 유지보수 비용 절감
4. 일정(납기) 준수
Q. 자동차 부품 회사는 왜 A-SPICE를 해야할까?
A. 유럽 등 해외 자동차 OEM들은 최소 Capability Level 2 이상을 요구한다.
BMW, Daimler, Volvo, GM 등 VDA Scope에 대해 Level 3 이상을 권장.
ISO 26262 기능 안전 표준
: 자동차에 탑재되는 전기전자시스템의 오동작(Malfunction)과 해저드로 인한 사고를 방지하기 위한 기준을 제공하는 기능 안전 국제표준
* 적용 대상: 자동차, 모터사이클 및 상용차(트럭, 버스) (3.5t 무게제한 X)
* 제외: 특수 목적 차량(장애인 운전 차량 등), Moped(모터 달린 자전거) 등
> Part 6. Product development on the software level
c.f)
IEC 61508: 전기/전자/프로그램 가능한 전자 안전 관리 시스템의 기능 안전 (일반적인 전장)
- ISO 26262: 자동차 기능안전 표준 규격
- IEC 62279: 철도 소프트웨어 개발 국제 표준
소프트웨어 개발 생명주기
: 소프트웨어를 어떻게 개발할 것인가에 대해 정의한 최상위 수준의 프로세스
역할
- 소프트웨어 개발 단계를 정의
- 소프트웨어 개발 접근 방식 제공
- 마일스톤과 일정 수립의 기준 제공
- 소프트웨어 비용 산정의 기준 제공
접근 방식
I. Big Bang Approach
II. Evolutionary Approach
소프트웨어 개발 수명주기의 유형
1. 주먹구구식 개발 모델(Build & Fix Model)
- 요구사항 개발(분석), 설계 단위 없이 구현(코딩) 후 만족할 때까지 수정
- 소프트웨어 크기가 아주 작은 경우에만 가능
2. 폭포수 모델(Waterfall Model) ***
요구사항 개발(분석) > 설계 > 구현(코딩) > 테스팅 > 유지보수
- I. Big Bang Approach, 대부분의 경우
- 소프트웨어 크기가 비교적 작고, 고객 요구사항이 명확한 경우에 적용
- 이전 단계의 산출물은 다음 단계의 입력으로 활용
- 이전 단계가 완료될 때까지 다음 단계들은 대기 상태여야 함
유용한 경우
- 요구사항이 100% 가까이 확인 되었을 때
- 요구사항에 대한 이해도가 높을 때
- 요구사항이 변경되지 않을 때
단점
- 요구사항 개발이 명확하지 않을 경우
- 고객은 개발 후반부에나 실제 동작하는 소프트웨어를 확인 가능
3. 원형 모델(Prototyping Model)
- 원형을 만들어 고객과 함께 평가 후, 개발될 소프트웨어 요구사항을 명확히 하여 완제품을 만듦
- II. Evolutionary Approach
- 소프트웨어 개발 초기에 고객 요구사항을 파악하기 어려운 경우에 적용
4. 나선형 모델(Spiral Model)
- 폭포수 및 원형 모델의 장점을 수용하고 위험 분석을 추가한 모델
- II. Evolutionary Approach
- 위험에 대처 가능하므로 고비용의 기간이 긴 소프트웨어 개발에 적용
+ 애자일(Agile)
- 짧은 사이클로 제품을 개발, 테스트하고 피드백을 받아 보완하는 방식
- 분석-설계-구현-테스트 구현 주기를 단축(ex. 6개월 -> 2~4주)
- iteration/ sprint를 작은 단위로 수행
- 자동화가 중요해짐
단점
- 임베디드의 경우, HW와 연동해야 하므로 어려움
'IVS > SW 공학' 카테고리의 다른 글
[SW공학] 소프트웨어 설계 (0) | 2025.01.03 |
---|---|
[SW공학] 형상관리 (0) | 2025.01.03 |
[SW공학] 비기능 요구사항 (0) | 2025.01.02 |
[SW공학] UML, Usecase Diagram (2) | 2025.01.02 |
[SW공학] V-model, 소프트웨어 요구 공학 (0) | 2024.12.31 |