ครั้งที่ 10

88
IMG 472

Upload: api-3750973

Post on 13-Nov-2014

33 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ครั้งที่ 10

IMG 472

Page 2: ครั้งที่ 10

2

Methedology Methedology คื�อ กระบวนการน�าแนวคื�ด SDLC มาปฎิ�บ�ติ�จนสามารถใช้�การได� ในการปฎิ�บ�ติ�น��จะใช้�ส��งเหล่#าน��ช้#วยในการทำ�างาน โมเดล่ (Model) , เคืร��องม�อ (Tools) แล่ะเทำคืน�คื (Techniques) ติ#างๆ มาใช้�ก�บการพั�ฒนาซอฟติ,แวร,

Model ได�แก# - ผั�งงาน (Flowchart) - แผันภาพักระแสข้�อม0ล่ (Data Flow Diagram) - อ�อาร,ไดอะแกรม (ER Diagram) - ย0สเคืสไดอะแกรม (Use Case Diagram) ,

Class Diagram , Sequence Diagram

Page 3: ครั้งที่ 10

3

ว�ธี�การพั�ฒนาระบบแบบด��งเด�ม (The Traditional Approach)

ติ��งอย0#บนพั��นฐานข้องการพั�ฒนาระบบด�วยว�ธี�โคืรงสร�างแล่ะการโปรแกรมแบบโมด0ล่ เร�ยกว#า การพั�ฒนาระบบเช้�งโคืรงสร�าง (Structured Approach) โดยอาศั�ยการเข้�ยนโปรแกรมเช้�งโคืรงสร�าง (Structure Programming) ซ4�งประกอบด�วย

1. ช้5ดคื�าส��งทำ��เร�ยงเป6นล่�าด�บ (Sequence) 2. ช้5ดคื�าส��งทำ��ม�การติ�ดส�นใจ (Decision)

Page 4: ครั้งที่ 10

4

วิ�ธี�การพัฒนาระบบ ประกอบด้�วิย 2 วิ�ธี� คื�อ 3. ช้5ดคื�าส��งทำ��ม�การทำ�างานเป6นล่0ป

(Loop) หร�อการทำ�าซ��า (Repetition) แนวคื�ดโปรแกรมเช้�งโคืรงสร�างทำ��เร�ยกว#า Top-Down Programming หร�อการโปรแกรมแบบโมด0ล่ (Modular Programming)

Control ModuleStart

Call module 1Call module 2Call module 3

stop

Module 1BeginDo 1Do 2Do 3

return

Module 3Begin

If x the yElse qDo abcreturn

Module 2BeginDo xDo yDo z

return

Page 5: ครั้งที่ 10

5

แสดงให�เห7นถ4งคืวามส�มพั�นธี,ระหว#างข้�อม0ล่เป6นส�าคื�ญ เร�ยกว#า แผนภาพัอ�อาร� (Entity-Relationship Diagram : ERD)

คือร,สว�ช้าทำ��เป9ดสอนCourse_no*

Namecredit

รายการล่งทำะเบ�ยนstd_no*

Course_nograde

น�กศั4กษาstd_no*name

Faculty_codeMajor_code

ตัวิอย�างแผนภาพัอ�อาร� (ER-Diagram)

Page 6: ครั้งที่ 10

6

Y

N

Flow Chart

Page 7: ครั้งที่ 10

7

0Mk

resterauntsystem

Customer

Server

Cashier

Manager

order customer data

list order data

list order summary data

check bill data

check data

Context Diagram (DFD Level0) Mk resteraunt system

Create by : IT Student Ubon University 02/12/2006

Page 8: ครั้งที่ 10

8

แสดงให�เห7นถ4งข้�อม0ล่ทำ��ไหล่ไปย�งกระบวนการติ#างๆ (Data and Process) เร�ยกว#า แผนภาพักระแสข้�อมู ล (Data Flow Diagram : DFD)

Customer

Server

Cashier

Manager

updateorder

customer

1 order customer

order customer data

A1

2Change

bill

Bill data

check bill data

check bill data

B1

order customer data

list order data

list order summary data

3CreateReport

check data

DFD Level 1 restaurant system

Page 9: ครั้งที่ 10

9

ud Use Case Model

Solitare Game System

User

System Computer

Select Start New Game

Select OptionSelect Deck

Play Game

End Game

Exit Game

Random Solitare

«extend»«extend»

«extend»

«include»

Use Case Diagram

Page 10: ครั้งที่ 10

10

- โปรแกรมจ�ดการฐานข้�อม0ล่ - โปรแกรมประมวล่ผัล่คื�าส��ง - โปรแกรมจ�ดการโคืรงการ - CASE TOOLS - Integrated Data

Environments (IDE)

Page 11: ครั้งที่ 10

11

CASE ToolCASE Tool เป6นซอฟติ,แวร,ทำ��จะช้#วยผั0�พั�ฒนาระบบ ในการด�าเน�นก�จกรรมพั�ฒนาซอฟติ,แวร, เช้#น ออกแบบ

สร�างข้�อก�าหนดทำดสอบ ซอฟติ,แวร, เคืสทู ลส�แบ�งเป$น 2 ประเภทู 1. อปเปอร�เคืสทู ลส� (Upper CASE Tools) เป6น

