시스템 구현 단계는 설계 내용을 원시 코드로 설계 내용과 프로그램 작성 내용 일치 여부 검증 오류를 발견, 수정 용이 요구사항 변경, 기능 추가 원시 코드와 문서화 작성이 용이하도록
 
1. 프로그래밍 언어의 선택 기준
1)
친밀감이 있어야 한다
2)
프로그래밍 언어의 개념이 단순, 명료, 통일성을 가져야한다
3)
복잡한 연산이나 요구되는 연산 결과의 정확도를 고려해야 한다.
4)
구조적인 표현이 가능하고 검증이 쉬워야 한다
.
5)
적절한 자료구조, 연산, 자연스러운 구문 제공이 가능해야한다
.
6)
프로그래밍 지원 환경이 좋아야 한다
.
7)
기계에 대한 독립성이 있어서 이식성이 높아야한다
.
8)
프로그램의 길이가 짧은 언어가 좋다.
 
2. 구조적 프로그래밍의 개요
구조적 프로그래밍의 출현 배경
고전적인 소프트웨어 개발 문제점 해결
문제점
생산성과 신뢰성의 저하
유지보수, 확장성의 결여
시스템 관리 곤란
 
3. 구조적 프로그래밍의 배경 사상
1) GO TO
유해론
2)
프로그램의 기본 구조
순차처리 구조
IF THEN ELSE 구조
DO WHILE 구조 or DO UNTIL 구조
 



4. 구조적 코딩기법
구조적 코딩이란?
-
구조정리에 따라서 프로그래밍하는

- 3
개의 기본적인 제어구조를 조합한 구조로 표현한
- DO CASE, DO UNTIL,
순환(Recursion)기법 추가 사용
∙ CASE 구조
-
어떤 조건을 판별한 결과 3 이상의 처리로 나누어지는 경우에 적용되는 구조
-
입구도 하나, 출구도 하나다

 
DO CASE 흐름도를 유사코드로 표현하면
DO CASE entry-name
 CASE
조건1
 
처리
1
 CASE
조건
2
 
처리
2
 CASE
조건
3
 
처리
3
              :
              :
 CASE
조건
N
 
처리
N
END-CASE
    
DO UNTIL구조

       DO WHILE
구조        DO UNTIL 구조

* 모듈의 호출방법
   모듈을 호출하는 경우 GO TO 문을 사용하지 않는다.
   Call 명령이나 PERFORM 명령 등을 사용한다.


5 의사 코드와 흐름도와의 관계
구조적인 프로그램 작성
-
프로그램 명세서를 작성
-
명세서의 작성에는 의사코드를 많이 사용
-
구조적 프로그래밍 발전 흐름도 필요 없음
1) 문서화를 위한 관점
흐름도 : How』의 표현수단 우수, What 표현수단 부적합
의사코드 : What How 동시 표현 가능한 문서화 기법
프로그래머가 생각한 결과의 전달 수단으로 의사코드가 흐름도보다 우수

2) 주의력 집중을 위한 관점
흐름도 :
4
각형, 화살표, 마름모꼴, , 타원, 사다리꼴 등의 도형을 사용

도형을 배치항 위치, 크기 고려 생각 방해 요인
의사코드 :
문제의 논리적 해결에 주의력 집중 가능
3) 특정언어로의 변환이 쉬운 관점
의사코드 사용 제어구조 표현 규칙
제어구조를 표현하는 용어를 사용한다.
구조적 문장 표현과 문장 시작 위치를 일치 시킨다.

4) 다른 프로그래밍기법과 연결되는 관점
구조적 프로그래밍을 쉽게 하는 기법
구조화 설계
프로그램을 독립된 한개의 기능단위로 분할하여가는 기법
구조적 프로그래밍의 필수 불가결한
독립성이 높은 모듈구조로 설계하여가는 방법을, 지침으로 표시한
HIPO
 
6. 프로그램 설계
프로그램 작업의 유형
1)
자료 변환 프로그램
2)
분류(sort) 프로그램
3)
병합(merge) 프로그램
4)
분배(distribution) 프로그램
5)
대조(matching) 프로그램
6)
추출(extract) 프로그램
7)
갱신(update) 프로그램
8)
생성(generate) 프로그램
 
7 소프트웨어 생산성
소프트웨어의 생산성을 높이기 위한 방법
 1)
먼저 인적자원의 확보가 선행되어야 한다
 2)
여러 가지 업무를 개발한 경험자를 참여시킨다
 3)
적절한 인원으로 팀을 이루고, 조직 내에 갈등이 생기지 않도록 한다
 4)
개발자를 지리적으로 분산시키지 않는다
 5)
개발에 사용자 참여
 6)
고급언어 사용
 7)
구조적 개발 방법론 , 최신 기법 도입
 8)
개발 도구들을 도입하여 분석과 설계 프로그램 생성에 활용
 9)
재사용 가능한 모듈 활용, 모듈화 적극 추진
10)
프로토타이핑을 한다
11)
개발자들의 자질 향상을 위해 교육 훈련을 시킨다
12)
개발 환경을 개선한다
13)
진척 관리를 철저히 한다
14)
개발자 스스로가 생산성을 측정할 있도록 한다
15)
시험 방법을 선택해야 한다
생산성에 영향을 미치는 다른 요소
 1)
프로젝트의 크기
 2)
프로젝트 개발 경험
 3)
프로젝트가 복잡성
 4)
정보 처리 유형
 5)
개발 조직체의 규모
 6)
자원 일정
 7)
초과 근무 수당
 8)
현업과의 협조
 9)
경영자의 관심 정도
10)
대상 고객
11)
기존 소프트웨어 개선, 오류 정정, 새로운 시스템으로 변환하는 경우
정보 처리 유형
일괄 처리용
실시간용
과학 기술 계산용
시스템 소프트웨어
통신용
자동 제어용
멀티미디어용
인공지능용
ROM 내장용
데이터 베이스 응용 4세대 언어용

'UP! > Software Engineering' 카테고리의 다른 글

전사적 자원관리(Enterprise Resource Planning : ERP)  (0) 2008.08.21
공급망관리  (0) 2008.08.21
[CMMI] CMMI Project Status  (0) 2008.08.21
객체지향 분석과 설계  (0) 2008.08.21
문서화  (0) 2008.08.21
Posted by 으랏차
,