Chapter 11: 소프트웨어 개발 프로그래밍 및 언어

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
제 11 장 프로그래밍 언어. 2/24 목차 1. 프로그래밍 언어 2. 주요 프로그래밍 언어 3. 제 4 세대 언어 4. 객체지향 언어 5. UNIX/Linux 기반 언어들 6. 닷넷 기반 언어 제 11 장 프로그래밍 언어.
Introduction to Programming Languages What is Programming Language?
천안천일고등학교 Copyright © by Ryu Bin All rights reserved 프로그래밍 실무.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
컴퓨터와 인터넷.
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
(1.1 v) 엔트리교육연구소 엔트리 카드게임 설명서.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
1. 컴파일러 개론 1-1. Compiler 정의 1-2. Language Processing System
Introduction To Computers
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
Power Java 제2장 자바 개발 도구.
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
이것이 C 언어다. IT응용시스템공학과 김 형 진 교수.
컴퓨터 기본 원리 프로그래밍 언어 C 프로그래밍 환경 C 프로그래밍 작성, 컴파일, 링크 및 실행
JSP Programming with a Workbook
Visual Basic .NET 처음 사용하기.
Chapter 11: 소프트웨어 개발 프로그래밍 및 언어.
1. C++ 시작하기.
Error Detection and Correction
컴퓨터과학 전공탐색 배상원.
제목 CHAPTER 04. 프로그래밍 언어 인간과 컴퓨터의 대화_진화하는 소통. 진화하는 컴퓨터.
제 1장. 멀티미디어 시스템 개요.
Computational Thinking
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
1. C 언어 개요.
프로그래밍 개요
Chap 6.Assembler 유건우.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
UNIX Unbounded A Beginning Approach
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
CHAPTER 04. 프로그래밍 언어 인간과 컴퓨터의 대화_진화하는 소통. 진화하는 컴퓨터
제 9장 트랜스레이터.
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
“사람과 컴퓨터” 이 점 숙 컴퓨터와 소프트웨어 “사람과 컴퓨터” 이 점 숙
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Computers: Tools for an Information Age Chapter 12
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
알고리즘 알고리즘이란 무엇인가?.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
Flow Diagram IV While.
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
발표자 : 이지연 Programming Systems Lab.
2D 게임 프로그래밍 제안서 김보명.
Soft computing Laboratory
.Net FrameWork for Web2.0 한석수
왜 ‘프로그래밍’을 ‘비이공계 학생’이 알아야 하는가?
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
교량 구조물의 개념 설계 및 프로토타입 제작 과정
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
1. 강의 소개 컴퓨팅적 사고와 문제해결.
SNU 컴퓨터의 기초 월 14:00-16:00 43동101호 ropas. snu. ac
 6장. SQL 쿼리.
7 생성자 함수.
1장. C Language Synopsis.
Presentation transcript:

Chapter 11: 소프트웨어 개발 프로그래밍 및 언어 © The McGraw-Hill Companies, Inc., 1999

11.1 프로그래밍 : 5 단계의 절차 프로그램은 무엇인가 ? 데이터를 정보로 처리하기 위하여 컴퓨터가 따라야 하는 명령어 데이터를 정보로 처리하기 위하여 컴퓨터가 따라야 하는 명령어 들의 목록 - 패키지 소프트웨어(packaged software) 판매용으로 개발된 미리 작성된 프로그램 shareware, freeware 이들은 즉시 사용 - 맞춤 소프트웨어(customized software) 특정 고객을 위해 디자인 된 소프트웨어 고객의 요구를 반영

11.1 프로그래밍 : 5 단계의 절차(계속) 프로그래밍이란 무엇인가 ? - 소프트웨어공학 - 프로그램을 작성하기위한 다단계 과정 - 단계 1. 문제를 명확히 하라 2. 해법을 디자인 하라 3. 프로그램을 코딩하라 4. 프로그램을 시험하라 5. 프로그램을 문서화하고 유지하라

패널 11.1 프로그래밍은 시스템 개발주기에서 어디에 들어가는가?. 패널 11.1 프로그래밍은 시스템 개발주기에서 어디에 들어가는가?. © The McGraw-Hill Companies, Inc., 1999

11.2 첫 단계 : 프로그래밍 필요를 명확하게 하라 1. 목적과 사용자를 명확히 하라. 2. 기대되는 결과를 명확히 하라. 3. 요구되는 입력을 명확히 하라. 4. 요구되는 처리를 명확히 하라. 5. 프로그램 구현의 가능성을 이중으로 점검하라. 6. 분석을 문서화하라.

패널 11.2 제 1단계 : 프로그래밍 요구를 명확히 하라 © The McGraw-Hill Companies, Inc., 1999