เคืร��องม�อทำ��สน�บสน5นด�านการว�เคืราะห,ในระหว#างข้��นติอนข้อง ว�เคืราะห,แล่ะออกแบบ เช้#น การสร�าง การติรวจสอบโมเดล่ทำ��สร�าง เช้#น Visible Analyst,Power Designer

2. โลเวิอร�เคืสทู ลส� (Lower CASE Tools) เป6นเคืร��องม�อทำ��สน�บสน5น

ด�านการน�าไปใช้� (Implementation) เช้#น สามารถทำ�าการแปล่ง (Generate) ให�เป6นรห�สโปรแกรม เช้#น Rational Rose

Page 12: ครั้งที่ 10

12

เทูคืน�คื (Techniques) - เทำคืน�คืการเข้�ยนโปรแกรม - เทำคืน�คืการทำดสอบซอฟติ,แวร, - เทำคืน�คืการว�เคืราะห,แล่ะออกแบบระบบ

เช้�งว�ติถ5 - User Interview Technique

Page 13: ครั้งที่ 10

13

ป;จจ5บ�นในการพั�ฒนาระบบสารสนเทำศัข้4�นมาส�กงานหน4�ง ม�กม�การน�าเคืร��องม�อมาใช้�งาน หร�อน�ามาเพั��อสน�บสน5นการพั�ฒนาระบบ ซ4�งเคืร��องม�อด�งกล่#าวน�� จะช้#วยให�การพั�ฒนาระบบสารสนเทำศัน��นม�คืวามรวดเร7วแล่ะม�คื5ณภาพัย��งข้4�น หน4�งในเคืร��องม�อทำ��เร�ยกว#า เคืสทำ0ล่ส, (Computer-Aided Software Engineering : CASE Tools) ซ4�งจ�ดเป6นเคืร��องม�อหน4�งทำ��ออกแบบมาเฉพัาะเพั��อช้#วยทำ�าการว�เคืราะห,ให�ระบบม�คืวามสมบ0รณ,ย��งข้4�น รวมถ4งการให�เคืสทำ0ล่ส,ในการสร�างโมเดล่ หร�อไดอะแกรมติ#างๆ นอกจากเคืสทำ0ล่ส,แล่�ว ย�งม�เคืร��องม�อช้#วยวาด (Drawing Tools) ซ4�งก7จ�ดได�ว#าเป6นเคืร��องม�อหน4�งทำ��สามารถน�ามาใช้�งานเพั��อสน�บสน5นการพั�ฒนาระบบได� แติ#อย#างไรก7ติาม เคืสทำ0ล่ส,น��นจะม�คืวามสามารถพั�เศัษหร�อเป6นอะไรทำ��มากไปกว#าเคืร��องม�อช้#วยวาด

Page 14: ครั้งที่ 10

14

CENTRAL REPOSITORY

Local Repository (on a LAN

Server)Security and

Version Control

Tools

Inquiry and Reporting

Tools

Data Sharing Tools

House- keeping Tools

Graphics Tools

Decision Support

Tools

Quality Management

Tools

Design Generators

Code Generators

Document Tools

INPUTS: models,

descriptions and

prototypesOUTPUTS:

reports, problems,

and analyses

imported and

exported knowledgecheck-out/

check in knowledge

Repository Server

CASE Tool Facilities

(on a workstation)

Description Tools

Prototyping Tools

links links

Page 15: ครั้งที่ 10

15

เป6นเคืร��องม�อทำ��ใช้�ส�าหร�บวาดไดอะแกรมหร�อแบบจ�าล่องระบบ (System Model) ติามทำ��ติ�องการ หร�อใช้�ส�าหร�บสร�างแบบจ�าล่องติามกรรมว�ธี�ข้องการพั�ฒนาระบบ (System Development Methodologies) ซ4�งแบบจ�าล่องทำ��วาดน��นสามารถล่�งก,ไปย�งแบบจ�าล่องอ��นๆ ทำ��เก��ยวข้�องได� เช้#น แผันภาพั UML Diagram, Data Flow Diagram หร�อ ER Diagram เป6นติ�น

Page 16: ครั้งที่ 10

16

เป6นเคืร��องม�อทำ��ใช้�บ�นทำ4กคื�าอธี�บายแล่ะรายล่ะเอ�ยดข้องระบบ ซ4�งม�กใช้�งานเพั��อประกอบคื�าอธี�บายข้องแบบจ�าล่องหร�อไดอะแกรมทำ��สร�างข้4�นในข้ณะน��น

Page 17: ครั้งที่ 10

17

เป6นเคืร��องม�อในการสร�างส#วนประกอบข้องระบบ ซ4�งประกอบไปด�วยอ�นพั5ติแล่ะเอาติ,พั5ติ โดยอ�นพั5ติแล่ะเอาติ,พั5ติเหล่#าน��สามารถน�าไปรวมเข้�าก�บแบบจ�าล่องระบบ แล่ะคื�าอธี�บายรายล่ะเอ�ยดระบบทำ��งสองได�

