Software Development(소프트웨어 개발) keywords

MisCaminos·2021년 5월 9일
0

Basic-IT-Knowledge

목록 보기
2/2
post-thumbnail

Topic: Software Development

구현단계

구현단계에서의 작업 절차:
1. 코딩 작업을 계획한다.
2. 코딩한다.
3. 컴파일한다.
4. 코드를 테스트한다.

Data 다루기

-Selection Sort
Selection Sort를 사용하여 오름차순으로 정렬한 경우 PASS결과 찾아내기:
(찾아봐야함 문제는 이기적. pg.5 22번)

시험용 모듈

-Stub:하향식 통합시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈
-Driver: 전체 프로그램의 일부인 클러스터는 독립적으로 실행할 수 없기 때문에 독립적인 실행을 위해서 임시적으로 사용하는 테스트 가동기이다.
-Procedure이나 Function은 서브 프로그램(모듈)으로 리턴(Return) 값이 없다.

검사(테스트)기법

블랙박스 테스트: 동등(균등) 분할, 경계값 테스트, 오류 예측, 원인결과 그래프, 비교 테스트
화이트박스 테스트: 기초 경로 테스트, 루프 테스트, 데이터 흐름 테스트, 조건 테스트

테스트 케이스에 일반적으로 포함되는 항목들:
-식별자
-일련번호
-테스트할 모듈 또는 기능
-입력값(테스트 데이터) 또는 테스트 조건
-테스트 케이스 실행 시 기대되는 출력값(예상 결과)
-환경 설정
-특수 절차
-테스트 케이스 간의 의존성

DRM의 기술 요소

DRM(디지털 저작원 관리)에 사용되는 요소:
암호화 기술, 암호화 파일 생성, 키 관리, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증, 인터페이스, 이벤트 보고, 사용 권한 (여기에 방화벽은 포함되어있지 않다)

HTML syntax

-toggle button: 두 가지 상태 사이에서 설정을 변경할수있다. aka 전환 버튼. 하나의 버튼 사용해서 두가지 option 선택가능 (e.g., on/off button)
-text box: text입력
-radio button: 여러개중 1개만 선택가능
-checkbox button: 여러개중 여러개 선택가능

자료구조

자료구조에 대한 설명:
-queue는 First-In-First-Out 수행
-stack은 Last-In-First_Out 수행
-stack은 sub routine(서브루틴)을 호출, interrupt(인터럽트) 처리, 수식 계산 및 수식 표기법에 응용된다.

선형 구조 vs. 비선형 구조:
-선형구조: stack, queue(큐), deque(데크), 선형리스트(linear list), 연결리스트(linked list)
-비선형구조: tree구조, graph

-그래프 구조 유형:
1. Tree: Node(노드)와 Branch(선분)으로 되어있고, 정점 사이에 Cycle이 형성되어있지않으며, 자료 사이의 관계성이 계층형식으로 나타나는 비선형 구조

  1. Network: 컴퓨터들이 그물망처럼 연결된 형태이다

  2. Stack: 데이터의 삽입과 삭제가 한쪽에서만 일어나는 자료 구조형이다
    Stack에 대해서:
    -입출력 한쪽 끝으로만 제한
    -LIFO 구조
    -더 이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 underflow(언더플로)가 발생한다
    -하나의 포인터(TOP)

  3. Distribute: 여러개의 컴퓨터 처리 능력을 이용하는 형태이다

  4. Queue: 2개의 포인트 (Head(front), Tail(rear))

검색

-Binary Search Algorithm:
검색 대상의 전체 자료를 이등분하면서 검색하는 방법이다.
탐색 효율이 좋고, 탐색 시간이 적게 소요된다. 단, 검색할 데이터가 정렬되어 있어야한다.
비교 횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어든다.

-Fibonacci Search:
피보나치 수열(0,1,1,2,3,5,8,13,21,...)을 이용한다.





-전위식, 후위식 연산:

-전위식(Prefix)을 후위식(Postfix)로 표현하는 방법:
'-/A+BCDE' --> 'ABC+D/E-'

software품질 목표:
1. Correctness(정확성): 사용자의 요구사항을 충족시키는 정도
2. Reliability(신뢰성): software 품질 목표 중 주어진 시간동안 주어진 기능을 오류없이 수행하는 정도
3. Integrity(무결성): 허용하지 않은 사용이나 자료의 변경을 제어하는 정도
4. Usability: 쉽게 배우고 사용할 수 있는 정도

-Reliability(신뢰성): software 품질 목표 중 주어진 시간 동안 주어진 기능을 오류없이 수행하는 정도
-Maintainability(유지보수성): software의 오류를 쉽게 수정할 수 있는 정도
-Visibility(가시성): 전체적인 흐름이 얼마나 잘 눈에 띄는 정도를 말한다. 가시성이 결핍되면 software의 계획, 분석, 개발, 테스트 등의 전체적인 흐름을 파악할 수 없게된다.
-Reusability(재사용성): software의 일부분을 다른 시스템에서 사용할 수 있는 정도를 의미한다.

software 설치 매뉴얼 구성 요소: 제품 software 개요, 설치 관련 파일, 설치 아이콘 설명, 프로그램 삭제 방법, 관련 추가 정보, 설치 버전 및 작성자 정보

software 형상관리 (configuration management):
-software에서 일어나는 수정이나 변경을 알아내고 제어하는 것을 의미한다.
-software 개발의 전체 비용을 줄이고, 개발과정의 여러 방해 요인이 최소화 되도록 보증하는것을 목적으로 한다.
-configuration(형상관리)의 기능 중 하나는 버전 제어 기술이다.

Chief programmer team이란?
개발자 팀 구성 방법 중 하나이다.
책임 프로그래머팀: 1인 독재 체제이다. 다수는 1인을 위해 보조 역할을 담당한다.
민주주의식팀: 다수 책임 체제이다. 개개인의 담당 분야가 독립적으로 존재한다.

형상 통제 위원회 (CCB - Configuration Control Board?)
형상 관리를 위한 조직으로 형상 항목의 변경을 수락 또는 거절하는 역할을 한다. 조직 구성원으로는 프로젝트 관리자, 형상 관리자, 품질 담당자, 기술 담당자 및 고객 측 담당자등이 있다.

profile
Learning to code and analyze data

0개의 댓글