728x90
반응형

분류 전체보기 1420

소프트웨어공학을 배웠다면 대답이 가능한 질문들

1. 소프트웨어 공학은 어떤 문제를 다루기 위한 것이고 구체적인 목표는 무엇인가? 2. 소프트웨어 개발 작업의 세가지 큰 영역은 무엇이고 각 작업의 목표는 무엇인가? 3. 개발 프로세스 단계별 결과 작업물이 무엇인지 아는가? 예를 들어 아키텍쳐 설계, 사용자 매뉴얼 초고, 비용 예측은 어느 단계의 결과물인가? 4. 소프트웨어의 유지 보수에 초점이 맞춰지는 이유는 무엇인가? 5. 소프트웨어 공학이 다른 공학(기계 공학, 토목 공학, 건축 공학 등) Physical Engineering 과 다른 점은 무엇인가? (엔지니어링 방법 측면에서) ///////////////////////////////////////////////////////////////////////////////////////////////..

소프트웨어공학(4) 개발자가 알아야 하는 지식체계(SWEBOK)

SWEBOK(Software Engineering Body Of Knowledge) 컴퓨터 학회인 IEEE(Institute of Electronics and Electrical Engineering) 산하의 소프트웨어 공학 표준위원회와 ACM(Association for Computing Machinery) 가 작업해서 만들어졌고 지금은 V 3.0 까지 나왔다. 다운받고 싶으면 링크로 들어가면 된다. https://www.computer.org/education/bodies-of-knowledge/software-engineering/v3 우선 11개의 주요 영역이 있다. 세부적인 것을 살펴볼 수는 없지만 겉핥기나마 해보자 ㅎㅎ 1. 소프트웨어 요구분석 사용자 요구의 추출, 분석, 검증, 관리 2. 소..

소프트웨어공학(3) 소프트웨어 개발 접근 방법(단계적 개발 프로세스)