Page 18: ครั้งที่ 10

18

เป6นเคืร��องม�อทำ��ใช้�ส�าหร�บว�เคืราะห,แบบจ�าล่อง คื�าอธี�บายรายล่ะเอ�ยด แล่ะติ�นแบบเพั��อติรวจสอบคืวามถ0กติ�อง คืวามคืรบถ�วนสมบ0รณ, คืวามถ0กติ�องติรงก�น เพั��อเป6นไปติามกรรมว�ธี�ทำ��ถ0กติ�องแล่ะยอมร�บ

Page 19: ครั้งที่ 10

19

เป6นเคืร��องม�อทำ��ทำ�าการรวบรวม แล่ะจ�ดทำ�าเอกสารในร0ปข้องรายงานข้องแบบจ�าล่องระบบ คื�าอธี�บายรายล่ะเอ�ยด แล่ะระบบติ�นแบบ เพั��อให�สามารถน�าเอกสารรายงานเหล่#าน��ไปเสนอแก#เจ�าข้องระบบ ผั0�ใช้�งาน น�กออกแบบ หร�อน�กพั�ฒนา

Page 20: ครั้งที่ 10

20

เป6นเคืร��องม�อในการแปล่งหร�อการ Generate โดยอ�ติโนม�ติ� เช้#น ได�ทำ�าการออกแบบแผันภาพั ER ไดอะแกรม แล่ะให�ทำ�าการแปล่งเป6นฐานข้�อม0ล่ติามทำ��ติ�องการโดยอ�ติโนม�ติ� แล่ะรวมถ4งการแปล่งโมเดล่ให�เป6นรห�สโปรแกรม เป6นติ�น

Page 21: ครั้งที่ 10

21

Page 22: ครั้งที่ 10

22

Page 23: ครั้งที่ 10

23

Page 24: ครั้งที่ 10