11.3 제 2 단계 : 프로그램을 설계하라 1. 하향식 접근 방식을 사용하여 프로그램 로직을 결정하라. 하향식 프로그램 설계는 프로그램의 최상위 요소 또는 모듈을 구별해 내고, 최하 수준의 상세 사항으로 계층적인 방식에 의해 진행시키는 방식이다. 2. 유사코드/ 순서도 및 가능하면 제어구조를 사용하여 세부 사항을 설계하라. - 유사코드(pseudocode) : 로직과 처리흐름을 보통의 문장을 사용하여 프로그램을 설계하는 방법 - 순서도 : 문제 해결을 위한 알고리즘을 그래프로 제시 한 차트 - 제어구조 : 순차, 선택, 반복 의 세가지 제어 구조 사용 3. 구조적인 검사 방법으로 점검하라.

패널 11.3 제 2단계 : 프로그램 설계 © The McGraw-Hill Companies, Inc., 1999

패널 11.4 계층 구조 차트

패널 11.5 가코드(pseudocode) © The McGraw-Hill Companies, Inc., 1999

패널 11.6a 프로그램 순서도의 예들 © The McGraw-Hill Companies, Inc., 1999

패널 11.6b 순서도의 기호 설명 © The McGraw-Hill Companies, Inc., 1999

패널 11.7a 3종류의 제어구조 © The McGraw-Hill Companies, Inc., 1999

Panel 11.7b Variation on selection: the case control structure (more than a single yes-or-no decision) © The McGraw-Hill Companies, Inc., 1999

11.4 셋째 단계 : 프로그램을 코딩하라 1. 적합한 프로그래밍 언어를 선택하라 프로그래밍 언어 : 컴퓨터에게 어떤 동작을 수행할 것인지 말해주는 규칙의 집합이다. 예) basic , cobol, c, c++ 2. 구문 규칙에 따라라 프로그래밍 언어의 구문 규칙의 집합에 따라야 한다.

패널 11.8 셋째 단계 : 프로그램 코딩 © The McGraw-Hill Companies, Inc., 1999

11.5 넷째 단계 : 프로그램을 시험하라 1. 책상 위 점검을 수행하라 프그그램을 쭉 읽어나가면서 프로그램에 오류가 없는지 , 논리가 제대로 작동하는지를 확인하는 것.일종의 교정 2. 프로그램을 디버깅하라 컴퓨터 프로그램에서 오류를 발견하고 위치를 확인해서 그것을 제거하는 것 문법적 오류 : 타이핑을 잘못했거나, 프로그래밍언어의 부정확한 사용 논리적 오류 : 제어구조의 부정확한 사용에 의하여 야기 3. 실제 데이터로 수행하라 다양한 시험 데이터를 사용하여 여러 번의 시험 과정을 거친다.

패널 11.9 네 번째 단계 : 프로그램 시험 The fourth step is to test the program 패널 11.9 네 번째 단계 : 프로그램 시험 The fourth step is to test the program and “debug” it of errors so it will work properly. The word “bug” dates from 1945, when a moth was discovered lodged in the wiring of the Mark I computer. The moth disrupted the execution of the program. © The McGraw-Hill Companies, Inc., 1999

11.6 다섯번째 단계 : 프로그램을 문서화하고 유지 보수 11.6 다섯번째 단계 : 프로그램을 문서화하고 유지 보수 1. 사용자 문서를 준비한다. 프로그래머가 아닌 사람들이 프로그램을 사용할 수 있도록 매뉴얼을 준비 2. 오퍼레이터 문서를 준비한다. 대형컴퓨터를 운용하는 오퍼레이터를 위해 프로그램 오동작시 대처를 위한 정보 제공 3. 프로그래머 문서를 준비한다. 신참들의 교육훈련을 도와주고 기존의 시스템을 유지 보수할 수 있도록 프로그램 문서화를 한다. 4. 프로그램을 유지 보수한다. 프로그램을 동작될 수 있는 조건으로 오류가 없도록 최신의 것으로 유지 시키는 활동을 의미한다.

패널 11.9 다섯 번째 단계 : 프로그램 문서화 및 유지보수 패널 11.9 다섯 번째 단계 : 프로그램 문서화 및 유지보수 The fifth step is really the culmination of activity that has been going on through all the programming steps—documentation. Developing written and electronic descriptions of a program and how to use it needs to be done for different people—users, operators, and programmers. Maintenance is an ongoing process. © The McGraw-Hill Companies, Inc., 1999

패널 11.11 프로그래밍 다섯 단계의 요약 © The McGraw-Hill Companies, Inc., 1999

11.7 프로그래밍 언어의 다섯 세대 - 제 1 세대 (1945년) 기계어 - 제 2 세대 (1950년대 중반) 어셈블리어 - 제 3 세대 ( 1960년대 초) 고급언어, FORTRAN, COBOL, BASIC, C, ADA - 제 4 세대 (1970년대 초) 최고급언어 , SQL, INTELLECT, NOMAD, FOCUS - 제 5 세대 (1980년대 초) 자연 언어

