본문 바로가기
728x90

분류 전체보기654

5. 설계 좋은 설계의 조건 - 요구 분석 명세서 내용을 설계서에 모두 포함 - 유지보수가 용이하도록 추적 가능토록 함 - 변화에 쉽게 적응 - 시스템 변경으로 인한 영향이 최소화되도록 국지적이어야 함 - 설계서는 읽기 쉽고, 이해하기 쉬워야함 설계는 상위 설계: 아키텍처,데이터,인터페이스 정의, 사용자 인터페이스 설계 하위 설계: 모듈 설계, 자료구조 설계, 알고리즘 설계 로 나뉨 상위설계(예비 설계) - 아키텍처 설계: 시스템의 전체적 구조 설계(여러개의 서브시스템으로 구분) - 데이터 설계: 시스템에 필요한 정보를 자료구조와 DB설계에 반영 - UI설계 하위 설계 - 각 모듈의 실제적인 내부를 알고리즘 형태로 표현 - 인터페이스에 대한 설명,자료구조,변수 등 상세한 정보 작성 설계 - 추상화: 주어진 문제에서.. 2023. 12. 17.
4. 요구 사항 분석 SW개발의 목적: 개발된 소프트웨어의 고객 만족 고객 만족을 위한 특성 - 적시성: 빠른 출시를 통한 시장 점유 - 유연성: 다양한 환경에서 적응성 - 통합: 기존 시스템과 쉬운 통합 고객 만족의 개발 조건 - 고품질 - 기간 준수 - 예산 준수 요구사항: 개발 범위에서 시스템이 제공해야 하는 기능 요구 분석 명세서: what에 초점(not how) SW 요구 사항 정의를 위해 사용자의 요구 사항을 조사하고 확인하는 과정은 SW 개발 생명주기의 첫 단계로 개발 성패의 열쇠가 됨 요구 분석의 여려움 - 의사 소통 문제 - 계속 변하는 요구 사항 - 요구 사항간의 충돌, 일관성 결여 및 불일치 발생 - 애매모호한 요구 사항 요구사항 분석가의 역할 - 요구를 정확하고 완전하게 획득하기 - 다양한 참여자를 만족.. 2023. 12. 17.
물리적 설계 더보기 논리적 스키마를 이용하여 효율적인 물리적 데이터베이스를 구성한다. 물리적 데이터베이스는: 저장 레코드의 형식, 저장 순서, 접근 경로, 물리적 저장 장치 할당 등에 대한 내역 파일 구성 데이터베이스는 여러 개의 파일로 저장되고, 파일은 여러개의 레코드를 저장, 레코드는 여러개의 필드로 구성된다. DB-파일-레코드-필드 레코드 표현 방법 1. 고정 길이 레코드 모든 레코드의 길이를 동일하게 한다. 구현이 용이하다. 이 때, i번째 레코드가 삭제되는 경우 - 아래 레코드를 한칸씩 위로 이동 - 마지막 레코드를 i번째로 이동 - Free list로 연결(파일 헤더에 첫번째 삭제 레코드 주소를 저장하고, 삭제된 레코드들을 연결 리스트로..) 등 방법으로 구현할 수 있다. 2. 가변 길이 레코드 한 파일에.. 2023. 12. 16.
클라우드컴퓨터 MySQL 계정 생성하고 사용하기 mysql -u root -p 입력하고 root로 로그인. SELECT User, Host FROM mysql.user; 로그인 후 이렇게 입력하면 생성된 계정들을 확인할 수 있다. 아래 명령어를 입력해서 새로운 사용자를 생성한다. 여기서 `new_user`는 새로운 사용자의 이름, `password_here`는 사용자의 비밀번호이다. CREATE USER 'new_user'@'%' IDENTIFIED BY 'password_here'; GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'%'; FLUSH PRIVILEGES; spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://{클라우.. 2023. 11. 10.
Processor Architecture MIPS (Microprocessor without Interlocked Pipeline Stages) logic design basics CPU 성능 요인: - 명령어 개수 (IC): ISA와 컴파일러에 따라 결정된다. - CPI, Cycle time: CPU 아키텍처에 따라 결정된다. 컴퓨터는 이진 시스템으로, 0은 낮은 전압을 나타내고, 1은 높은 전압을 나타낸다. 한 비트당 하나의 전선이 필요하다. (32비트 아키텍처라면 32개의 전선이 필요하다.) 조합 회로(Combinational element): 데이터 연산을 수행하며, 입력을 받아 출력을 생성한다. 순차 회로(State sequential elements): 데이터를 저장하며, 입력값과 이전에 저장된 상태를 사용하여 출력을 생성한다. 간단.. 2023. 10. 29.
목도리 이제 겨울이기도 하고 목이 따뜻한게 좋아서 새 목도리를 샀는데 새로산 목도리가 마음에 안들기도 하고 생각없이 반복노동 하는걸 하고싶어서 다이소 목도리짜기 뜨개질 세트를 샀다. 코바늘 천원, 실 천원. 큐알코드를 찍으면 유튜브 강의영상도 볼 수 있다.(안 사도 볼 수 있음) 이거 만들고 싶었다. 근데 내가 만들려고 했는데 엄마가 가르쳐준다고 하면서 갑자기 엄청 열심히 짜기 시작함 그래서 순풍산부인과 미달이의 방학숙제편처럼 나는 코파면서 티비보고 엄마가 짜줬다. 엄마가 이만큼 짜줌. 털실 만지작거리면서 노는 토끼도 있고 엄마는 목도리 짜고있고 이렇게 평화로운 상황은 너무 오랜만이라 기분이 이상했다. 초등학생때 이후로 엄마가 뭔가를 도와주는게 처음인것 같기도하고 초등학교 바느질숙제 했던 기억이 떠오르는것같기도하고 2023. 10. 29.
빵먹으면서 산책하기 집 앞에 메종드 빵이라는 빵집이 있는데 검증받은 제빵사가 만드는 빵이라고 돼있어서 아침에 운동 나가던 참에 들렀다. 빵 종류가 참 많았는데 직원분이 쟁반 위로 시식 빵들을 잘라서 주셨다 먹어봤는데 다 맛있었다 소금팥빵이라고 단팥빵에 소금을 뿌려서 달고 짠 빵도 맛있었고 메이플 크림치즈빵도 맛있었다. 근데 옆에 반질반질 윤택나는 소금빵이 너무 맛있어보여서 소금빵을 하나 샀다. 겉은 꽈작꽈작한데 버터의 단맛인지 설탕물을 바른건지 달달하고 소금이 살짝 짠맛을 내서 달고짜고 달고짜고 맛있는데 속은 부드럽고 쫄깃하고 살짝 따뜻해서 너무 맛있었다 두개 중에 하나만 먹고 하나는 누나 주려고 했는데 너무 맛있어서 두개 다 내가 먹어버렸다 두번째 소금빵은 10초만에 다 먹을정도로 너무 맛있었다 전날 사먹은 소금빵이 너무.. 2023. 10. 29.
Segmentation 영역 분할. 영역들을 찾기 위해서는 homogeneity(동질성), contrast(대비)를 이용한다. 하나의 영역인지 판단하는 기준 Gray level color texture shape perimeter 이미지 분할 기술 Region growing and shrinking: 영역 확장과 축소 Clustering methods: 군집화 Boundary detection: 경계선 감지 Region growing and shrinking 영역 확장과 축소 밝기(그레이레벨),색,무늬 , 특징정보 등의 동질성 판단 기준을 통해, 주변에 동질성 기준을 만족하는게 있으면 영역을 확장시킴. 초기에는 4영역으로 조각낸 후, 각 영역의 동질성을 계산한다. 기준을 만족하는 영역들은 합치고, 만족하지 않는 영역은 다시 4.. 2023. 10. 26.
5. Edge Detection 엣지 검출 엣지와 노이즈는 고주파. 고주파를 다루는 high-pass filter를 이용하면 된다. 엣지에 노이즈가 함께 추출되는것, 엣지의 굵기가 다양한것(scale의 차이) 등의 문제가 있다 엣지: 밝기가 크게 변하는 점 Roberts Operator 엣지검출을 위한 필터 1 0 0 -1 Gx 0 1 -1 0 Gy 방향성이 있다. 2x2크기로, 간단한 형태임. 바이너리 이미지에서 엣지 검출하기 좋음 검출시 Gx와 Gy를 각각 연산한 후 더해서 사용. 다양한 굵기(scale), 잡음이 포함됨. 노이즈 민감도가 큼(즉, 노이즈가 걸러지지 않음) 이는 필터가 너무 작기 때문임. 필터가 작으면 작은 엣지까지 검출하는데, 이 때 노이즈까지 검출된다 Sobel Operator 3x3크기의 필터. -1 0 1 2.. 2023. 10. 25.
4. Spatial Filters 공간 필터 1. Mean filter = linear filter = 선형 필터 = 평균 필터 이미지를 부드럽게 만듦 대비가 너무 높은 이미지는 부드럽게 처리할 필요가 있음. convolution 연산으로 처리함 3x3크기의 필터라면 각 칸에 1/9의 가중치씩 둠. 즉 필터에 해당하는 값들의 평균을 사용 필터를 크게 만들면 더 흐릿해지고, 커지는만큼 계산량도 많아짐. 2. Median Filter mean필터와 비슷하지만 비선형(nonlinear) 필터임 salt and pepper 노이즈를 제거하는 데 효과적이고, 이미지를 부드럽게 하는 효과도 있음 convolution연산을 하는것이 아니라, 필터에 해당하는 영역의 값들을 정렬한 후, 중앙값을 사용함 salt와 pepper는 극단적으로 높고 낮은 픽셀.. 2023. 10. 25.
3. 프로젝트 관리 Project management 프로젝트 목표를 효율적이고 효과적으로 달성하는 데 필요한 내적 환경 요소들을 준비하고 유지하는 활동 project management의 5단계 Initiation & conception(문제 정의) planning launch & execution monitoring & control project closure 1. Initiation & conception(문제 정의) 1-1) 비즈니스 니즈 및 목표, 개발 필요성 등 식별 개발의 첫 작업 무엇을 개발할 것인지 정의 개발 범위 결정 문제 정의를 위한 필요 사항: 배경지식, 운영 중인 시스템, 실무 담당자와 면담/자료수집 후 분석 1-2) 프로젝트 타당성에 대한 예비 조사 수행(feasibility analysis) 경.. 2023. 10. 23.
2. 소프트웨어 개발 생명 주기 Process 일이 처리되는 과정이나 공정 주어진 일을 해결하기 위한 목적으로, 그 순서가 정해져 수행되는 일련의 절차 소프트웨어를 정해진 기간동안 고객이 원하는 수준의 품질로 deliver하는 것이 목적 SW 프로세스의 3요소 소프트웨어 세부 작업들의 관계를 정의하는 절차와 방법 능력, 교육 및 동기가 부여된 인원 도구와 장비 소프트웨어 프로세스 모델 소프트웨어 개발 프로세스 프로세스: 작업(task)순서의 집합 + 제약 조건(일정, 예산, 자원)을 포함하는 일련의 활동 (좁은 의미: SW제품을 개발할 때 필요한 절차, 과정, 구조. 사용자의 요구사항을 SW시스템으로 구현하기 위한 일련의 활동) (넓은 의미: 절차,구조,방법, 도구, 참여자까지 모두 포함. SW개발 목적을 이루는데 필요한 통합적 수단).. 2023. 10. 23.
1. 소프트웨어 공학 소프트웨어 컴퓨터 프로그램 + 관련 문서들을 소프트웨어라고 한다. 소프트웨어 제품은 Generic market: 다양한 고객에게, 또는 Custom: 특정 고객에 특화된 것일 수 있다. 소프트웨어의 특징 - 보이지 않는다.(invisibility) - 고유한 복잡도는 줄어들 수 없다.(complexity) - 인풋과 타이밍이 불확실하다. - 새로운 것이 계속 생긴다.(changeability) - 100%자동화가 아님 - 소통이 요구된다. - 관리 이슈 발생 소프트웨어 엔지니어링은 효율적인 소프트웨어 생산의 복잡성의 모든 요소를 관리한다. 소프트웨어 프로그래밍 vs 소프트웨어 엔지니어링 소프트웨어 프로그래밍 - 혼자 개발 - 작은 사이즈 - 짧은 개발기간 - 개발에 포함되는 사항들(Architect = .. 2023. 10. 22.
기계 학습 기계학습 개념 선형 회귀: 데이터를 잘 표현하는 직선 한개를 찾아, 새로운 상황에 대한 예측을 가능하게 함 로지스틱 회귀: 배경지식을 토대로 분류 작업을 할 수 있음 선형 회귀(Linear Regression) 주어진 학습 데이터의 추이에 대해 가장 적합한 직선 방정식을 추론해내는 것 학습 데이터의 예 : 공부시간에 대한 시험성적 공부시간(x) 시험성적(t) 9 74 14 81 21 86 27 90 32 88 37 92 위 데이터를 보면 공부시간에 비례해서 시험성적도 증가하는 경향을 보임. 점들의 추이를 가장 잘 나타내는 직선(y=Wx+b)을 찾아서, 주어지지 않은 공부시간에 대한 시험 성적을 예상할 수 있음. 선형회귀는 주어진 학습 데이터의 추이에 대해 가장 적합한 직선 방정식을 추론해내는것. => 주.. 2023. 10. 21.
SQL: 모든 프로젝트에 참가하는 직원의 이름을 검색하라 데이터베이스 문제를 풀다가 "모든 프로젝트에 참가하는 직원의 이름을 검색하"는 SQL문을 작성해야했는데 쉽게 방법이 떠오르지가 않았다. 심지어는 답안을 봐도 단번에 이해하기가 힘들었다. 그래서 내 방식대로 이해는 했는데 기록을 안 해두면 까먹을것같아서... 이 글을 적어봄. 문제 다음 EMPLOYEE, PROJECT, WORKSON 테이블로 구성된 데이터베이스에서, "모든 프로젝트에 참가하는 직원의 이름을 검색하라."를 수행하기 위한 SQL문으로 옳은 것은? EMPLOYEE(eNo, eName) PROJECT(pNo,pName) WORKSON(eNo,pNo) 답 SELECT eName FROM EMPLOYEE e WHERE NOT EXISTS( SELECT * FROM PROJECT p WHERE NOT.. 2023. 10. 21.
6. ER 모델을 이용한 데이터 모델링 개념적 설계 : 특정 체계의 정보 요구사항을 구성하는 개체, 관계, 속성들을 인식 -> 도형화/명세화 한 것이 Entity Relationship Diagram 개념적 설계의 필요성 - 데이터 독립성 제공을위한 안정된 자료 구조의 창출. 특정 DBMS에 적합한 데이터모델로 변환 용이 ER모델과 관련 명세서를 통한 산출물의 이해도 증진 논리적 설계 개념적 스키마(ER 모델) -> DBMS의 논리적 스키마로 변환 개념적 설계 - 스키마의 표현력과 완전성을 추구 논리적 설계 - 논리적 모델이 제공하는 자료 구조와 제약사항을 효율적으로 이용 논리적 설계의 접근 방향 - ER 다이어그램을 단순한 ER 다이어그램으로 변환 - 단순한 ER 다이어그램을 DBMS의 논리적 모델로 변형 물리적 설계 논리적 스키마를 이용하.. 2023. 10. 21.
5. 데이터베이스 응용 개발 1. 사용자 인터페이스와 도구들 응용 프로그램: 사용자와 데이터베이스를 연결 Front-end: User Interface - forms and graphical user interfaces Report generators Data analysis tools 입력 폼(Forms) DB에 데이터를 입력하고 조회하는 목적으로 사용. - web 검색엔진 Form 개발을 위해 다양한 도구 활용이 가능. - Web Browser: HTML - Language API: Visual Basic, Visual C++, Java Swing 보고서 생성기 데이터베이스에서 사용자가 원하는 보고서를 용도에 맞게 생성하는 도구 2. 웹 인터페이스와 데이터베이스 웹 브라우저는 DB응용에 대한 de-facto standard(사실.. 2023. 10. 21.
Python summary 파이썬 기초 변수: 자료형을 명시할 필요 없음 a = 4 부동소수점 실수 123e2 #12300.0 123.456e-3 #0.123456 유효숫자e지수 형태로 적으면 된다. 출력 형식(format) 기본 방법 # 숫자를 문자열에 삽입하기 number = 42 formatted_string = "숫자는 {}입니다.".format(number) print(formatted_string) # 출력: 숫자는 42입니다. # 여러 개의 값을 삽입하기 name = "홍길동" age = 30 formatted_string = "이름은 {}, 나이는 {}세 입니다.".format(name, age) print(formatted_string) # 출력: 이름은 홍길동, 나이는 30세 입니다. .format(변수값)을 입.. 2023. 10. 18.
머신러닝 개요 Data Science 4차 산업 시대: 빅데이터, 인공지능 데이터 과학: 다양한 데이터로부터 지식과 인사이트를 추출하는 과학적 방법론. 프로세스,알고리즘,시스템을 통합하는 융합분야. -데이터 마이닝, 빅데이터 머신러닝: 기계에게 데이터를 학습시켜 규칙성을 찾아내 미래를 에측하거나 분류,인식하는 기술 - 인공지능, 딥러닝 빅데이터의 특징 3V 규모(Volume) 속도(Velocity) 다양성(Variety) +5V 신뢰성(Veracity) 가치(Value) 데이터 분석 방법(론) 기술 통계: 수집,축적한 데이터를 묘사,설명하는 통계 기법. 대표값 분석 - 평균,중앙값,최빈값/ 분산 분석 - 표준편차, 분산, 사분위값 추론 통계: 수집,축적한 데이터를 기반으로 일반적인 상황을 추론,예측하는 통계기법. - .. 2023. 10. 18.
3. Image Algebra 3. Image Algebra - Image Addition: Image Morphing(이미지 겹치기) Additive Noise(가법적 노이즈). 일반적으로 이미지에서 잡음을 빼려고 하는데 왜 더할까? 잡음을 없애려면 어떤 노이즈가 섞인것인지 알아야한다. 복원을 위한 모델을 만들기 위해서 가법적 노이즈를 사용한다. 더할때는 픽셀 바이 픽셀로 연산한다. -Image Subtraction: 이미지 뺄셈은 움직임 감지에 사용한다. 오리지날 이미지와 시간이 지난 후의 이미지를 가져와서 이미지 뺄셈을 하면, 바뀐 픽셀을 알 수 있다. 그런데, 예를들어 논밭에 자동차가 지나가는 것을 일정 간격으로 사진을 찍어 이미지 뺄셈을 했다고 하자. 이 경우에 이미지 뺄셈의 결과로 자동차만 두드러지게 나타났으면 좋겠지만 실.. 2023. 10. 17.
728x90