728x90
반응형

CS/CS 9

[2장] 데이터 입출력 구현

※ DBMS : 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어이다. [DBMS의 필수 기능 3가지] 기능 설명 정의(Definition) 기능 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능 조작(Manipulation) 기능 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능 제어(Control) 기능 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능 ※ 스키마 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것 종 류 내 용 외부 스키마 - 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것 개념 스키마 - 데이터베이스의 전체적인..

CS/CS 2023.07.17

[1장] 요구사항 확인

※ 소프트웨어 생명주기 : 소프트웨어를 개발하기 위한 과정을 각 단계로 나눈 것 ※ 나선형 모형 : 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 개발하는 모형을 보헴이 개발 1. 계획 수립 2. 위험 분석 3. 개발 및 검증 4. 고객 평가 ※ 폭포수 모형 : 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다. ※ 애자일 모형 : 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형이다. [대표적인 개발 모형] 스크럼 XP 칸반, Lean, 기능 중심 개발(FDD ; Feature Driven Development) ※ 애자일 개발 4가지 핵심 가치 프로세스와 도구보다..

CS/CS 2023.07.17

[4장] 서버 프로그램 구현

※ 모듈화 : 시스템의 기능들을 모듈 단위로 나누는 것 - 모듈화는 모듈 간 결합도의 초소화와 응집도를 최대화 하는 것이 목표 ※ 추상화 : 전체적이고 포괄적인 개념을 설계한 후 구체화시켜 나가는 것 유형 내용 괴정 추상화 자세한 수행 과정을 정의하지 않고, 전반적인 흐름만 파악할 수 있게 설계하는 방법 자료 추상화 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표할 수 있는 표현으로 대체하는 방법 제어 추상화 이벤트 발생의 정확한 절차나 방법을 정의하지 않고, 대표할 수 있는 표현으로 대체하는 방법 ※ 정보 은닉 : 한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법 ※ 아키텍처 패턴 : 아키텍처를 설계할 때 참조할 수 있는 전..

CS/CS 2023.07.16

[5, 6장] 인터페이스 구현 / 화면 설계

※ 요구사항 검증 방법 1. 요구사항 검토 계획 수립 2. 검토 및 오류 수정 3. 베이스라인 설정 동료검토 워크 스루 : 명세서를 미리 배포하여 사전 검토 인스펙션 : 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견 프로토타이핑 : 소프트웨어 견본품으로 예측 ※ 인터페이스 요구사항 검증의 주요 항목 완전성 일관성 명확성 기능성 검증 가능성 추적 가능성 변경 용이성 ※ 미들웨어 [Middleware] : 운영체제와 응용 프로그램 또는 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 소프트웨어 DB RPC [Remote Procedure Call] MOM [Message Oriented Middleware, 메시지 지향 미들웨어] TP-Monitor [Transaction..

CS/CS 2023.07.16

[12장] 제품 소프트웨어 패키징

※ 소프트웨어 패키징 : 모듈별로 배포용 설치 파일을 만드는 것을 말하며 사용자 중심으로 진행한다. 기능 식별 → 모듈화 → 빌드 진행 → 사용자 환경 분석 → 패키징 및 적용 시험 → 패키징 변경 개선 → 배표 ※ 릴리즈 노트 작성 항목 Header : 릴리즈 이름, 소프트웨어 이름, 버전, 날짜 등 개요 : 소프트웨어 및 변경사항 전체에 대한 간략한 내용 목적 : 해당 릴리즈 버전에서의 새로운 기능이나 수정된 기능의 목록과 릴리즈 노트의 목적에 대한 간략한 개요 문제 요약 : 수정된 버그에 대한 간략한 설명 또는 릴리즈 추가 항목에 대한 요약 재현 항목 : 버그 발견에 대한 과정 설명 수정/개선 내용 : 버그를 수정/개선한 내용을 간단히 설명 사용자 영향도 SW 지원 영향도 노트 면책 조항 연락처 ※..

CS/CS 2023.07.16

[11장] 응용 SW 기초 기술 활용 (2)

※ IP : 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소 IPv4 8비트씩 4부분, 총 32비트 네트워크 부분의 길이에 따라 A 클래스에서 E 클래스까지 총 5단계로 구성 IPv6 16비트씩 8부분, 총 128비트 각 부분을 16진수로 표현하고, 콜론으로 구분 유니캐스트 (Unicast) : 1대1 통신 멀티캐스트 (Multicast) : 1대다 통신 애니캐스트 (Anicast) : 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신 ※ 서브넷팅 : 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것 ※ 도메인 네임 : 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것, 이러한 시스템을 DNS(Domain Name System)라고 함 ※ O..

CS/CS 2023.07.16

[11장] 응용 SW 기초 기술 활용 (1)

※ 운영체제 : 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 ※ 운영체제의 목적 처리 능력 (Throughput) 반환 시간 (Turn Around Time) 사용 가능도 (Availability) 신뢰도 (Reliability) ※ UNIX : AT&T 벨(Bell) 연구소, MIT General Electric이 공동 개발한 운영체제 시분할 시스템(Time Sharing System) 트리(Tree) 구조의 파일 시스템 ※ UNIX 시스템 구성 커널(Kernel) UNIX의 가장 핵심적인 부분으로 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할 담당 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리,..

CS/CS 2023.07.16

[9장] 소프트웨어 개발 보안 구축

※ Secure SDLC : SDLC에 보안 강화를 위한 프로세스를 포함한 것을 의미 ※ 소프트웨어 개발 보안 요소 기밀성 : 인가된 사용자만 접근이 허용 무결성 : 인가된 사용자만 수정 가능 가용성 : 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용할 수 있다. 인증 부인 방지 : 데이터를 송수신한 자가 송수신 사실을 부인할 수 없도록 송수신 증거를 제공 ※ 시큐어 코딩 : 시큐어 코딩(Secure Coding)은 구현 단계에서 발생할 수 있는 보안 취약점들을 최소화하기 위해 보안 요소들을 고려하며 코딩하는 것 ※ SQL 삽입 : SQL 삽입(Injection)은 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약..

CS/CS 2023.07.16

[7장] 애플리케이션 테스트 관리

※ 애플리케이션 테스트의 기본 원리 파레토 법칙 : 애플리케이션의 20% 코드에서 80% 결함이 발견 살충제 패러독스 : 동일한 TC로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상 오류-부재의 궤변 : 소프트웨어의 결함이 모두 제거되었어도 사용자 요구사항을 충족시키지 못하면 소프트웨어 품질이 높다고 평가할 수 없음 ※ 프로그램 실행 여부에 따른 테스트 정적 테스트 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트 코딩 표준, 코딩 스타일, 코드 복잡도, 남은 결함 등을 발견하기 위함 종류 : 워크 스루, 인스펙션, 코드 검사 등 동적 테스트 프로그램을 실행하여 오류를 찾는 테스트 소프트웨어 개발의 모든 단계에서 테스트 수행 종류 : 블랙박스 테스트, 화이트박스 테스트..

CS/CS 2023.07.16
728x90
반응형