[소프트웨어공학]System modeling
·
수업정리/소프트웨어공학
ch 5_System modeling System modeling 시스템의 추상 모델을 개발하는 프로세스로, 각 모델은 해당 시스템에 대한 다른 관점을 제시한다. 시스템 모델링은 일종의 그래픽 표기법을 사용하여 시스템을 나타냄 ⇒ UML(Unified Modeling Language)의 표기법 기반 시스템 모델링은 분석가가 시스템의 기능을 이해하는데 도움이 되며 모델은 고객과 소통하는데 사용된다. system perspective external perspective : 시스템의 context 또는 환경을 모델링 interaction perspective : 시스템과 환경 또는 시스템 구성 요소 간의 상호작용 structure perspective : 시스템의 조직 또는 처리하는 데이터의 구조 behab..
[소프트웨어공학]Agile
·
수업정리/소프트웨어공학
ch 3_Agile Agile Software Development 소프트웨어 개발 방법론의 하나로, 처음부터 끝까지 계획을 수립하고 개발하는 waterfall 방법과는 달리 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법 사양, 설계, 구현, 테스팅이 교차되고 개발 과정의 결과물은 소프트웨어 개발 과정에서 협상 과정을 거쳐 결정된다 디자인보다는 코드에 집중 계획 주도 개발: 소프트웨어 엔지니어링에 대한 계획 중심 접근 방식은 소프트웨어 개발에 대한 반복적인 접근 방식을 기반으로 함 변화를 수용하고 협업과 제품의 빠른 인도를 강조하는 반복적 개발 방법 작동하는 소프트웨어를 신속하게 제공하고 변화하는 요구 사항을 충족하여 신속하게 발전시키기 위함이다 기존의 개발 프로세스는 설계 기간이 길며 재작..
[소프트웨어공학] SoftWare Process
·
수업정리/소프트웨어공학
ch 2_SoftWare Process Software Process 개발에 필요한 구조화된 일련의 활동 소프트웨어 시스템 Specification(사양) : 시스템이 수행해야 하는 작업을 정의 Design and Inplementation(설계 및 구현) : 시스템의 조직을 정의하고 시스템을 구현 Validation(유효성 검사) : 고객의 요구대로 작동하는지 확인 Evolution : 변화하는 고객 요구에 대응하여 시스템 변경 software process description 프로세스를 설명하고 논의할 때 일반적으로 specifying data model, designing user interface 등의 활동과 순서에 대해 얘기한다 Products : 프로세스 활동의 결과 Roles : 관련된 사..
검색 알고리즘(이진탐색)
·
수업정리/알고리즘
검색 알고리즘 1. 선형검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행 2. 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행 3. 해시법 : 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행 - 체인법 : 같은 해시 값의 데이터를 선형 리스트로 연결하는 방법 - 오픈 주소법 : 데이터를 위한 해시 값이 충돌할 때 재해시하는 방법 검색 외에도 데이터 삽입 및 삭제 작업에서 소요되는 비용을 종합적으로 평가하여 알고리즘을 선택해야한다. 선택한 알고리즘의 용도나 목적, 실행속도, 자료구조 등을 고려하여 알고리즘을 선택 순차 탐색(sequential search) 검색 대상의 자료를 처음부터 하나씩 비교하여 검색한다. 검색 대상 자료가 순서적으로 정렬되어 있..
[자료구조] List 인터페이스
·
수업정리/자료구조
Collection 인터페이스 주요 메소드 List와 Set인터페이스의 많은 공통된 부분을 Collection 인터페이스에서 정의하고 두 인터페이스에서 상속받습니다. List List는 우리가 배열처럼 흔히 쓰는 순서(인덱스)를 가지는 원소들의 모임으로, 중복값을 가질 수 있는 자료구조 이다. 객체들을 삽입, 삭제, 검색할 수 있는 컨테이너 클래스이다. 배열의 길이 제한 단점을 극복할 수 있다. 삽입되는 객체의 수가 많아지면 자동으로 크기가 조절된다. 아이템을 List의 맨 마지막이나 중간에 삽입할 수 있다. List 맨 뒤에 객체 추가: 공간이 모자라면 자동 늘림 List 중간에 객체 삽입: 뒤에 존재하던 객체는 한칸씩 뒤로 이동. 임의의 위치에 있는 객체 삭제: 객체 삭제 후 한칸씩 앞으로 자동 이동..
Dead lock(교착상태)
·
수업정리/운영체제
자바 쓰레드를 공부하던 중에 교착상태에 관한 내용을 정리했습니다. 운영체제에서도 마찬가지로 프로세스 관리 차원에서 교착상태를 주의 해야한다는 내용이 있었습니다. Deadlock(교착상태) 두개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료하지 못하는 상태 한정된 자원을 얻지 못해 다음 처리를 진행하지 못하는 상태를 말한다. Deadlock 발생 조건 다음의 네가지 상황을 동시에 만족할 때 Deadlock 이 발생할 수 있다. 상호 배제(mutual exclusion) 하나의 공유자원에 대해 두개 이상의 프로세스가 동시에 접근 점유 대기(hold and wait) 하나의 자원을 점유하고 있는 프로세스가 있고, 해당 프로세스가 다른 프로세스에서 자원을 얻기 위..
[운영체제] Operating System이란?
·
수업정리/운영체제
Os의 역할 사용자가 응용 프로그램을 실행할 수 있는 기반 환경을 제공하여 컴퓨터를 편리하게 사용할 수 있도록 도와주고, 하드웨어를 효율적으로 사용할 수 있도록 다양한 기능을 제공하는 소프트웨어이다. 컴퓨터 자원을 관리하는 면에서 운영체제의 역할은 다음과 같다. 제어자(controller) 다른 프로그램이 작업을 할 수 있는 환경만 제공하는 컨트롤러의 역할을 한다. 자원 할당자 또는 관리자(resource allocator or administrator) 운영체제는 물리적인 자원(CPU, DRAM, Disk, Flash, Network)를 가상화 시켜서 더 공정하고 효율적으로 자원을 관리할 수 있도록 해주는 관리자 역할을 한다. 응용프로그램과 입출력장치 제어자 운영 체제는 제어 프로그램으로서 사용자 프로..
[OS]Process란?
·
수업정리/운영체제
Process란? 프로세스(Process)는 실행중에 있는 프로그램을 말한다. 스케줄링이 되는 대상이 되는 작업(task)와 같은 의미로 쓰인다. 프로세스 내부에는 최소 하나의 스레드(thread)를 가지고 있는데 실제로는 스레드 단위로 스케줄링을 하게 된다. Context Switch(문맥교환)을 통해 작업중인 프로세스에 할당한 CPU를 할당 / 회수 할 수 있다. 하드디스크에 있는 프로그램을 실행하면, 실행을 위해 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가게 된다. 이 순간부터 프로세스라 불린다. Process의 메모리 구조 code : 프로그램을 실행시키는 실행파일 내의 명령어들(소스코드) data : 전역변수, static 변수 stack : 지역변수, 함수, 반환 ..
okbear3
'수업정리' 카테고리의 글 목록