패널 11.12 프로그래밍 언어 다섯 세대

11.7 프로그래밍 언어의 다섯 세대(계속) 제 1 세대 : 기계어 - 컴퓨터의 기본언어로써 데이터를 1 과 0으로 표현 제 1 세대 : 기계어 - 컴퓨터의 기본언어로써 데이터를 1 과 0으로 표현 -기계에 종속(Machine dependent) 제 2 세대 : 어셈블리어 -저급 프로그래밍 언어 -숫자 대신 쉽게 기억되는 단어를 사용해 프로그램 작성 -기계 종속 -어셈블러(assembler) 어셈블리어 프로그램을 기계어로 번역해 주는 번역기

11.7 프로그래밍 언어의 다섯 세대(계속) 제 3 세대 : 고급 언어 - 사람들에게 익숙한 표기법 제 3 세대 : 고급 언어 - 사람들에게 익숙한 표기법 - 대부분 기계에 종속되지 않음 - 컴파일러, 인터프리터가 고급언어의 번역 프로그램 컴파일러 : 컴퓨터가 프로그램을 실행하기 전, 고급언어로 된 모든 프로그램 을 기계어로 변환시켜 주는 언어 번역 프로그램 예) COBOL, FORTRAN, PASCAL, C 인터프리터 : 고급언어로 된 명령문을 기계어로 한 줄씩 변환시키면서 즉가 실행시키는 언어 번역 프로그램 예) BASIC

패널 11.12 프로그래밍 언어의 세 세대 Machine language is all binary 0s and 패널 11.12 프로그래밍 언어의 세 세대 Machine language is all binary 0s and 1s—difficult for people to work with. Assembly language uses abbreviations for major instructions (such as MP for MULTIPLY). This is easier for people to use, but still not easy. COBOL, a third-generation language, uses English words that can be understood by people.

패널 11.14 컴파일러 This language translator converts 패널 11.14 컴파일러 This language translator converts the high-level language (source code) into machine language (object code) before the computer can execute the program. © The McGraw-Hill Companies, Inc., 1999

11.7 프로그래밍 언어의 다섯 세대(계속) 제 4 세대 : 최고급 언어 - 빠른 응용 개발 툴 (RAD) - 보고서 작성 프로그램 - 질의 언어 - 어플리케이션 생성기 제 5 세대 : 자연언어 - 영어, 스페인어 등과 같이 일상적인 언어 - 사람이 쓰는 언어를 사용하는 프로그래밍 언어 - 인공지능 분야

패널 11.15a 프로그래밍 언어의 개발과 포맷팅 툴 연대기 © The McGraw-Hill Companies, Inc., 1999

패널 11.15b 프로그래밍 언어의 개발과 포맷팅 툴 연대기 © The McGraw-Hill Companies, Inc., 1999

패널 11.16a 비교되는 3세대 언어들: 다섯 예 This and the next slide show how five languages handle the same statement. The statement specifies that a customer gets a discount of 7% of the invoice amount if the invoice is greater than $500; if the invoice is lower, there is no discount.

패널 11.16b 비교되는 3세대 언어들: 다섯 예 This and the previous slide show how five languages handle the same statement. The statement specifies that a customer gets a discount of 7% of the invoice amount if the invoice is greater than $500; if the invoice is lower, there is no discount.

11.8 현재 사용되는 프로그래밍 언어 FORTRAN : 수학의 언어 그리고 최초의 고급언어 - 수학, 과학 및 공학 문제용 언어로 광범위하게 사용 - 대략의 입력/출력 연산 및 파일 처리를 할 수 없기 때문에 전형적인 사무 처리용으로는 사용되지 않음 - 장점 복잡한 수학 및 논리 표현 처리 문장이 비교적 짧고 간단 쉽게 수정 가능 , 이식 가능 - 단점 입력/ 출력 연산을 효과적으로 처리하지 못함 비수치 데이터를 표현하고 처리하는 능력이 제한적 읽기와 이해하기 어려움

11.8 현재 사용되는 프로그래밍 언어(계속) COBOL : 사무 처리용 언어 -장점 기계와 독립적 영어와 유사한 문장 , 쉽게 이해 많은 파일, 레코드 및 필드를 처리 입/출력 연산을 쉽게 처리 -단점 읽기가 쉬운 만큼 장황 프로그래머의 생산성이 낮움 수치계산을 처리하지 못함

11.8 현재 사용되는 프로그래밍 언어(계속) Pascal : 단순한 언어 basic의 대안으로써 비교적 배우기 쉬운 교육용 언어 차이점은 구조화 프로그래밍을 사용한다는 것 - 장점 배우기 쉽다. 그래픽 프로그래밍을 위한 폭넓은 능력을 갖추고 있음 과학적인 쓰임에 뛰어남 - 단점 제한적인 입/출력 프로그래밍 능력 사무용으로 부적합