ก&าหนด้ป(ญหาพัฒนาอลกอ

ร�ทู*มูเข้�ยนโปรแกรมูทูด้สอบและแก�ไข้โปรแกรมู

เข้�ยนเอกสารประกอบโปรแกรมูตั�ด้ตั,ง

โปรแกรมู

ข้,นตัอนการพัฒนาโปรแกรมู

Page 25: ครั้งที่ 10

เป$นส�วินข้องการก&าหนด้คืวิามูตั�องการ ศึ*กษา-วิ�เคืราะห� ออกแบบเก�0ยวิกบโปรแกรมูทู�0ตั�องการ ให�ชัด้เจน

ก�อนเร�0มูงานทูางเทูคืน�คื

Page 26: ครั้งที่ 10

ศึ*กษาวิ�เคืราะห�และก&าหนด้รายละเอ�ยด้ เก�0ยวิกบINPUT

PROCESS

OUTPUT

Page 27: ครั้งที่ 10

อลกอร�ทู*มู (Algorithm) หมูายถึ*ง ข้,นตัอนการทู&างานทู�0เป$นล&าด้บ

คือมูพั�วิเตัอร�ทู&างานทู�ละคื&าส0งตัามูล&าด้บ โปรแกรมูคือมูพั�วิเตัอร�จะประกอบด้�วิยคื&าส0งจ&านวินมูากทู�0คืวิบคื5มูให�คือมูพั�วิเตัอร�ทู&างานไปตัามูข้,นตัอนทู�0ก&าหนด้ไวิ�

Page 28: ครั้งที่ 10

อาจใชั�เคืร�0องมู�อตั�างๆชั�วิยในการแสด้งข้,นตัอน เชั�น

ผงงาน (FLOW CHART) ซู โด้โคืด้ (PSEUDOCODE)

Page 29: ครั้งที่ 10

แปลง อลกอร�ทู*มู คื&าส0งในภาษาคือมูพั�วิเตัอร�

การเข้�ยนคื&าส0งตั�องถึ กตัามูข้�อก&าหนด้ หร�อไวิยากรณ์� (Syntax) ข้องภาษาคือมูพั�วิเตัอร�ทู�0ใชั�

Page 30: ครั้งที่ 10

โปรแกรมูทู�0เข้�ยนด้�วิยภาษาระด้บส งเร�ยกวิ�า SOURCE PROGRAM จะตั�องถึ กแปล (COMPILE) เป$นภาษาเคืร�0อง ซู*0งเร�ยกวิ�า OBJECT PROGRAM และตั�องแก�ไข้ทู�0ผ�ด้ข้อง คื&าส0ง (SYNTAX ERROR)

ก�อนจ*งจะสามูารถึน&าไปทูด้สอบการใชั�งานได้�

Page 31: ครั้งที่ 10

ตั�องสร�างชั5ด้ข้�อมู ล (TEST DATA) เพั�0อทูด้สอบวิ�าโปรแกรมูสามูารถึทู&างาน (EXECUTE) ได้�ผลถึ กตั�องแน�นอน หร�อไมู� โด้ยตัรวิจสอบผลทู�0ได้�จากการ RUN โปรแกรมู ถึ�าผลการทู&างานไมู�ถึ กตั�อง (LOGICAL ERROR) ตั�องกลบไปแก�ไข้โปรแกรมู และทูด้สอบจนกวิ�าจะถึ กตั�อง

Page 32: ครั้งที่ 10

SOURCE

PROGRAM

COMPIL

E

OBJECT

PROGRAM

SYNTAX ERROR

แก�ไข้ โปรแกรมู

แปลและแก�ไข้โปรแกรมู

Page 33: ครั้งที่ 10

OBJECT

PROGRA

M

EXECUTE

ข้�อมู ล ทูด้สอบ

ผลลพัธี�

ตัรวิจสอบคืวิามูถึ กตั�อง ถึ�าผ�ด้กลบไปแก�ไข้และทูด้สอบโปรแกรมูใหมู�

RUN TEST

Page 34: ครั้งที่ 10

1. ฉบบโปรแกรมูเมูอร� ประกอบการเข้�ยน+ปรบปร5งโปรแกรมู 2. ฉบบผ �ใชั�

แนะน&าวิ�ธี�การใชั�งานโปรแกรมู

Page 35: ครั้งที่ 10

ทู&าการตั�ด้ตั,งโปรแกรมู ส&าหรบผ �ใชั�งานจร�ง อาจตั�องมู�การฝึ;กอบรมูการใชั�งานส&าหรบผ �

ใชั�ด้�วิย เพั�0อให�สามูารถึใชั�งานได้�อย�างถึ กตั�อง

Page 36: ครั้งที่ 10

ก&าหนด้ป(ญหาพัฒนาอลกอ

ร�ทู*มูเข้�ยนโปรแกรมูทูด้สอบและแก�ไข้โปรแกรมู

เข้�ยนเอกสารประกอบโปรแกรมูตั�ด้ตั,ง

โปรแกรมู

วิงจร การ

พัฒนาโปรแกรมู

เปล�0ยนแปลงแก�ไข้

การบ&าร5งรกษาโปรแกรมู

Page 37: ครั้งที่ 10

FLOWCHART

ใชั�ร ปสญญลกษณ์�

ประกอบ คื&าอธี�บายส,นๆ

SPEUDOCODE

ใชั�คื&าอธี�บายคืล�ายประโยคืในภาษาองกฤษ คืล�ายคื&าส0งในภาษาระด้บส ง

Page 38: ครั้งที่ 10

START

READ X

END OF DATA

TOTAL= TOTAL + X

WRITE X

READ X

TOTAL= 0COUNT=0

MEAN = TOTAL/COUNT

COUNT 1=COUNT=

WRITE MEAN

STOP

N N

YES

Page 39: ครั้งที่ 10

START / STOP DOCUMENT

INPUT / OUTPUT CONNECTION

PROCESS HARDDISK

DECISION TAPE

DIRECTIONS

Page 40: ครั้งที่ 10

FIND AVERAGE OF X Initial : TOTAL = 0,

COUNT = 0 READ X

WHILE NOT END OF DATA DO

ADD X TO TOTAL ADD1 TOCOUNT

WRITE X READ X MEAN= TOTAL / COUNT

WRITE MEANEND.

PSEUDOCODE

Page 41: ครั้งที่ 10

/ อ�าน เข้�ยนข้�อมู ล READ / WRITE

/ ก&าหนด้คื�า คื&านวิณ์ var = expression

ตัด้ส�นใจ IF .. THEN … ELSE

ทู&างานซู&,า WHILE … DO …REPEAT … UNTIL …

Page 42: ครั้งที่ 10

PROGRAM AVERAGE;VAR COUNT :INTEGER;

X, TOTAL, MEAN :REAL;BEGIN

TOTAL := 0 ; COUNT :=0; READLN(X);

WHILE X <> 9999 DO BEGIN TOTAL := TOTAL+X;

COUNT := COUNT +1;

WRITELN(X);READLN(X)

END; MEAN := TATAL / COUNT;

WRITELN(MEAN)END.

ตัวิอย�างโปรแกรมูภาษาปาสกาล

Page 43: ครั้งที่ 10

= เทู�ากบ

>มูากกวิ�า

< น�อยกวิ�า

< > ไมู�เทู�ากบ

Page 44: ครั้งที่ 10

IF 50SCORE > EEEE E…… IF (GRADE = ‘A’ ) THEN …

WHILE (X> = 0 ) DO …..

IF E E<> THEN … ELSE … IF (> ) AND (A >B ) THEN … IF (X < 0) EE (X > 25) THEN ….

Page 45: ครั้งที่ 10

ชั�0อเร�ยกข้�อมู ล = ทู�0เก>บข้�อมู ลในหน�วิยคืวิามูจ&าประเภทูข้�อมู ล = วิ�ธี�เเทูนข้�อมู ล ในหน�วิยคืวิามู

จ&า

Page 46: ครั้งที่ 10

VAR COUNT: INTEGER;

TOTAL : REAL;

OK : CHAR;

NAME:STRING[20];

Page 47: ครั้งที่ 10

ตัวิแปร = น�พัจน�คื&านวิณ์Y = A + B - C * D / E

ล&าด้บการคื&านวิณ์ 1 *) / ก�อน - 2) + หลง ถึ�ามู�วิงเล>บ ทู&าจากวิงเล>บในส5ด้