개발을 하려면 어떤 순서로 하는지가 정말 중요한데 이 방법을 따르지 않으면 효율이 떨어지거나, 기간이 오래걸리거나, 품질이 낮아지는 경우가 발생한다. 4가지정도의 단계가 있다. 처음부터 살펴보자 1) 요구분석 소프트웨어 시스템이 풀어야 할 문제를 이해하기 위해서 하는 일 시스템이 어떻게 작동을 해야하느냐 보다는 시스템으로부터 무엇이 필요한가를 생각해보아야 한다. 요구분석단계의 목표는 소프트웨어 요구 명세서로 요구를 문서화 하는 일이다. 그 목표를 이루기 위해서 2가지 작업이 있는데 문제분석과 요구정리 2가지가 있다. 문제와 그 배경을 잘 이해하고 개발할 시스템의 요구를 찾아야 하고 문제를 분석한 뒤에는 요구를 문서로 정리한다. 이를 요구 명세서(requirement specification 이라고 부른다..

소프트웨어공학(2) 소프트웨어의 품질 결정 요소

소프트웨어는 비용, 일정, 품질과 같은 변수를 중요하게 여기는데 그 중에 품질 품질은 어떠한 요소가 결정하는지 알아보겠다. 사실 품질은 삼각 균형이라고 해서 기술, 인력, 프로세스가 결정한다. 그렇지만 소프트웨어가 완성된 자체를 따지자면, 다시말해서 국제표준(ISO 9126) 에 근거하여 소프트웨어의 품질에 대하여 말하자면 기능성, 신뢰성, 사용 용이성, 효율성, 유지 보수성, 이식성 까지 6 가지를 말할 수 있다. #기능성(functionality) 소프트웨어가 사용될 때 원래 정한 또는 내재된 요구를 만족시키는 기능을 제공하는 능력 요구를 다 시켜야 한다는 얘기다. #신뢰성(reliability) 소프트웨어가 정해진 수준의 성능을 유지할 수 있는 능력 사용자가 많아짐으로 프로그램이 견디지 못했다던가 ..

"제 삶도 언젠가 빛이 날까요?"벌새(House of Hummingbird) (2018) 후기, 스토리,명대사 [영화리뷰]

재개봉하는 영화 중 메기와 벌새 중 벌새가 더 귀여워서 보게 된 영화 벌새. #영화 줄거리 나는 이 세계가 궁금했다 1994년, 알 수 없는 거대한 세계와 마주한 14살 ‘은희’의 아주- 보편적이고 가장- 찬란한 기억의 이야기 라고 네이버 영화가 말한다. 스틸컷을 보면서 영화를 복기해보자 # 스틸컷 #명대사 김영지 어떻게 사는 것이 맞을까 어느날 알 것 같다가도 정말 모르겠어 다만 나쁜 일들이 닥치면서도 기쁜 일들이 함께 한다는 것 우리는 늘 누군가를 만나 무언가를 나눈다는 것 세상은 참 신기하고 아름답다 맞다. 세상은 알다가도 모르겠다. 모르는 일 투성이다. 그래서 아름다운 것일까. 하지만 혼자였다면 좀 쓸쓸했을 듯해. 나는 내 사람과는 나쁜 일들은 나누고 기쁜 일들은 함께 하며 살아가고 싶어. 상식만..

리뷰/영화 2020.04.06

베이컨 암호 (Bacon's Cipher) [컴퓨터보안]

아니 검색해도 베이컨 요리법만 나와서 글 쓴다. 베이컨 암호( Bacon’s cipher) 베이컨이 1605년에 고안한 것으로 문자를 숨기기 위한 암호다. 문자를 암호화 하기 위해서는 plaintext가 필요하다. plaintext에는 5비트 즉 2진코드인 a와 b로 이루어진 코드들이 알파벳 각각에 대응 되어있다. 또한 plaintext가 2가지 종류가 있는데 서로 같은 부분도 있고 다른 부분도 있다. 원리: 암호화를 하고자 한다면 이 암호에 대해 2가지 표현을 하는데, 대문자, 소문자 표현을 한다. a 가 대문자, b가 소문자를 뜻한다. 예를 들어 설명하자면 평문: password 베이컨 문: abbbaaaaaabaaabbaaabbabaaabbabbaaaaaaabb 암호문 : AsdfQWERTYvZXC..

알베르티 암호( Alberti's Cipher) [컴퓨터보안]

알베르티 암호 1467년 이탈리아에서 만들어진 알파벳 암호 다중 문자 치환을 이용한 암호다. 장치를 이용한 암호인데 공통 핀으로 고정된 2개의 디스크를 이용하는 암호 형식이며, 작은 원판은 평문을 위한 것, 큰 원판은 암호화를 위한 것이다. 디스크는 회전할 수 있다. 작은 부분이 움직일 수 있고 큰 원은 움직일 수 없다. 각 디스크의 칸수는 24개로 동일하다. 외부의 디스크에 있는 숫자는 값이 할당된 336개의 phrases를 포함한 코드북을 위한 것이다. 이는 코드 번호를 숨기는데 효과적인 방법인데 코드 번호를 다른 글자와 구별할 수 없기 때문에 그렇다. 알파벳의 치환은 암호문의 본문에 포함된 키 문자로 제어되는 것이다. 원리 우선 movable index를 정한다고 하자. 그 키 값을 k라고 하자. ..

Instruction & programmable CPU, CPU의 특징을 이용한 프로그램

https://www.youtube.com/watch?v=zltgXvg6r3k&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo&index=9 영상의 요약 및 정리 Instruction CPU는 programmable이라는 특징을 가지고 있다. 즉 여러가지로 CPU를 이용해먹을 수 있다는 것인데 이는 instruction으로 가능케한다. 여러가지 기능들 중에 Load, store, add, sub, jump, halt등이 있는데 이러한 instruction을 통해 여러가지 연산을 수행할 수 있다. 컴퓨터의 구조와 연관되는 내용이 많다. 소프트웨어는 하드웨어가 할 수 없는 일도 할 수 있게한다. 나눗셈은 하드웨어에 없지만 소프트웨어가 그것을 가능케했다. 그렇지만 더 많은 수행과 더 많..

CPU, Clock Speed 중앙처리장치 구조와 원리

https://www.youtube.com/watch?v=FZGugFqdr60&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo&index=8 영상의 요약 및 설명 영상.. 이번 것 조금 많네 CPU 프로세서에 관한 내용 ALU와 메모리를 합친 것이 CPU라고 했다. Cpu는 프로그램을 수행하는 일을 한다. Cpu는 read, write로 메모리와 상호작용을 한다. CPU와 RAM이 상호작용을 어떻게하냐면 Instruction address 레지스터에서 RAM에게 주소를 준다 그 주소에 있는 RAM의 데이터를 CPU의 instruntion 레지스터에 준다. 그 데이터를 Control unit이 decode(번역) 하고 해석하는데 대부분 opcode와 그 외로 해석을 한다. 어떠한 i..

컴퓨터 메모리의 원리 (REGISTER, RAM 레지스터와 램)

https://www.youtube.com/watch?v=fpnE6UAfbtU&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo&index=7 영상의 요약 및 정리 레지스터와 램 컴퓨터의 연산 결과를 저장을 해야한다. 그래서 메모리가 필요하다. RAM은 전원이 공급될 때만 저장가능 대표적인 메모리 메모리를 ALU와 합쳐서 CPU를 만든다. Loop back이라는 기능이 메모리의 저장원리를 알려준다 OR 을 생각해보면 A와 B에1과 0이 들어오면 출력은 0으로 가진다. 이 출력을 다시 B에다 연결하고 A에는 0을 준다면 loop가 생겨서 출력이 1로 유지된다. 그렇지만 0으로 바꿀 방법이 없다. 즉 1을 저장한다 마찬가지로 AND로 하면??? 0만 저장이 가능하다 다시말해서 0과 1을..

728x90
반응형