11.8 현재 사용되는 프로그래밍 언어(계속) C 언어 : 이식성 & 과학적 쓰임에 적합 - 장점 마이크로 컴퓨터에 잘 동작함 이식이 아주 쉬움 빠르고 효율적 주 기억장치에서 개별 비트를 조작 가능 - 단점 배우기 어려움 너무 간결하여 코드를 따라가기 어려울 수 있음 많은 보고서 포맷팅과 데이터 파일 조작 부적합

11.8 현재 사용되는 프로그래밍 언어(계속) LISP : 인공지능 프로그램용 - 제 3 세대 언어 - 인공지능 프로그램을 구축하는데 주로 사용 - 전문가 시스템(expert systems) 과 자연언어 프로그램 작성에 사용 PL/1 : FORTRAN 과 COBOL 의 장점만을 추린 것 - 사무 처리 분야 나 과학기술 계산에 사용 - 융통성, 배우기 쉬움 - 너무 많은 옵션 , 유용성이 떨어짐

11.8 현재 사용되는 프로그래밍 언어(계속) RPG : 업무용 보고서 작성용의 쉬운 언어 - 구조화된 언어 - 비교적 배우기 쉬운 제 3 세대 언어 - 보고서 작성을 돕는 프로그램 LOGO : 아이들을 가르치기 위해 거북이 사용 - 제 3 세대 언어 - 문제를 해결하고 프로그래밍하는 기술을 가르치기 위해 고안 - 고도의 대화형 언어 - 업무용 그래픽 보고서를 제작하기 위해서도 사용

11.8 현재 사용되는 프로그래밍 언어(계속) APL : 수학적 문제를 위한 특수 키보드 사용 - 제 3세대 언어 - IBM 메인 프레임용 으로 고안 - 특수한 부호가 있는 특수 키보드를 사용 - 복잡한 수학 문제 해결 FORTH : 데이터를 신속하게 처리 - 업무용 - 그래픽용 - 실시간 제어 업무용

11.8 현재 사용되는 프로그래밍 언어(계속) PROLOG : 인공지능 응용에 사용 - 자연 언어 프로그램 및 전문가 시스템에 적용 Ada : 새 표준의 기능성 - 강력한 구조화 프로그래밍 언어 - 장점 : 모듈설계 실행 전 오류를 점검 - 단점 : 너무 복잡 데이터베이스 프로그래밍 언어 : dbase,Acess, FoxPro, Paradox

11.9 객체 지향 및 비주얼 프로그래밍 객체 지향 프로그램 : 블록별로 1 . OOP는 무엇인가 데이터를 처리하기 위해 데이터와 관련 명령을 조합하여 다른 프로그램에서 도 사용될 수 있도록 하는 객체를 생성하는 프로그래밍 방식 2 . 객체는 무엇인가 미리 조합된 프로그래밍 코드로써 데이터 묶음과 처리 명령어들의 캡슐화된 모듈 3 . 객체의 데이터는 언제 처리되는가 메시지가 전송될 때만 일어남 4 . 객체의 데이터는 어떻게 처리되는가 객체에 속하는 처리 명령어의 범위에 속함 데이터에 수행되는 연산에 관한 명령어-메쏘드

11.9 객체 지향 및 비주얼 프로그래밍(계속) OOP 의 세가지 중요한 개념 - 캡슐화(Encapsulation) - 상속성 - 다형성 OOP 프로그래밍 언어의 예 - Smalltalk - C++ - Hypertalk 비주얼 프로그래밍 - visual C++ - visual Basic

(HTML,XML,VRML, JAVA 그리고 ACTIVEX) 11.10 인터넷 프로그래밍 : (HTML,XML,VRML, JAVA 그리고 ACTIVEX) - HTML 다른 문서와 쉽게 링크될 수 있는 인터넷상 문서를 만드는 언어 - XML 웹개발자가 홈페이지에 더 많은 태그를 추가할 수 있음 - VRML 3차원 웹페이지를 만들기 위한 프로그래밍 언어의 한 형태 - JAVA 객체지향프로그래밍 언어, 어떤 운영체제에서도 동작되는 어플리케이션을 구축 - ACTIVEX 재사용 컴포넌트를 프로그램 혹은 웹페이지 내에 내장될 수 있도록 함

Panel 11.17a Conventional versus object-oriented programs When building conventional programs, programmers write every line of code from scratch. © The McGraw-Hill Companies, Inc., 1999

Panel 11.17b Conventional versus object-oriented programs With object-oriented programs, programmers can use blocks, or “objects,” of preassembled modules containing data and the associated processing instructions. © The McGraw-Hill Companies, Inc., 1999