Page 48: ครั้งที่ 10

1. แบบล&าด้บ

2 . แบบเง�0อนไข้

3 . แบบทู&างานซู&,า

cond

2S 1S

cond

Loop body

Exit loop

TRUE

FALSE

TRUE

FALSE

Page 49: ครั้งที่ 10

49

Computer Programs & Programming Languages Low-level Languages Procedural Languages Object-oriented Programming

Languages Other Programming Languages Web Page Development

Page 50: ครั้งที่ 10

50

The Program Development Cycle Step 1 – Analyze Requirements Step 2 – Design Solution Step 3 – Validate Design Step 4 – Implement Step 5 – Test Solution Step 6 – Document Solution

Page 51: ครั้งที่ 10

51

Computer Program คื�อช้5ดข้องคื�าส��งทำ��ทำ�าหน�าทำ��ส� �งคือมพั�วเติอร,ให�ทำ�างาน โดยม� Programmer หร�อ Developer เป6นผั0�เข้�ยนแล่ะแก�ไข้

computer program Programming Languages

ช้5ดข้องคื�า (word), ส�ญล่�กษณ, (symbol) แล่ะ code ทำ��ใช้�ในการสร�างคื�าส��งส�าหร�บคือมพั�วเติอร,

Low-level Language เป6นภาษาทำ��ใช้�ได�ก�บคือมพั�วเติอร,ร5 #นหน4�งๆ (machine-dependent language)

High-level Language เป6นภาษาทำ��คื�าหน4�งๆ สามารถใช้�แทำนคื�าส��งระด�บ machine ได�หล่ายคื�าส��ง แล่ะไม#ข้4�นก�บเคืร��องคือมพั�วเติอร,ร5 #นใดๆ (machine-independent language)

Page 52: ครั้งที่ 10

52

1. Machine Language เป6นภาษาโปรแกรมม��งร5 #นแรก ล่�กษณะภาษาจะใช้� binary

digit (0,1) หร�อใช้�คื�า (ติ�วอ�กษร + ติ�วเล่ข้ ) แทำนคื#า binary digit

Page 53: ครั้งที่ 10

53

2. Assembly Language เป6นภาษาโปรแกรมม��งร5 #นทำ�� 2 ล่�กษณะภาษาจะใช้�คื�าส��งส�ญล่�กษณ,

(Symbolic Instruction Code) เช้#น

A แทำน Addition (บวก) M แทำน Multiply (คื0ณ)

แล่ะใช้�ทำ��อย0#ส�ญล่�กษณ, (Symbolic Address) เพั��อจ�ดเก7บคื#าติ�วแปร เช้#น RATE เก7บคื#าอ�ติราจ#ายเง�น

ช้5ดคื�าส� �งแบบน��เร�ยกว#า source programทำ��เราติ�องทำ�าการแปล่งโดยใช้� Assembler ให�เป6น machine language

Page 54: ครั้งที่ 10

54

โปรแกรมเมอร,เข้�ยนคื�าส��งทำ��บอกให�คือมพั�วเติอร,ทำ�างานบางอย#างแล่ะว�ธี�การทำ��จะทำ�างานน��น

เร�ยกอ�กช้��อว#า 3GL (third-generation language) โดยใช้�คื�าทำ��เหม�อนประโยคืภาษาอ�งกฤษแทำนคื�าส��งเช้#น ADD แทำน Addition PRINT

ส�าหร�บ 1 คื�าส��งข้อง 3GL จะสามารถแปล่งเป6น machine language ได�หล่ายคื�าส��ง

Page 55: ครั้งที่ 10

55

Compiler ทำ�าหน�าแปล่ง

3GL ให�เป6น machine language ทำ��งโปรแกรม (.exe)

Page 56: ครั้งที่ 10

56

Interpreter ทำ�าหน�าทำ��แปล่ง

แล่ะประมวล่ผัล่ทำ�ล่ะคื�าส��ง

Page 57: ครั้งที่ 10

57

COBOL (Common Business-oriented Language) พั�ฒนาโดยนาว�กโยธี�น Grace Hopper เหมาะส�าหร�บการคื�านวณ pay roll, billing

C พั�ฒนาโดย Dennis Ritchie (Bell Lab) โดย

เร��มจากการใช้�เข้�ยน system software ใช้�โดย professional เพัราะม�คืวามซ�บซ�อนส0ง

Page 58: ครั้งที่ 10

58

Page 59: ครั้งที่ 10

59

ข้�อด�คื�อสามารถน�าโปรแกรมทำ��เข้�ยนไว�ไปใช้�ใหม#ในโปรเจคือ��นๆได�ง#าย

เป6น Event-Driven Programming คื�อโปรแกรมจะทำ�างานเม��อเก�ดเหติ5การณ,หน4�งๆ ข้4�นเช้#น click mouse, กดคื�ย,บอร,ด

Page 60: ครั้งที่ 10

60

Java พั�ฒนาโดย Sun Microsystems J2EE (Java 2 Platform

Enterprise Edition) เป6นเทำคืโนโล่ย�เพั��อช้#วยให�โปรแกรมเมอร,สามารถพั�ฒนาโปรแกรม Web services โดยการสร�าง object ทำ��สามารถน�าไปใช้�ได�ไว�ให�เล่ย

