본문 바로가기

IT지식32

[소프트웨어공학] 사람-노력 관계, 노력 분배, PERT, CPM, Gantt Chart 사람-노력 관계 소규모의 개발 프로젝트에서는 한 사람이 소프트웨어 생명 주기 전 과정을 수행할 수 있다. 하지만 프로젝트 크기가 커질수록 더 많은 사람들이 참여해야 한다. Brooks의 법칙 진행중 새로운 인력을 투입할 경우 적응 기간과 부작용으로 인해 일정을 지연시키고 혼란을 가져올 수 있다. 노력 분배 40-20-40 규칙 = 분석 설계 40%, 코딩 20%, 테스트 40% 요구 분석 설계 코딩 테스팅과 디버깅 10~25% 20~25% 10~25% 30~40% PERT(Program Evaluation and Review Technique), 프로그램 평가 및 검토 기술 - 경험이 없어 소요 기간 예측이 어려운 경우 사용한다. - 노드와 간선으로 구성된다. - 작업, 낙관치, 기대치, 비관치를 표시한.. 2020. 2. 8.
[C언어] 몫과 나머지 구하기. 정수를 실수로 형변환 하기. #include int main() { int a, b; int na1, na2, na3; double mok1, mok2; a = 13; b = 2; na1 = a - (a / b) * b; // 나머지 구하기 mok1 = a / b; mok2 = (float)a / b; // C에서 몫은 정수로 반환되므로 실수로 출력하기 위해서는 형변환 필요 na2 = a - mok1 * b; // 몫(mok1)을 이용한 나머지 구하기 2 na3 = a % b; //C언어에는 나머지 연산자가 존재함. printf("나누기 연산 결과 : 몫 %.2f \n", mok1); //몫은 정수가 나온다. printf("나누기 연산 결과 : 몫 %.2f \n", mok2); //형변환을 통해 실수까지 출력 printf("나머지1.. 2020. 2. 8.
[운영체제] 컴파일러와 인터프리터, 어셈블리어와 어셈블러 ● 프로그래밍 언어 저급 언어 (Low Level Language) 기계어 컴퓨터가 직접 이해할 수 있는 언어. 0과 1의 2진수로 표현. 수행시간이 빠르다. CPU에 내장된 명령들을 직접 사용하는 것으로 프로그램을 작성하고 이해하기가 어렵다. 기종마다 기계어가 다름. 언어의 호환성이 없다. 어셈블리어 기호를 기계어와 1:1로 대응시켜 코드화한 기호 언어 어셈블러를 통해 기계어로 어셈블하는 과정을 거쳐야 함. 니모닉 언어라고도 함. 하드웨어 제어에 주로 사용되며 언어의 호환성이 없다. 컴퓨터가 직접 이해할 수 없으므로 어셈블러를 사용해 기계어로 번역해야 함. 고급언어(High Level Language) 컴파일러 언어라고도 함. 인간이 사용하는 자연어와 비슷함. 하드웨어에 대한 지식 없이도 프로그램 작성.. 2020. 2. 8.
[운영체제] 일괄 처리, 다중 프로그래밍, 시분할, 실시간, 분산 처리 시스템 일괄 처리 시스템 (Batch Processing System) 1세대 1. 초기의 컴퓨터 시스템에서 사용된 형태. 2. 일정량의 데이터를 모아서 한꺼번에 처리하는 방식 3. 반환시간이 늦지만 CPU 유휴시간이 줄어든다. 4. 급여계산, 지불계산, 연말결산 등의 업무에 사용 다중 프로그래밍(Multi-Programming System) 2세대 하나의 컴퓨터 시스템에서 여러 프로그램들이 같이 입력되어 주기억장치에 적재되고, 이들이 처리장치를 번갈아 사용하며 실행하도록 하는 것. 하나의 CPU와 하나의 주기억장치를 이용하여 여러개의 프로그램을 동시에 처리 ★시분할 시스템(Time Sharing System) 2세대 한 대의 컴퓨터를 동시에 여러 명의 사용자가 대화식으로 사용하는 방식으로 처리 속도가 매우 빨.. 2020. 2. 8.