목록CS (6)
곽로그
개념 배열과 비교 링크드 리스트는 노드를 기반으로 한 선형자료구조이다. 자료구조 중에서 선형자료구조로 가장 많이 쓰이는 것은 배열일 것이다. 그러면 왜 배열을 사용하지 않고 링크드리스트를 쓰는걸까? 그 이유는 배열을 정의할 때의 코드를 보면 알 수 있다. 배열을 선언할 때(자바기준)는 크게 2가지 방법이있다. 첫번째는 배열을 선언한 다음 인덱스로 접근하여 초기화 하는 방법이 있고, int[] array1 = new int[5]; array1[0]=1; array1[1]=2; array1[3]=3; array1[4]=4; 두번째는 선언과 동시에 초기화를 하는 방법이다 int[] array2 = {1,2,3,4,5}; 이 두 방법의 공통점은 모두 사용할 배열의 공간을 미리 할당을 해야한다는 것이다. 이미 생..
개념 스택 구현 자바 라이브러리 알고리즘 풀때 주의해야하는 점 - 스택이 비어있는데 pop(), peek()을 하는 경우 inEmpty()로 확인 먼저할 것 스택으로 접근해야하는 문제 - 데이터의 in/out이 한방향으로 일어나는 경우
1. 개념 과거 유사경험을 바탕으로 회의를 통해 산정하는 비과학적인 기법이다. 전문가들의 회의를 통해 소프트웨어 개발 비용을 계산하는 것이다. 2. 전문가 판단기법 1) 개념: 경험이 많은 여러 전문가가 프로젝트를 수행하는데 비용이 어느 정도 들어가는지 평가한 금액을 개발 비용으로 산정 2) 문제점: 경험에만 의존할 경우 부정확할 수 있다. 3. 델파이 기법 1) 개념: 전문가 판단기법을 보완한 기법으로 조장자를 두어서 전문가들이 편견이나 분위기에 영향을 받지 않도록한다 2) 과정 ㄱ. 조정자는 전문가가 모여 비용 산정을 하는 회의에서 간사 역할을 한다 ㄴ. 전문가는 비용을 산정할 수 있는 자료를 충분히 검토하고 필요하다면 의견을 나눌 수 있다. ㄷ. 전문가 각자가 비용을 산정한다. 이때 계산된 결과를 ..
1. 개요 1) 계획 단계에서 하는 것: 문제정의, 타당성 분석, 소프트웨어 개발비용 산정, 일정계획, 위험분석 2) 목표: 목표하는 기간안에 목표하는 품질의 소프트웨어를 만들수 있도록 한정된 자원(돈, 시간 등)을 계획하는 것 2. 문제정의 현재상황과 구현될 시스템의 목표 및 제약조건들을 포함해 무엇을 개발할 것인지 명확히 정의하고, 개발 범위를 결정한다. 3. 타당성 분석 경제적 타당성(투자효율성, 시장성)과 기술적 타당성(기술적인 어려움은 없는지) 법적타당성(소유권문제)를 분석. 즉 개발하려고 하는 소프트웨어를 개발할 가치가 있는 것인지, 문제는 없는 것인지 따져보는 것 4. 개발비용 산정 1) 개발비용 산정의 어려움: 개발자 능력에 따라 소프트웨어 개발의 기간과 품질이 달라지므로 소프트웨어 개발은..
1. 소프트웨어의 정의 프로그램(코드)을 비롯해 개발 과정에서 생성되는 모든 산출물(자료구조, 데이터베이스구조, 테스트 결과 등)을 포함하고, 각 단계에서 만들어지는 문서와 사용자 매뉴얼 등도 포함한다. 2. 소프트웨어 분류 1) 관리 소프트웨어: 자료를 받아들여 가공한 후 정보를 제공하는 소프트웨어 (예: 인터넷뱅킹 시스템, 대학 종합정보시스템) 2) 제어 소프트웨어: 단순히 데이터베이스를 이용하여 자료를 처리해서 정보를 제공하는 형태가 아닌, 각종 센서를 이용하거나 기기들의 동작을 제어하는 소프트웨어(예: 교통신호 제어, 의료기기 제어, 공장장비 제어 소프트웨어) 3) 임베디드 소프트웨어: 장비나 기기에 내장된 형태의 소프트웨어 3. 소프트웨어 공학 1) 정의: 공학적인 원리를 적용하여 소프트웨어를 ..