본문 바로가기
반응형

소프트웨어 공학 용어 정리12

[SW 용어] Bit, Byte, Word 정리 Bit1. Bit는 0 혹은 1을 표현한다.2. n개의 Bit는 2의 n승개(2^n)의 정보를 저장할 수 있다.3. 컴퓨터와 디지털 통신에서 가장 기본적인 정보단위이다.4. 이진숫자라는 Binary Digit이라는 수에서 유래되었다.5. Boolean을 사용하는 True, False는 1Bit를 사용한다. (0 or 1)6. 컴퓨터는 0이랑 1으로 계산한다는 말은 Bit로 계산하기 때문이다.Byte1. Byte는 8Bit이고 256(0~255, 2^8)개의 정보를 저장한다.2. 가장 일반적으로 8bit로 구성된 디지털 정보 단위이다.3. Byte는 컴퓨터에서 단일 문자를 인코딩하는데 사용되는 비트수였다.4. 인터넷 네트워크 프로토콜 문서의 Octet(옥텟)단위와 달랐었지만 점차 같은 의미로 사용한다.5... 2024. 5. 29.
[SW 용어] Mutex, Semaphore 정리 Mutex(뮤텍스)와 Semaphore(세마포어)1. 프로세스 간 메시지를 전송하거나, 공유메모리를 통해 공유된 자원에 여러 개의 프로세스가 동시에 접근할 때 필요한 임계 영역 문제가 발생할 수 있다.2. 이를 해결하기 위해 데이터를 한 번에 하나의 프로세스만 접근할 수 있도록 제한을 두는 동기화 방식을 취해야 한다.3. 동기화 도구에는 대표적으로 뮤텍스(Mutex)와 세마포어(Semaphore)가 있다.4. 이들은 모두 공유된 자원의 데이터를 여러 스레드/프로세스가 접근하는 것을 막는 역할을 한다.2024.05.21 - [소프트웨어 공학 용어 정리] - [SW 용어] 동기화(Synchronization) 정리 [SW 용어] 동기화(Synchronization), 임계 영역(Critical Section.. 2024. 5. 28.
[SW 용어] 데이터 무결성, 정합성, 정확성, 완전성, 일관성, 유효성 데이터 무결성1. 데이터의 정확성, 완전성, 일관성 및 유효성이 유지되는 특성을 말한다. 2. 데이터가 실제 현실을 정확하게 반영한다는 것을 의미한다.3. 오류나 무효한 값이 없으며 데이터가 개발자의 생각대로 유지되어야 한다. 데이터 정합성1. 데이터가 일관성 있게 유지되는 것을 의미한다.2. 데이터간 모순이나 중복이 없어야하고 데이터의 논리적 구조가 일관되어야 한다.공통점데이터의 신뢰성과 일관성을 보장하기 위한 기본조건이다.차이점무결성은 정확성, 완전성, 일관성, 유효성이 모두 유지되어 데이터가 올바르게 유지된 상태이다.정합성은 여러 데이터 간 일관성이 유지된 상태이다. 데이터 무결성이 유지된 상태라면 정합성은 유지된 상태이다.하지만 정합성이 유지되어도 무결성이 유지되지 않은 상태일 수 있다. 이는 아.. 2024. 5. 27.
[SW 용어] 동기화(Synchronization), 임계 영역(Critical Section) 동기화(Synchronization)1. 동기화는 시스템을 동시에 작동시키기 위해 여러 사건들을 조화시키는 것을 의미한다.2. 병행성과 관련해서 공유되는 자원에 대한 이해와 공유자원 사용과 관련해서 생길 수 있는 문제 상황이 발생한다.3. 동기화로 생길 수 있는 이슈가 있고 이를 해결할 수 있는 방법들이 있다. (교착상태, 뮤텍스, 세마포어 등)4. 동기화가 필요한 배경(병행성 & 병렬성)    - 멀티 프로세서 환경, 시분할 스케줄링은 곧 병행성과 병렬성을 의미한다.    - 현대의 운영체제는 병행성(운영체제에서의 시분할 스케줄링)와 병렬성(다중 코어)을 제공해주고 있다.    - 사용자는 많은 프로그램을 실행시키면서 동시에 프로그램이 동작하는 사용자 경험을 제공받는다. ※ 병행성(Concurrency.. 2024. 5. 22.
[SW 용어] Starvation 정리 Starvation(기아현상) 1. 특정 프로세스의 우선순위가 낮아서 원하는 자원을 계속 할당받지 못하는 상태이다.2. 여러 프로세스가 부족한 자원을 점유하기 위해 경쟁할 때 특정 프로세스는 영원히 자원 할당이 안 되는 경우를 주로 의미한다. 3. 여기서 자원할당이란 OS(운영체제)에서 스케줄링 기법에 의해 Running(실행)상태에 들어갈 수 있는 프로세스 처리시간을 포함한 모든 자원을 이야기한다.  Starvation 해결방법1. 우선순위 변경 알고리즘 사용한다.    - 우선순위를 수시로 변경해서 각 프로세스가 높은 우선순위를 가져 자원을 할당 받을 수 있게 한다.2. 오래 기다린 프로세스의 우선순위를 높여준다.    - Aging 기법: 나무가 나이가 들수록 나이테가 늘어나는 것처럼 우선순위를 높.. 2024. 5. 21.
[SW 용어] Deadlock 정리 Deadlock(교착상태)1. Deadlock이란 여러 프로세스 혹은 스레드가 일어날 수 없는 이벤트나 자원할당을 무한정 대기하는 것이다.2. 여러 프로세스가 동일 자원을 요청할 때 발생한다.3. 아래 4가지 조건이 성립될 때 발생한다. 상호 배제(Mutual exclusion): 매 순간 하나의 프로세스만이 독점적으로 자원 사용한다.비선점(Non-Preemption): 프로세스는 자원을 빼앗기지 않는다.점유대기(Hold & Wait): 자원을 가진 프로세스가 다른 자원을 기다릴 때 보유자원을 반환하지 않는다.순환대기(Circular wait): 자원을 기다리는 프로세스간 사이클이 형성되어 있다. (환형 - 뱀이 꼬리를 무는 형태)   Deadlock 해결방법Deadlock 예방(Deadlock Prev.. 2024. 5. 20.
[SW 용어] 유저 유스케이스 다이어그램 유스케이스 다이어그램(행위자, 일반화, 확장, 포함, 예제) 행위자(actor) 일반화 관계(generalization relationship) 포함관계(include) 확장관계(extends) 유스케이스 예제(인터넷쇼핑몰) 2023. 8. 23.
[SW 용어] 유저 유스케이스 용어 정리 유저 유스케이스(이해관계자, 고객, 기법 개요 및 활용) 이해관계자(stakeholders) 1. 소프트웨어를 개발하며 고객의 요구를 만족시키는 시스템을 만들기 위해 고객의 요구사항을 알아내는 것은 시스템을 개발하는 관리자와 실무자에게 중요한 일이며 가장 큰 도전이다. 2. 요구사항 분석의 오류를 줄이기 위해 프로젝트 초기인 요구사항 분석 단계에서부터 다양한 이해관계자를 프로젝트 개발 과정에 참여시키는 것이 중요하다. 3. 이해관계자의 활발한 참여는 잘못된 요구사항을 밝혀내고 중요하고 요구사항 누락을 방지하는데 필수적이다. 4. 이해관계자는 프로젝트 결과에 직간접으로 영향을 미치는 개인이나 그룹을 의미하며, 프로젝트를 발주한 고객이나 실제 사용할 사용자, 개발팀 등이 있다. 고객(사용자) 1. 고객 또는.. 2023. 8. 22.
[SW 용어] Boehm's law (Boehm의 법칙) Barry Boehm의 소프트웨어 엔지니어링 제2법칙(1980) - 소프트웨어 프로젝트 중에 버그를 찾아 수정하는 비용은 시간이 지날수록 높아진다. - 초기 개발 단계에서 결함을 발견하면 많은 시간과 비용을 절약할 수 있지만 나중 단계에서 발견하면 비용이 많이 든다. - 요구사항 수정이 sw를 수정하는 것보다 쉽다. - 요구사항 수집, 분석과 디자인, 개발, 테스트, 배포 순서로 문제(Error)를 찾았을 때 고치는 비용(Cost)가 올라간다. * 참고자료 2023. 5. 9.
[SW 용어] 파레토의 법칙 (Pareto principle) 파레토 법칙 (Pareto principle) 파레토 법칙이란 80:20 법칙이라고도 불리는데, 80%의 결과가 20%의 원인에 의해 발생한다는 것이다. 경제학자 빌프레도 파레토가 이탈리아에서 20% 사람들이 80% 부를 소유하고 있는 현상을 관찰하면서 유래되었다. - 80대 20 법칙 - 전체 결과의 80%가 전체 원인의 20%에서 일어나는 현상을 가리키는 말이다. - 소프트웨어 테스트 원리 중 20%의 모듈에서 80%의 결함이 발견된다는 '결합 집중'의 원리이다. 2023. 5. 8.
반응형