Java Applet โปรแกรม java ทำ��ทำ�างานภายใติ�ซอฟติ,แวร,อ��นเช้#น web browser ติ�วอย#าง java applet: ร0ปหม5นได� , ภาพัเคืล่��อนไหว (animation) ,games, shopping cart

Page 61: ครั้งที่ 10

61

C++ พั�ฒนาโดย Bjarne Sroustrup (Bell Lab) พั�ฒนาเพั��มเติ�มจากภาษา C ให�เป6น OO-

Programming C#

พั�ฒนาโดย Anders Hejlsberg (Microsoft) พั�ฒนาจาก C++ เพั��อใช้�เป6นมาติรฐานส�าหร�บการสร�าง

Web Application แล่ะ XML-based Web services

Page 62: ครั้งที่ 10

62

Fifth-generation language (5GL) ม� graphic user interface ทำ��เร�ยกว#า visual

programming environment (VPE) ทำ��ช้#วยพั�ฒนาโปรแกรม โดยสามารถ drag and drop เคืร��องม�อติ#างๆ มาใช้�งานได�

ใช้�ใน RAD (Rapid Application Development) ซ4�งม�หล่�กการคื�อใช้�เคืร��องม�อทำ��ได�สร�างไว�ก#อนแล่�ว น�ามาใช้�ในการพั�ฒนาโปรแกรมเช้#น button, textbox

Page 63: ครั้งที่ 10

63

.NET เป$นเทูคืโนโลย�เพั�0อให�โปรแกรมูสามูารถึทู&างานได้�บนอ�นเทูอร�เน>ตั มู�หลายภาษาให�เล�อก Visual Basic 2005, Visual C++ 2005,

Visual C# 2005, and Visual J# 2005

Step 1. ออกแบบ User Interface

Step 2. ก�าหนคื5ณสมบ�ติ�ติ#างๆ ให�ก�บ object บนฟอร,ม

Step 4. ทำดสอบโปรแกรม

Step 3. เข้�ยนโคื�ดเพั��อส��งงานเม��อม�การคืล่�กทำ��ป5@ม

Page 64: ครั้งที่ 10

64

Delphi Powerful visual programming tool Ideal for large-scale enterprise and Web

applications

Page 65: ครั้งที่ 10

65

PowerBuilder Another powerful visual programming tool Best suited for Web-based and large-scale

object-oriented applications

Page 66: ครั้งที่ 10

66

RPG (Report Program Generator) ช้#วยสร�างรายงานทำางธี5รก�จ ใช้�บน IBM midrange computers เช้#น AS/400

4GLs (Forth-generation language) เป6น nonprocedural language คื�อใช้�ประโยคืภาษาอ�งกฤษเพั��อด4งข้�อม0ล่จากฐานข้�อม0ล่ SQL (Query Language)

Page 67: ครั้งที่ 10

67

HTML (Hypertext Markup Language) เป6นภาษาทำ��ใช้�ในการจ�ดร0ปแบบเอกสาร ไม#ใช้# Programming Language โดยติรง

Page 68: ครั้งที่ 10

68

Scripts, Applets, Servlets, & ActiveX Controls เป6นภาษาทำ��ใช้�ในการสร�างภาพัเคืล่��อนไหวหร�อ

โปรแกรมโติ�ติอบให�ก�บเวบเพัจ ติ�องทำ�างานภายใติ�โปรแกรมอ��น เช้#น web

browser ถ�าติ�องการส#งผั#านข้�อม0ล่ระหว#าง client ก�บ

web server จะใช้� CGI (Common Gateway Interface) เป6นมาติรฐานในการเช้��อมติ#อ โดยภาษาทำ��ใช้�เข้�ยนโปรแกรมในการใช้�งาน CGI เราเร�ยกว#า CGI Script

Page 69: ครั้งที่ 10

69

CGI Script หร�อ Scripting Languages JavaScript ใช้�สร�าง

dynamic content แล่ะการโติ�ติอบก�บผั0�ใช้�ให�ก�บเว7บเพัจเช้#น เปล่��ยนร0ป mouse สร�าง message box

Perl (Practical Extraction & Report Language)

Rexx (REstructured eXtended eXecutor)

Tcl (Tool Command Language)

VBScript (Visual Basic Script)

Page 70: ครั้งที่ 10

70

Dynamic HTML (DHTML) เป6นร5 #นใหม#ข้อง HTML ทำ��เพั��มคืวามสามารถด�านการ

แสดงผัล่กราฟฟ9คืแล่ะการโติ�ติอบก�บผั0�ใช้� โดยไม#ติ�องติ�ดติ#อกล่�บไปทำ�� web server

ประกอบด�วยส#วนติ#างๆ เหล่#าน��ทำ�างานร#วมก�น Document Object Model (DOM) ทำ��เป6นโคืรงสร�าง

ข้องส#วนติ#างๆ ในเว7บเพัจเช้#น ร0ป , ติาราง Style Sheet ร0ปแบบข้องติ�วอ�กษรแล่ะย#อหน�า Scripting Language

