컴퓨터 공부 ver 0.1/소프트웨어 공학
-
설계에 관한 자료입니다.컴퓨터 공부 ver 0.1/소프트웨어 공학 2013. 10. 9. 13:59
이거 역시 회사에서 했던 세미나 정리한 자료입니다. 이거 역시 이렇게 공유해되 되려나? 1. 객체지향 모델링 개요- Why don’t software Teams Model?n 혼자 하는 작은 프로젝트 할 때는 바로 코딩 하는 게 쉽다. 그러나 그 규모가 커진다면? 재작성 해야 하는 경우가 빈번하게 생긴다. à 그래서 모델링 하는 것이 좋다.n Agile은 설계서가 없는 것이 아니다. 1. 의사소통이 빠른 것이다. à 문서가 편하면 문서를 사용해야 한다. - Software Quality Attributesn 기능성1. end user: 기능성, 사용성에 관심이 많다.2. Customer(발주자): 기능성, 신뢰성, 사용성, 효율성에 관심이 많다.3. Company: 기능성, 사용성, 효율성, 이식성에 관..
-
요구공학의 이해컴퓨터 공부 ver 0.1/소프트웨어 공학 2013. 10. 9. 13:51
회사 내에서 해준 세미나 자료입니다. 발표자료는 아무래도 공유할 수 없을 것 같아서, 제가 정리한 자료만 올려 놓습니다. 이래도 되려나? 요구사항 개요- 성공적인 SW 개발이란n 정해진 시간과 비용 내에서 고객의 실제 요구사항을 만족시키는 품질의 제품을 제공하는 것n 위의 정의는 우리에게 불행1. 시간이라는 부분이 타이트 해진다.2. 고객이 요구하는 비용이 낮아진다. à 과다경쟁으로 인해 비용을 절감(이 말은 인권비를 줄인다.)3. 그러나 품질에 대한 요구사항은 더 복잡해진다. 결국 이러한 문제점들은 시간이 흘러 사업을 하면 할수록 손해를 보는 상황이 만들어질 수도 있게 된다.n 그래서 나온 것이 재사용을 높이고, 재작업을 줄이는 CBD라는 개발 방법론이 나오게 되었다.n 요구사항이란1. 우선 소프트웨어..
-
Requirement컴퓨터 공부 ver 0.1/소프트웨어 공학 2011. 7. 20. 15:24
흠..공부도 안되고, 오랜만에 소공 정리합니다. 오늘은 Requirement 입니다. 중요하면서도 어려운 일이라더군요. 수업 중에도 Requirement에 관한 얘기가 많이 나왔습니다. 아마 앞으로도 종종 반복적으로 나올 겁니다. 아마도? 1. Needs A. 사용자가 원하는 것(시스템 요구사항일 수도 있고, 아닐 수도 있다.) B. 내(사용자)가 필요한 것은 무엇이다. 여기서 무엇을 의미한다. C. Needs에서 Requirement 를 끌어내야 한다. 2. Requirement A. 회의, 인터뷰, 문서를 통해 Needs로부터 끌어낸다. B. C. Requirement 파악 i. 전체적인 Context에 대한 Framework ii. 이해 당사자를 파악해야 한다. 1. 이해 당사자의 만족을 채우는 것..
-
보충 자료 같은 겁니다.(패러다임, 메모리 세그먼트, 모델, 분석모델, UML)컴퓨터 공부 ver 0.1/소프트웨어 공학 2011. 5. 6. 15:01
아래는 보충 자료라 볼 수 있는데 바로 위에 있는 Unified Process(링크 걸어 놓기)를 이해하는데 참고할 만한 자료이다. 1. 패러다임 A. 패러다임: 사람이 생각을 만들고, 생각이 패러다임이 되고, 패러다임이 사람의 생각을 만들고, 그 사람의 생각이 사람을 만들고, 어떤 생각을 따르는지가 사람의 길을 만든다. 위의 말이 이해가 안 되시는 분을 위해 만들었답니다. 2. 분석 모델: 현실을 그대로 옮긴다. A. 메시지를 받는 건 “너를 어떻게 변형시켜라.” 이를 객체와 메시지로 정의할 수 있으면 된다. 3. 메모리 세그먼트(Segment:구분) 언어 A. 데이터 세그먼트: “존재”의 의미를 갖는다. 코드 세그먼트: “행위”를 의미한다. B. 명사 à 클래스를 쓰면 객체를 의미한다. 동사 à 클래..
-
Unified Process컴퓨터 공부 ver 0.1/소프트웨어 공학 2011. 5. 1. 20:21
흠....정말 오랫만에 업데이트 한다. 최대한 꾸준히 하려는데 모태 게으름이 작동했네. 이러지 말아야지. Unified Process 1. 마인드 맵 2. 내용 정리 A. Unified Process(꼭 외워야 하는 표입니다.) 시험에 두 번이나 나왔거든요. 전 아직도 안 외워진답니다. 머리가 나쁜 거죠. i. 시간을 나눈 이유 1. 목표가 있기 때문입니다. à 목표를 위해서는 계획이 있어야 합니다. 2. 시간을 나눈 때는 계획이 있어야 합니다. 그러기 위해서는 “뚜렷한 목표”가 있어야 합니다. ii. 시간의 흐름의 단계(본격적으로 표에 대한 설명입니다.) 1. Inception(개념정립) A. [R -> A -> D -> I]의 과정을 반복: 몇 번을 반복하는지는 프로그램 개발 과정에 따라 그 횟수를 ..
-
프로그램과 프로그램 개발컴퓨터 공부 ver 0.1/소프트웨어 공학 2010. 12. 10. 16:35
1. 마인드 맵 A. 프로그램 B. 프로그램 개발 2. 내용 정리 A. 프로그램(Program) i. 정의: 예정된 일의 순서의 집합 / 시간적 작업의 순서 1. 계획서, 작업 지침서 2. 컴퓨터가 해야 할 일의 지침서 ii. Process: 프로그램보다는 더 정형화 됨, 더 크다. 1. 처음 Process를 도입: 군인 à 군인을 부품화 A. 모든 것을 지침서 안에서 정형화된 행동을 하도록 함 B. 정형화된 조직 à Process 성숙도 Level 3의 조직임 2. 업무의 집합 3. 어떻게(How), 언제(Sequence) 하느냐 4. 초기 Process 모델 à 단계가 정해져 있음 B. 프로그램 개발 i. Processing을 두 개로 나눈다. 1. 독립적 / 구체적 기능 A. 기능(Input à O..
-
소프트웨어 개발 프로세스컴퓨터 공부 ver 0.1/소프트웨어 공학 2010. 12. 10. 15:52
1. 소프트웨어 개발 프로세스에 관한 마인드 맵 2. 소프트웨어 개발 프로세스에 관한 내용 A. 소프트웨어 개발 프로세스의 등장 배경(두둥~!!) i. 산업 혁명 때와는 다르게 대량 생산이 필요 없다. ii. 초기 소프트웨어 개발에서는 대량 생산 프로세스를 적용 à 그런데 실패를 한다. 1. 대표적 초기 프로세스 모델: Waterfall Model(폭포수) 2. 사람이 작업하기 때문에 기계와 같지 않아 정밀하지 못함. iii. 처음 개발이 어렵다. iv. 인간의 업무를 체계화 시키는 것으로 바뀜 à 소프트웨어 개발 프로세스를 인간의 인지적 프로세스라 여김 v. 엔지니어는 있는 그대로를 정확하게 전달해야 한다. vi. 인간의 인지 심리를 파악하면 단서를 발견할 수 있다. (인지 심리에 대한 자료는 다음에 ..
-
소프트웨어 공학하다가 왠 [공부, 보고서 쓰는 법]이라 하시겠지만 어쨌든 공부, 정리기술 중요하지컴퓨터 공부 ver 0.1/소프트웨어 공학 2010. 11. 10. 18:44
교수님이 그러시더군요. 소프트웨어 공학도 사람이 소프트웨어 개발 과정에 대한 공부하게 된 이유의 결과물이라고 해야하나? 그리고 정확한 요구사항을 정의 하려면 그만큼 정리의 기술도 필요한 것이라며 알려주셨던 것 같은데..... 글 다시보니 한동안 잊었던 공부의 이유를 다시 찾지는 않았지만 어쨌든 공부합시다!! 그러다보면 알게 되겠지.. 1. 공부(학습): 다른 사람의 생각을 복사하는 것 - 공부를 하는 이유 1) 예측하기 위해서 -> 생존 확률을 높일 수 있다. 2) 지식을 얻음 - 생각의 정리 -> 현실을 머리 속에 정리 -> 다시 써 먹을 수 있는 형태로(재사용의 형태) - 인간: 다른 동물과 다르게 지식(생각)을 통해 살아 남는다. 1) 이는 예측을 통해 위험률을 낮추는 것이다. - 학습의 방법은 다..