* CS/객체지향개발론

Inception Inception Phase 프로젝트 시작 전 거쳐야 하는 비교적 짧은 단계. high-level goal 찾기. 이 프로젝트의 비전과 비즈니스 사례는 무엇인가? Feasible? 가능할까? Buy and/or build? estimate of cost should we proceed or stop? Evision the product scope, vision and business case Inception 단계가 끝났을 때 : 이해당사자가 다음 비전에 대해 기본적인 합의를 하고 있는지? 프로젝트, 조사에 투자할 가치가 있는지? 를 판단해야 함. Artifact Functional requirement Non-functional requirement (technical constrai..

📌 Model 우리가 실제로 만들 수 있을지, 미리 만들어 판단해 보는것. 실체가 아닌, (reality)실체의 (simplification)단순화이다. 해당 abstraction level 의 essential aspects 를 캡쳐(capture)한것. model 은 하나하나 각자의 aspect 를 띄고 있다 (eg. 평면도, 정면도, 측면도) → 모두 합쳐져서 하나의 시스템이 된다. Visual Modeling standard graphical notation 을 사용한 모델링. Business Process Computer System 모델을 만드는 이유 우리가 개발하고 있는 시스템을 더 잘 이해할 수 있게 하기 위해. complex system 전체를 이해할 수 없기 때문에, 시스템의 모델을 구..

OO paradigm's three important concepts objects, classes, inheritance 📌 Objects object : 소프트웨어 시스템의 building blocks 이다. ①behavior + ②state + ③identity program : interacting object 의 collection 이다. object 는 message 를 보냄으로써 communicate 한다. 따라서 object 들의 cooperate 로 task 를 완수할 수 있다. things or concepts with crisp boundaries and meaning, 확실한 경계와 정의를 가진 개념 또는 실체. (identity) 관계, 타입이 밀접하여도 구분 가능해야 한다..

successful software product 의 조건 stakeholder(이해관계자)의 requirements(요구)를 satisfy, 만족해야한다. requirements 는 functional, non-functional 로 분류된다. functional 은 기능적인 부분, non-functional 은 퍼포먼스 부분을 뜻한다. 제시간에 (On time), 예산에 맞게 (On budget) 개발해야 한다. 변화(change)에 탄력이 있어야(resilient) 한다. → 요구 변화에 대한 탄력적인 수용이 필요하다. 📌 소프트웨어 크기가 커지면서 생긴 문제 : with development process Software systems were like cathedrals; first we bui..