목록2026/01/29 (4)
승코딩당당당
설계·구현·검증자동차 소프트웨어 개발에서 설계·구현·검증 단계는 요구사항을 실제로 동작하는 소프트웨어로 만들어 가는 핵심 과정이다.이 단계에서는 “무엇을 만들 것인가”에서 나아가 “어떻게 만들고, 올바르게 만들어졌는가”를 확인한다. 소프트웨어 설계소프트웨어 설계는 구현에 앞서 소프트웨어를 구성하는 요소와 구조를 정의하는 활동이다.설계는 이후 구현과 테스트의 기준이 되며, 변경과 확장에 유연하게 대응하기 위한 기반을 만든다.설계는 크게 두 단계로 나뉜다. 1. 아키텍처 설계상위 수준에서 소프트웨어 구성 요소들 간의 관계를 정의하는 활동이다.구조 설계, 데이터베이스 설계, 인터페이스 설계가 포함되며, 시스템 전반의 흐름과 책임 분리를 결정한다.아키텍처는 이해관계자 간 공통의 의사소통 수단이 되며,기능성, ..
V-Model과 요구사항 공학자동차 소프트웨어 개발에서 V-Model은 개발 단계와 테스트 단계를 1:1로 대응시켜 관리하는 대표적인 개발·검증 모델이다.이 모델의 핵심은 요구사항 공학이 모든 단계의 기준이 된다는 점이다. V-Model의 기본 개념V-Model은 왼쪽에서 정의·설계,오른쪽에서 검증·확인이 이루어지는 구조를 가진다.왼쪽: 요구사항 정의 → 설계 → 구현오른쪽: 단위 테스트 → 통합 테스트 → 시스템 테스트 → 인수 테스트각 테스트 단계는 대응되는 요구사항 또는 설계 산출물을 기준으로 수행된다.즉, 테스트는 구현 이후에 갑자기 시작되는 활동이 아니라, 요구사항 단계부터 함께 고려되는 활동이다. 요구사항의 정의요구사항이란 현실 세계의 문제를 해결하기 위해 고객에 의해 요구되거나,표준을 만..
자동차 소프트웨어 개발에서 안전 요구사항과 해저드 분석은사고가 발생한 이후의 대응이 아니라, 사고를 사전에 예방하기 위한 핵심 활동이다. 해저드 분석 및 리스크 평가는 시스템에서 발생할 수 있는 위험 요인을 식별하고,허용 불가능한 위험(Unacceptable Risk)을 예방하거나 완화하기 위한안전 목표(Safety Goal)를 정의하는 과정이다. 해저드 분석 및 리스크 평가 프로세스 개요해저드 분석과 리스크 평가는 일반적으로 다음과 같은 단계로 수행된다. 1. 시스템 정의 (System Definition)가장 먼저 시스템이 수행해야 할 기능(System Functions)을 정의한다.시스템이 무엇을 하고, 어떤 환경에서 운용되는지를 명확히 이해해야 이후 단계에서 발생 가능한 위험을 식별할 수 있다...
문제[C++] 백준 1300: K번째 수 GOLD 1https://www.acmicpc.net/problem/1300 접근 방법이 문제는 N×N 곱셈표에서 오름차순으로 정렬했을 때 K번째에 오는 수를 구하는 문제다.곱셈표 B를 아래와 같이 두고,B[i][j] = i * j (1 ≤ i, j ≤ N)이걸 평탄화해서 정렬했을 때 K번째 수를 찾는 게 목표다. 처음에는 실제로 N×N 배열에 값을 모두 채운 뒤 정렬해서 K번째 값을 찾는 방식으로 시도했는데,N의 범위가 크다 보니 메모리 초과가 계속 발생했다..그래서 곱셈표 전체를 만들지 않고, “어떤 값 X보다 작거나 같은 수가 곱셈표 안에 몇 개 있는지” 를 이용해서이분 탐색(Parametric Search) 으로 답을 찾는 방식으로 바꾸었다. 이 알고리즘..