Page 71: ครั้งที่ 10

71

XHTML, XML, & WMLXHTML XHTML

(Extensible HTML)(Extensible HTML)enables Web sites to be displayed

more easily on microbrowsersXML XML

(Extensible Markup Language)(Extensible Markup Language)allows developers to

create customized tags

WMLWML (Wireless Markup Language) (Wireless Markup Language)

allows developers to design pages specifically for microbrowsers

Includes features of HTML and XML

Many PDAs and smart phones use WML as their

markup language

Server sends entire record to client, enabling client to do much of processing without

going back to server

Page 72: ครั้งที่ 10

72

Web Page Authoring Software สร�างเวบไซติ,ทำ��ม�โคืรงสร�างซ�บซ�อนได�โดยไม#ติ�องเร�ยนร0 �

HTML โปรแกรมจะทำ�าหน�าทำ�� generate HTML ให�โดยอ�ติโนม�ติ�

FrontPaFrontPagege

20032003

FlashFlashMXMX

DreamweaveDreamweaverr

MXMX

Page 73: ครั้งที่ 10

73

ข้��นติอนการพั�ฒนาโปรแกรมซ4�งประกอบด�วย

เม��อโปรแกรมเมอร,ทำ�าการแก�ไข้ errorหร�อเพั��มคืวามสามารถก�บโปรแกรม เราเร�ยกว#า maintaining program

Page 74: ครั้งที่ 10

74

Step 1 – Analyze Requirements1 . ติรวจสอบคืวามติ�องการ2. ประช้5มร#วมก�บ system analyst แล่ะ user3. ระบ5 input, process, output แล่ะ data

component – IPO Chart เป6นติารางทำ��แสดงรายล่ะเอ�ยดข้อง input แล่ะข้��นติอน

ในการแปล่ง input ให�เป6น output

Page 75: ครั้งที่ 10

75

Step 2 – Design Solution ก�าหนดว�ธี�การแก�ป;ญหา (solution algorithm)

ทำ��ใช้�ได�ก�บคืวามติ�องการ Solution algorithm หร�อ program logic

คื�อแผันภาพัหร�อคื�าอธี�บายทำ��ใช้�แสดงแติ#ล่ะข้��นติอนทำ��ใช้�ในการแก�ป;ญหา

ช้น�ดข้องการออกแบบทำ��ใช้�จะข้4�นก�บว�ธี�การทำ��เล่�อกใน Design Phase ข้อง Information System Development Cycle ซ4�งประกอบด�วย Process Modeling (structured analysis &

design) Object-oriented Modeling

Page 76: ครั้งที่ 10

76

Structured Design หร�อ Top-down design ซ4�งเร��มจากการออกแบบเบ��องติ�น (main

routine)แล่�วแยกย#อยล่งในรายล่ะเอ�ยด (subroutine) เป6นล่�าด�บช้��น แผันภาพัทำ��ใช้�แสดงเร�ยกว#า hierarchy chart หร�อ structure chart

Page 77: ครั้งที่ 10

77

Object-oriented Design จ�ดกล่5#มข้�อม0ล่แล่ะการทำ�างานทำ��

เหม�อนก�นเป6นหน#วยทำ��เร�ยกว#า class

คืวามคื�ดในการจ�ดกล่5#มแบบน��เร�ยกว#า Encapsulation ซ4�งหมายถ4งการซ#อนคืวามซ�บซ�อนข้องข้�อม0ล่แล่ะการทำ�างานภายใติ� object

Page 78: ครั้งที่ 10

78

Control Structures คื�อคื�าส��งทำ��ใช้�ในการคืวบคื5มการทำ�างานข้องโปรแกรม

ซ4�งประกอบด�วย1. Sequence Control

– แสดงการทำ�างานเป6นล่�าด�บข้��น ทำ��ม�งานหน4�งติามด�วยอ�กการทำ�างาน

Page 79: ครั้งที่ 10

79

Control Structures2. Selection Control

– ส��งให�โปรแกรมทำ�างานติามเง��อนไข้ซ4�งม� 2 แบบคื�อ If-then-else: ม� 2 ทำางเล่�อก (true/false) Case: ม�ได�ติ��งแติ#ง 1 – n ทำางเล่�อก

If-then-else Case

Page 80: ครั้งที่ 10

80

Control Structures3. Repetition Control (Loop)

– การวนล่0ปทำ�างานติามเง��อนไข้ทำ��ก�าหนดแบ#งเป6น 2 แบบ– Do-While:

ทำ�างานไปเร��อยๆหากเง��อนไข้ทำ��ก�าหนดไว�ย�งคืงเป6นจร�ง โดยจะเร��มจากการทำดสอบเง��อนไข้ก#อน ถ�าเป6นจร�งถ4งจะเข้�าทำ�าคื�าส��งในส#วนติ#อไป

– Do-Until: ติ#างก�บ Do-While 2 ข้�อคื�อ ติรงจ5ดการทำดสอบเง��อนไข้ ทำ�าก#อน 1 คืร��งแล่�วจ4งทำดสอบ

