본문 바로가기

책 정리/프로그램 설계 방법론

(15)
3장 요점 정리 1. 양질의 프로그램을 개발하고자 한다면, 초기 단계의 고려가 완성 단계보다 큰 영향을 끼친다는것을 기억해라. 2. 프로그램어의 업무의 일부로 프로그램 작성을 시작하기 전에 준비물을 챙겨라 3. 올바른 문제를 찾고 컨스트럭션을 해라 4. 만일 요구 분석이 제대로 안되었다면 시간낭비이므로 시작전에 충분히 조사해라 5. 마일 아키텍처 설계가 제대로 완성되지 않았다면 컨스트럭션이 힘들게 되므로, 충분히 아키텍쳐를 짜라 6. 모든 준비물이 다 있는지 체크하고 필요조건이 완전히 다 파악되지 않았다면, 유동성 있는 구조에 바탕을 둔 컨스트럭션 방법을 택해라.
3.8 프로젝트에 필요조건 적용 이제 프로젝트에 필요조건들을 적용시켜보도록 하자.
3.7 필요 조건에 소요되는 시간 30% 이내에 요구분석까지 끝내놓지만, 일반적으로 요구 분석에서 수정되는 사례가 많으니, 이 요구 분석에서 시간이 많이 소요 될수 있다고 필자는 설명한다.
3.6 프로그램 작성 규약 잘 짜여진 프로그램은 1. 구조의 개념적 일치성 2. 그것의 구현 사이의 관계 뚜렷하게 보인다. 즉, 프로그램의 작성규약을 따라야 한다는것이다.
3.5 프로그램 언어 선택의 필요 조건 저자는 일반적 사례를 토대로 독자를 설득하고있다. 좋은 표기법은 불필요한 일들로부터 두뇌를 해방시킴으로써 좀더 고난도의 작업에 집중할수 있도록 해주고 현재 징행중인 일에 몰두할수 있게 하는 효과가 있다. 라고 말해주며, 언어학자들의 가정 중 언어의 표현력과 사고력은 비례하며, 언어로 표현할수 없는것은 그것을 구체화 할수도 없다 라고 말한다. 사례 파스칼로 새로운 시스템을 만들고 있었지만, 개발자들이 포트란에 경험이 있어 포트란식으로 파스칼을 사용하여, 프로그램을 짜는 비효율을 보여줬다. 언어의 특성들 1. 아이다 : 파스칼에 바탕을 둔 일반 목적의 고급 프로그램 언어이다. 2. 어셈블리어 : 기계에 명령에 1:1 대응되는 저급 언어 3. 베이직 : 뭐... 4. C : 최고. 5. C++ : .. 더 최..
지금까지 요약 첫째, 비유적 표현을 써서 머리속에 그림을 그려라 - 구축, 건물짓기와 어떤 도구를 쓸것인가? 라는 비유를 필자를 썻다. 둘째, 프로젝트 투입에 앞서 필요한 모든 시간을 관리자에게 할당 받아라 셋째, 올바른 문제점을 찾아라. - 이 과정에서 다른 문제점이 발견되었다면 다른 문제와 비교해보아라 - 이때는 문제만 찾는다. 오로지 문제만, 해결책 따위는 나중에 찾는다 오로지 문제만 찾는다. 넷째, 요구 조건을 분석하라 - 이때도 역시 요구조건을 분석하고, 다른 요구와 비교해 보아라 - 요구 분석이 매번 바뀐다면, 요구조건 자체를 제약을 걸어 특정시간에만 요구를 수렴해라 다섯째, 아키텍쳐를 짜라 - 각 구조간의 연관관계를 설명할수 있어야 한다. - 머리속에 모든 분류가 정리되어 있어야 한다.(기술될수 있어야 한..
3-4 아키텍처의 필요조건 소프트웨어 아키텍처란 소프트웨어 설계의 총괄적인 부분이면서 세부 사항을 포함하고 있는 틀이라고 필자는 정의한다. http://www.ibm.com/developerworks/kr/library/feb06/eeles/index.html (설명이 부족하여 링크를 첨부 한다, 우선 아키텍처란 구조이며, 이 구조는 다른 구조와의 연결이고, 이 관계이다, 소프트웨어 아키텍처란 각각의 시스템이고 이 시스템의 연결관계.. 뭐 구조이다.. 사실 정확하게 아키텍처에 대해서 정의하기 보다는, 세부 설계를 하기전 전체적인 틀이라고 생각된다.) 프로그램 구조 수천 개의 세목들이나 수 십 개의 모듈로부터 그림을 그린다면, 힘들지만, 이런것을 전체적인 틀을 만들고, 연관을 생각하며 그린다면 보다 편할것이다. (물론 .. 이것도 ..
3-3 요구분석의 필요조건 요구 분석은 문제 해결의 첫 번째 단계이고, 시스템 소프트웨어가 무엇을 요구하는지를 자세하게 설명하는 것이다. 왜 요구 분석을 정형화하는가? 1. 명확한 요구 분석은 명확한 프로그램을 만들수 있게 해주기 때문이다. 2. 논쟁을 피하는데 도움을 준다. (이 논쟁이 프로그래밍에 있어서 사소하다고 생각하면 나중에 상처입거나 입힐수 있다는 점이 떠오른다;;) 3. 요구 분석에 기울이면 개발을 시작한 이후에 시스템 수정을 최소화 하는데 도움을 준다. (이 부분도 막강하게 좋다, 초기 요구에 대해서 생각해두지 못하고 개발을 하게 되면, 나중에 요구가 생겼을때 힘들어지게 되었다.) 입증된 자료 대표적인 사례들을 예로 들며, 요구분석을 지나 아키텍처 단계에서 요구분석 에러가 발생되면 5배 정도의 비용 손해 코드 작성 ..