본문 바로가기

소프트웨어공학10

[S/W] Process Spec.(Structured English, Pseudo Codes, N-S Chart) Process Spec. (Process Specification) DFD 상에서 Process로 표기된 부분을 상세히 묘사 Decision Table, Dicision Tree, Structured English, Pseudo Codes, N-S Chart 등을 통해 Process를 설명 ※ Leveled DFD에서 상위-Level Bubble들의 Process Spec은 생략함 - 최하위-Level Bubble들만 Process Spec이 존재 기법들 소개 1. Structured English / Pseudo Codes 각 Process의 구체적 기능을 Structured English / Pseudo Codes로 설명 Structured English의 장점 긴 문장에서 오는 모호성 탈피 읽기가 .. 2022. 12. 7.
[S/W] DFD(Data Flow Diagram) & DD(Data Dictionary) DFD(Data Flow Diagram, 자료 흐름도) - system이 수행할 기능을 나타낸다. - system의 Data보다 기능이 더 복잡하고 중요할 때 DFD가 필요하다. DFD 구성 요소 1. Process(프로세스) - Bubble 입력을 출력으로 변환하는 과정 단어, 간단한 문장으로 구성해야 한다. (수행기능, 수행 주체를 작성) 원(Bubble) 형태로 표현 2. Data Flow(데이터 흐름) 정보의 이동에 대해 표시 화살표로 표현 서로 다른 데이터 흐름에는 동일한 이름을 부여하지 않는다. 3. Data Store(자료 저장소) 정지된 자료의 집합 하드디스크에 저장된다. 위 아래에 두 개의 직선을 그어 표현, 그 안에 자료 저장소의 명칭 작성 Data Store의 필요성 - 메모리의 제한.. 2022. 11. 25.
[S/W] Programming 개발 방법론 & Diagrams Programming 개발 방법론 1. Top-Down Programming(하향식 프로그래밍) - 전체적인 구조부터 설계(자세한 프로그래밍 X) - 빈 Module (stub = 상위 프로그램이 호출했을 때 완벽한 기능을 임시로 흉내내는 가짜 모듈) - stub 들간 호출 Test(필요한 일부 Parameter들 정의, call과 return은 한 쌍) - 점차 하위 Module들을 구축함 - Interface 고려 - decomposition 기법(분해 기법)이 속함 문제점: 공통 Module 발견 곤란(부모가 여러개인 모듈), 대형 프로젝트 시 시간소요 증가 Interface Error는 상대적으로 적게 발생 2. Bottom-Up Programming 기법(상향식 프로그래밍) - 전체적인 구조부터.. 2022. 11. 18.
[S/W] Modular Programming과 복잡도 제어(Complexity Control) Modular Programming Modular Programming ⊆ Structured Programming - Divide-and-Conquer 이론: Module 화의 기본 (문제를 여러 개로 분해하여 해결한 후 풀린 부분 문제들을 거꾸로 조합하여 원래의 문제를 푸는 방식이다.) Module의 특징 1. 독립적으로 Test / 수행이 가능 2. 하나의 Entry(입구)와 하나의 Exit(출구)가 존재 3. 제어 구조를 가짐(순차구조, 선택구조, 반복구조) (Module화는 Program의 복잡도, 개발유지/보수 비용, Error 발생률을 제어해준다.) Modular Programming의 장점 1. Program을 이해하는데 용이 2. Test하는데 용이 3. 수정 / 보완에 용이 4. 유지 .. 2022. 11. 16.