728x90
반응형

분류 전체보기 1420

프로젝트 계획 (1) [ 소프트웨어공학]

어떻게 해야하는지 청사진을 그려봤으니까 이제 자세하게 배워볼 차례다. 요구 분석의 전 단계인 계획부터 배워보자 계획을 세우는 것은 좋은데 왜 세워야하는지 알고 세우면 더 잘 세울 수 있겠지? 계획의 부재는 프로젝트의 불확실성 일정의 차질, 경비의 초과, 저품질, 높은 유지보수비용, Risk 프로젝트 실패를 초래한다. 그래서 소프트웨어 프로젝트의 계획을 세울 때는 개발 과정과 일정, 비용, 조직, 생산 제품에 대하여 계획을 해야하고 우리가 해결해야 할 문제가 무엇인지 이해하고 정의 해야한다. 즉 SW개발계획서를 도출해내기 위해서는 일정예측: 문제정의>>소작업 정의>> 우선순위 비용 예측: 필요 자원의 정리 및 계산 위험 분석: 위험 요소 판별 같은 일련의 과정을 수행해야한다. **SW개발계획서라는 것은 사..

Coursera 강의,Problem Solving, Python Programming, and Video Games 1주차

이 수업의 목표는 4가지이다. Understanding 1.computer science 2. problem solving or computational thinking 3. Python programming 4. create video game == > create software application Python을 통해서 우리가 배울 것은 1. lexics 2. syntax 3. semantics 4. namespaces 5. control structures 1주차 내용들 IT 용어적으로 설명하자면 네이버 사전이 그렇게 말한다. require 장치(unit)나 디바이스(device), 시스템 등이 어떤 목적을 달성하기 위하여 명령하거나 요구하는 것. 예를 들면 콘솔(console) 상의 특정한 키 ..

SerializeField의 개념 [Unity]