เง��อนไข้ แล่ะช้#วงเวล่าทำ��หย5ดทำ�างาน หย5ดทำ�างานเม��อเง��อนไข้เป6นจร�ง

Page 81: ครั้งที่ 10

81

Control Structures3. Repetition Control (Loop)

Do-While Control Structure Do-Until Control Structure

Page 82: ครั้งที่ 10

82

Step 3 – Validate Design เพั��อติรวจสอบ logic error ทำ��อาจเก�ดข้4�นในการ

ออกแบบข้��นทำ�� 2 Logic error คื�อข้�อผั�ดพัล่าดในการออกแบบทำ��ส#ง

ผัล่ให�โปรแกรมให�ผัล่การทำ�างานไม#ถ0กติ�อง ร0ปแบบการทำดสอบ 2 ว�ธี�

Desk check Inspection

Page 83: ครั้งที่ 10

83

Desk check ใช้� test data ในการทำดสอบข้��นติอนการทำ�างานทำ��ได�

ออกแบบไว� (Test data: ข้�อม0ล่ติ�วอย#างทำ��เล่�ยนแบบจากข้�อม0ล่จร�ง)

การทำดสอบประกอบด�วย 5 ข้��นติอน1 . ก�าหนด test data หล่ายๆร0ปแบบ (input)2. คื�านวณผัล่ (output) ล่#วงหน�า3. ใช้� test data ทำดสอบโปรแกรมติามล่�าด�บข้��น แล่ะจด

ผัล่ล่�พัธี,ทำ��ได�4. เปร�ยบเทำ�ยบผัล่จากข้��นทำ�� 3 แล่ะข้��นทำ�� 25. ทำ�าซ��าข้��นทำ�� 3,4 ก�บ test data ช้5ดอ��นๆ

Page 84: ครั้งที่ 10

84

Inspection ติรวจจ�บผัล่การทำ�างานระหว#างทำ��พั�ฒนาโปรแกรม

เราจะพับว#าโปรแกรมเมอร,สามารถแก�ไข้ error ได�ง#ายถ�าย�งอย0#ในระหว#างข้��นติอนน�� แติ#เม��อถ4ง Step 4: Implement Design แล่�วการแก�ไข้ error จะทำ�าได�ยากกว#ามาก

Page 85: ครั้งที่ 10

85

Step 4 – Implement Design เป6นช้#วงทำ��โปรแกรมเมอร,ใช้�เคืร��องม�อในการพั�ฒนา

โปรแกรม , เข้�ยน code (coding), แล่ะสร�าง user interface ส�าหร�บโปรแกรมทำ��ออกแบบไว�

Coding จะประกอบด�วย 2 ส#วนคื�อ Syntax – ข้�อก�าหนดทำ��ใช้�ในการเข้�ยนคื�าส��ง Comment – คื�าอธี�บายโปรแกรม (ไม#ถ0กประมวล่ผัล่)

Extreme Programming: การเข้�ยน code แล่ะทำดสอบระบบทำ�นทำ�ทำ��คืวามติ�องการถ0กก�าหนด

Page 86: ครั้งที่ 10

86

Step 5 – Test Solution ม�จ5ดประสงคื,เพั��อให�โปรแกรมปล่อด error ช้น�ดข้องคืวามผั�ดพัล่าด 2 ร0ปแบบ

Syntax Error: code ทำ��เข้�ยนไว�ไม#ถ0กติ�องติามร0ปแบบทำ��ก�าหนดเช้#น (,) หายหร�อเข้�ยนช้��อคื�าส��งผั�ด

Run-time Error: คืวามผั�ดพัล่าดข้ณะทำ��โปรแกรมทำ�างานเช้#น การร�บคื#าติ�วหารเป6น 0

คืวามผั�ดพัล่าดข้องการทำ�างานเหล่#าน��เร�ยกว#า bug แล่ะว�ธี�การติรวจสอบ bug เร�ยกว#า debugging

Page 87: ครั้งที่ 10

87

Step 6 – Document Solution ประกอบด�วยการทำ�างาน 2 ข้��นคื�อ

1 .ติรวจสอบ code: เพั��อก�าจ�ด dead code ซ4�งเป6น code ทำ��ไม#ได�ใช้�งานแล่�ว

2. ติรวจสอบเอกสารอ�กคืร��ง แล่ะจ�ดส#งเอกสารให�ก�บ system analyst

Page 88: ครั้งที่ 10

ยกติ�วอย#างเคืร��องม�อทำ��ช้#วยในการพั�ฒนาระบบสารสนเทำศั มา 3 อย#าง พัร�อมอธี�บายการทำ�างานมาพัอเข้�าใจ

ยกติ�วอย#างภาษาคือมพั�วเติอร,มา 5 ภาษา ยกติ�วอย#างเคืร��องม�อพั�ฒนาเว7บไซติ,มา 3 อย#าง

พัร�อมอธี�บายล่�กษณะการใช้�งานข้องเคืร��องม�อด�งกล่#าว อธี�บายคืวามหมายข้องการบร�หารโคืรงการโดยใช้�ระบบ

เทำคืโนโล่ย�สารสนเทำศั มาติามคืวามเข้�าใจ