하도 사람들이 쓰긴 하는데 잘 모른다? 그치? 그래서 알아보자 유니티에서 변수를 선언할 때 public이나 private 같은 접근제한을 선언하고는 한다. ++ protected도 있긴 하다. 접근 제한자는 왼쪽 링크에서 따로 다뤄보자. 그리고 public을 썼을 때 인스펙터 창에서 접근할 수 있다. 또한 public으로 선언하면 다른 스크립트에서 접근가능하다. 그런데 왜 만들었냐면? 외부 스크립트에서 수정을 못하게, 참조할 필요도 없는 변수를 접근해서 쓸데 없는 상황을 만들지 않기 위해!!! 인스펙터에서 접근 가능하지만 외부 스크립트에서 접근이 불가능하게 막으려고 한다. 그래서 SerializeField를 쓴다. private 변수를 인스펙터에서 접근가능하게 해주는 기능으로 원하는 변수 앞에 [Seri..

방법론 개념과 특징 [소프트웨어공학]

프로세스들을 앞에서 배웠으니까 이제 어떻게 접근할까?? 라는 방법론에 대해 알아보자 방법론과 프로세스의 비교는 전에도 했지만 서로 다르다. 방법론은 소프트웨어 프로세스의 각 작업을 어떻게 수행하느냐? 라는 것을 알고 가자 방법론은 결국 프로세스를 어떻게 구현할 것이냐? 라고 볼 수 있다. ++ 프로세스는 각 단계의 입력 자료와 결과물을 제시하지만 그 내용이 어떻게 표현되어야 하는지는 규정하지 않았다. 바로 방법론에 따라 다르게 표현하는 것이다. 그렇다면 방법론이 뭐가 있는지 보자 1. 구조적 방법론 복잡한 문제를 쉽게 다루기 위하여 분할과 정복( divide and conquer)원리를 적용한다. 맨 처음에는 시스템 전체를 하나의 프로세스로 보고 최상위 레벨의 자료흐름도 (DFD,data flow dia..

지원 프로세스 개념과 특징 [소프트웨어공학]

앞에서는 개발 프로세스에 관한 글이었다면 이제는 개발을 도와주는 프로세스인 지원 프로세스에 대해 알아보겠다. 지원 프로세스는 개발을 도와주는 프로세스로 프로젝트 관리 프로세스 형상 관리 프로세스 품질 관리 프로세스 프로세스 관리 프로세스 등이 있다. (이 외에도 있다) 이런 작업들은 개발을 하면서 꾸준히 필요한 프로세스다. *지원 프로세스를 우리는 우산(umbrella) 프로세스라고도 부른다. 관리 프로세스들을 알아보자면 비용을 낮추고 품질을 높이고 프로젝트를 관리하는 데 필요한 모든 작업 (ex 모니터링, 자원 할당 등) 관리 프로세스의 작업은 크게 3가지 단계가 있다. 계획, 모니터링 및 제어, 분석 3가지가 있다. 계획 단계에서는 비용, 일정 예측, 중간 점검에 대한 결정을 하고 이 계획을 바탕으로..

개발프로세스 모델 별 특징 [소프트웨어공학]

이전 글에서 설명했다시피 차례대로 개발프로세스의 특징을 소개해보려고 한다. 1. 폭포수(water fall) 모델 보는 것과 같이 위에서 아래로 물이 흐르는 듯한 모양을 가지고 있다. 특징으로는 각 단계가 다음 단계 시작 전에 끝나야함 각 단계 사이에 중복이나 상호작용이 없다. 각 단계의 결과는 다음 단계의 시작 전에 점검한다. 결과가 만족되지 않으면 바로 전 단계로 돌아가 다시 수행한다. 각 단계가 순차적이라 직능 중심의 프로젝트 조직화가 가능하다 (pipeline) ex) 요구 분석팀, 구현팀 등등 이 모델은 단순하거나 응용 분야를 잘 알고 있는 경우 적합하다. 모델 자체가 단순해서 비전문가도 개발과정을 이해하기 쉽다. 즉 요구사항이 명확하고 변경이 거의 없는 경우에 활용한다. 크고 복잡한 오래 지속..

프로세스와 프로세스 모델 [소프트웨어 공학]

우리가 컴퓨터를 이용하는 모든 이유는 문제해결이다. 프로세스란 어떤 일을 하기 위한 특별한 방법으로 일반적으로 단계나 작업으로 구성된 것을 의미한다. 즉 소프트웨어를 개발하는 과정, 작업 순서를 말한다. 이는 순서 제약이 있는 소프트웨어의 특징이기도 하고 높은 품질과 생산성을 위해서는 프로세스를 지켜야 한다고 볼 수 있다. *프로세스가 없는 개발은 즉흥적 개발로 단순하지만 비생산적인 개발이 될 것이다. 요구 분석을 하지 않아서 생기는 비효율성이 발생할 것이고 즉흥적인 개발로는 소프트웨어의 구조가 나빠질 것이다. 또한 계획이 없으니 작업의 목표가 없어서 프로그래밍을 잘했는지 비교대상도 없으며 비용과 일정을 예측할 수 없다. 프로세스랑 방법론을 착각하는 경우가 많은데 비슷하면서도 다르다. 전에도 말했다시피 ..

암호에 관련된 상식들 [컴퓨터보안]

어차피 나도 몰랐지만 이쪽 세상에서는 상식들로 알고있는 것들을 몇가지 소개해보겠다. 1. 비밀 암호 알고리즘을 사용하지 말것 비밀 암호 알고리즘을 만들어서 사용할 것이 아니라, 공개되어 있는 강한 암호 알고리즘을 사용해야한다. 공개를 해서 여러가지 테스트를 거쳐야 한다. 여러가지 테스트를 거치지 않으면 강한 암호 알고리즘이라고 생각되지 않는다. 전문가가 볼 때 위험하고, 어리석은 행위로 간주한다고 한다. 숨기는 것에 의한 보안(security by obscurity) 암호 알고리즘 자체를 비밀로 해서 보안을 유지하려고 하는 행위 또한 어리석고 위험한 행동으로 간주한다. 2. 약한 암호는 암호화 하지 않는 것보다 위험 // ㅋㅋ 군대나 공공기관의 비밀번호같이? 사용자는 암호의 강도와는 상관없이 "암호화"되..

스테가노그래피(steganography) 무료 오픈 소스+ [컴퓨터보안]

크립토그래피(cryptography) 메세지의 내용을 읽지 못하게 하는 기법 스테가노그래피(steganography) -메세지의 내용을 읽지 못하게 하는 것이 아니라 메세지의 존재 자체를 숨기는 기법 -메세지를 숨겨 넣는 방법을 알게 되면 메세지의 내용은 금방 해독가능 2개를 혼동하지 말자. 서로 다르다. 문서에 기록된 인류의 첫 스테가노그래피는 그리스 역사가 헤로도토스(Herodotus)가 쓴 에 등장한다. 기원전 440년, 그리스 왕 히스티아에우스(Histiaeus)는 다른 나라의 인질로 붙잡힌다. 양아들에게 밀서를 보낼 방법을 고민하던 히스티아에우스는 노예의 머리를 깎고 두피에 비밀 메시지를 문신으로 새겨넣었다. 머리가 자라자 문신은 보이지 않았고 노예를 양아들에게 보냈다. 양아들은 노예의 머리를 ..

논리적 추론, 논리연산자,진리표 [이산수학]

논리적 추론이란 것을 알기 위해서는 용어부터 알아야 하지 않겠어? 정의(definition) 용어의 뜻을 명확히 하기 위해서 사용되는 것 *무정의 정의: 정의하지 않고 사용할 수 있는 일반적인 용어 문장(statement) 무정의 용어와 정의된 용어를 사용하여 만듦 명제(proposition) = prop 참이나 거짓 중 단 하나만 갖는 문장을 말한다. ** 대문자 P,Q,R로 많이 표현되고는 한다. 명제를 배우면 파생되는 용어들이 있지 진리값(truth value) 참과 거짓을 명제의 진리값이라 한다. **각각 T(또는 1), F(또는 0) 으로 표시한다 명제 변수(propositional variable) 진리값이 아직 밝혀지지 않은 임의의 명제 위에 것은 수학이랑 좀 달라보이는 감이 없잖아 있다. ..

728x90
반응형