IMG 472
IMG 472
2
Methedology Methedology คื�อ กระบวนการน�าแนวคื�ด SDLC มาปฎิ�บ�ติ�จนสามารถใช้�การได� ในการปฎิ�บ�ติ�น��จะใช้�ส��งเหล่#าน��ช้#วยในการทำ�างาน โมเดล่ (Model) , เคืร��องม�อ (Tools) แล่ะเทำคืน�คื (Techniques) ติ#างๆ มาใช้�ก�บการพั�ฒนาซอฟติ,แวร,
Model ได�แก# - ผั�งงาน (Flowchart) - แผันภาพักระแสข้�อม0ล่ (Data Flow Diagram) - อ�อาร,ไดอะแกรม (ER Diagram) - ย0สเคืสไดอะแกรม (Use Case Diagram) ,
Class Diagram , Sequence Diagram
3
ว�ธี�การพั�ฒนาระบบแบบด��งเด�ม (The Traditional Approach)
ติ��งอย0#บนพั��นฐานข้องการพั�ฒนาระบบด�วยว�ธี�โคืรงสร�างแล่ะการโปรแกรมแบบโมด0ล่ เร�ยกว#า การพั�ฒนาระบบเช้�งโคืรงสร�าง (Structured Approach) โดยอาศั�ยการเข้�ยนโปรแกรมเช้�งโคืรงสร�าง (Structure Programming) ซ4�งประกอบด�วย
1. ช้5ดคื�าส��งทำ��เร�ยงเป6นล่�าด�บ (Sequence) 2. ช้5ดคื�าส��งทำ��ม�การติ�ดส�นใจ (Decision)
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
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)
6
Y
N
Flow Chart
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
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
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
10
- โปรแกรมจ�ดการฐานข้�อม0ล่ - โปรแกรมประมวล่ผัล่คื�าส��ง - โปรแกรมจ�ดการโคืรงการ - CASE TOOLS - Integrated Data
Environments (IDE)
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
12
เทูคืน�คื (Techniques) - เทำคืน�คืการเข้�ยนโปรแกรม - เทำคืน�คืการทำดสอบซอฟติ,แวร, - เทำคืน�คืการว�เคืราะห,แล่ะออกแบบระบบ
เช้�งว�ติถ5 - User Interview Technique
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นอะไรทำ��มากไปกว#าเคืร��องม�อช้#วยวาด
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
15
เป6นเคืร��องม�อทำ��ใช้�ส�าหร�บวาดไดอะแกรมหร�อแบบจ�าล่องระบบ (System Model) ติามทำ��ติ�องการ หร�อใช้�ส�าหร�บสร�างแบบจ�าล่องติามกรรมว�ธี�ข้องการพั�ฒนาระบบ (System Development Methodologies) ซ4�งแบบจ�าล่องทำ��วาดน��นสามารถล่�งก,ไปย�งแบบจ�าล่องอ��นๆ ทำ��เก��ยวข้�องได� เช้#น แผันภาพั UML Diagram, Data Flow Diagram หร�อ ER Diagram เป6นติ�น
16
เป6นเคืร��องม�อทำ��ใช้�บ�นทำ4กคื�าอธี�บายแล่ะรายล่ะเอ�ยดข้องระบบ ซ4�งม�กใช้�งานเพั��อประกอบคื�าอธี�บายข้องแบบจ�าล่องหร�อไดอะแกรมทำ��สร�างข้4�นในข้ณะน��น
17
เป6นเคืร��องม�อในการสร�างส#วนประกอบข้องระบบ ซ4�งประกอบไปด�วยอ�นพั5ติแล่ะเอาติ,พั5ติ โดยอ�นพั5ติแล่ะเอาติ,พั5ติเหล่#าน��สามารถน�าไปรวมเข้�าก�บแบบจ�าล่องระบบ แล่ะคื�าอธี�บายรายล่ะเอ�ยดระบบทำ��งสองได�
18
เป6นเคืร��องม�อทำ��ใช้�ส�าหร�บว�เคืราะห,แบบจ�าล่อง คื�าอธี�บายรายล่ะเอ�ยด แล่ะติ�นแบบเพั��อติรวจสอบคืวามถ0กติ�อง คืวามคืรบถ�วนสมบ0รณ, คืวามถ0กติ�องติรงก�น เพั��อเป6นไปติามกรรมว�ธี�ทำ��ถ0กติ�องแล่ะยอมร�บ
19
เป6นเคืร��องม�อทำ��ทำ�าการรวบรวม แล่ะจ�ดทำ�าเอกสารในร0ปข้องรายงานข้องแบบจ�าล่องระบบ คื�าอธี�บายรายล่ะเอ�ยด แล่ะระบบติ�นแบบ เพั��อให�สามารถน�าเอกสารรายงานเหล่#าน��ไปเสนอแก#เจ�าข้องระบบ ผั0�ใช้�งาน น�กออกแบบ หร�อน�กพั�ฒนา
20
เป6นเคืร��องม�อในการแปล่งหร�อการ Generate โดยอ�ติโนม�ติ� เช้#น ได�ทำ�าการออกแบบแผันภาพั ER ไดอะแกรม แล่ะให�ทำ�าการแปล่งเป6นฐานข้�อม0ล่ติามทำ��ติ�องการโดยอ�ติโนม�ติ� แล่ะรวมถ4งการแปล่งโมเดล่ให�เป6นรห�สโปรแกรม เป6นติ�น
21
22
23
ก&าหนด้ป(ญหาพัฒนาอลกอ
ร�ทู*มูเข้�ยนโปรแกรมูทูด้สอบและแก�ไข้โปรแกรมู
เข้�ยนเอกสารประกอบโปรแกรมูตั�ด้ตั,ง
โปรแกรมู
ข้,นตัอนการพัฒนาโปรแกรมู
เป$นส�วินข้องการก&าหนด้คืวิามูตั�องการ ศึ*กษา-วิ�เคืราะห� ออกแบบเก�0ยวิกบโปรแกรมูทู�0ตั�องการ ให�ชัด้เจน
ก�อนเร�0มูงานทูางเทูคืน�คื
ศึ*กษาวิ�เคืราะห�และก&าหนด้รายละเอ�ยด้ เก�0ยวิกบINPUT
PROCESS
OUTPUT
อลกอร�ทู*มู (Algorithm) หมูายถึ*ง ข้,นตัอนการทู&างานทู�0เป$นล&าด้บ
คือมูพั�วิเตัอร�ทู&างานทู�ละคื&าส0งตัามูล&าด้บ โปรแกรมูคือมูพั�วิเตัอร�จะประกอบด้�วิยคื&าส0งจ&านวินมูากทู�0คืวิบคื5มูให�คือมูพั�วิเตัอร�ทู&างานไปตัามูข้,นตัอนทู�0ก&าหนด้ไวิ�
อาจใชั�เคืร�0องมู�อตั�างๆชั�วิยในการแสด้งข้,นตัอน เชั�น
ผงงาน (FLOW CHART) ซู โด้โคืด้ (PSEUDOCODE)
แปลง อลกอร�ทู*มู คื&าส0งในภาษาคือมูพั�วิเตัอร�
การเข้�ยนคื&าส0งตั�องถึ กตัามูข้�อก&าหนด้ หร�อไวิยากรณ์� (Syntax) ข้องภาษาคือมูพั�วิเตัอร�ทู�0ใชั�
โปรแกรมูทู�0เข้�ยนด้�วิยภาษาระด้บส งเร�ยกวิ�า SOURCE PROGRAM จะตั�องถึ กแปล (COMPILE) เป$นภาษาเคืร�0อง ซู*0งเร�ยกวิ�า OBJECT PROGRAM และตั�องแก�ไข้ทู�0ผ�ด้ข้อง คื&าส0ง (SYNTAX ERROR)
ก�อนจ*งจะสามูารถึน&าไปทูด้สอบการใชั�งานได้�
ตั�องสร�างชั5ด้ข้�อมู ล (TEST DATA) เพั�0อทูด้สอบวิ�าโปรแกรมูสามูารถึทู&างาน (EXECUTE) ได้�ผลถึ กตั�องแน�นอน หร�อไมู� โด้ยตัรวิจสอบผลทู�0ได้�จากการ RUN โปรแกรมู ถึ�าผลการทู&างานไมู�ถึ กตั�อง (LOGICAL ERROR) ตั�องกลบไปแก�ไข้โปรแกรมู และทูด้สอบจนกวิ�าจะถึ กตั�อง
SOURCE
PROGRAM
COMPIL
E
OBJECT
PROGRAM
SYNTAX ERROR
แก�ไข้ โปรแกรมู
แปลและแก�ไข้โปรแกรมู
OBJECT
PROGRA
M
EXECUTE
ข้�อมู ล ทูด้สอบ
ผลลพัธี�
ตัรวิจสอบคืวิามูถึ กตั�อง ถึ�าผ�ด้กลบไปแก�ไข้และทูด้สอบโปรแกรมูใหมู�
RUN TEST
1. ฉบบโปรแกรมูเมูอร� ประกอบการเข้�ยน+ปรบปร5งโปรแกรมู 2. ฉบบผ �ใชั�
แนะน&าวิ�ธี�การใชั�งานโปรแกรมู
ทู&าการตั�ด้ตั,งโปรแกรมู ส&าหรบผ �ใชั�งานจร�ง อาจตั�องมู�การฝึ;กอบรมูการใชั�งานส&าหรบผ �
ใชั�ด้�วิย เพั�0อให�สามูารถึใชั�งานได้�อย�างถึ กตั�อง
ก&าหนด้ป(ญหาพัฒนาอลกอ
ร�ทู*มูเข้�ยนโปรแกรมูทูด้สอบและแก�ไข้โปรแกรมู
เข้�ยนเอกสารประกอบโปรแกรมูตั�ด้ตั,ง
โปรแกรมู
วิงจร การ
พัฒนาโปรแกรมู
เปล�0ยนแปลงแก�ไข้
การบ&าร5งรกษาโปรแกรมู
FLOWCHART
ใชั�ร ปสญญลกษณ์�
ประกอบ คื&าอธี�บายส,นๆ
SPEUDOCODE
ใชั�คื&าอธี�บายคืล�ายประโยคืในภาษาองกฤษ คืล�ายคื&าส0งในภาษาระด้บส ง
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
START / STOP DOCUMENT
INPUT / OUTPUT CONNECTION
PROCESS HARDDISK
DECISION TAPE
DIRECTIONS
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
/ อ�าน เข้�ยนข้�อมู ล READ / WRITE
/ ก&าหนด้คื�า คื&านวิณ์ var = expression
ตัด้ส�นใจ IF .. THEN … ELSE
ทู&างานซู&,า WHILE … DO …REPEAT … UNTIL …
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.
ตัวิอย�างโปรแกรมูภาษาปาสกาล
= เทู�ากบ
>มูากกวิ�า
< น�อยกวิ�า
< > ไมู�เทู�ากบ
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 ….
ชั�0อเร�ยกข้�อมู ล = ทู�0เก>บข้�อมู ลในหน�วิยคืวิามูจ&าประเภทูข้�อมู ล = วิ�ธี�เเทูนข้�อมู ล ในหน�วิยคืวิามู
จ&า
VAR COUNT: INTEGER;
TOTAL : REAL;
OK : CHAR;
NAME:STRING[20];
ตัวิแปร = น�พัจน�คื&านวิณ์Y = A + B - C * D / E
ล&าด้บการคื&านวิณ์ 1 *) / ก�อน - 2) + หลง ถึ�ามู�วิงเล>บ ทู&าจากวิงเล>บในส5ด้
1. แบบล&าด้บ
2 . แบบเง�0อนไข้
3 . แบบทู&างานซู&,า
cond
2S 1S
cond
Loop body
Exit loop
TRUE
FALSE
TRUE
FALSE
49
Computer Programs & Programming Languages Low-level Languages Procedural Languages Object-oriented Programming
Languages Other Programming Languages Web Page Development
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
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)
52
1. Machine Language เป6นภาษาโปรแกรมม��งร5 #นแรก ล่�กษณะภาษาจะใช้� binary
digit (0,1) หร�อใช้�คื�า (ติ�วอ�กษร + ติ�วเล่ข้ ) แทำนคื#า binary digit
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
54
โปรแกรมเมอร,เข้�ยนคื�าส��งทำ��บอกให�คือมพั�วเติอร,ทำ�างานบางอย#างแล่ะว�ธี�การทำ��จะทำ�างานน��น
เร�ยกอ�กช้��อว#า 3GL (third-generation language) โดยใช้�คื�าทำ��เหม�อนประโยคืภาษาอ�งกฤษแทำนคื�าส��งเช้#น ADD แทำน Addition PRINT
ส�าหร�บ 1 คื�าส��งข้อง 3GL จะสามารถแปล่งเป6น machine language ได�หล่ายคื�าส��ง
55
Compiler ทำ�าหน�าแปล่ง
3GL ให�เป6น machine language ทำ��งโปรแกรม (.exe)
56
Interpreter ทำ�าหน�าทำ��แปล่ง
แล่ะประมวล่ผัล่ทำ�ล่ะคื�าส��ง
57
COBOL (Common Business-oriented Language) พั�ฒนาโดยนาว�กโยธี�น Grace Hopper เหมาะส�าหร�บการคื�านวณ pay roll, billing
C พั�ฒนาโดย Dennis Ritchie (Bell Lab) โดย
เร��มจากการใช้�เข้�ยน system software ใช้�โดย professional เพัราะม�คืวามซ�บซ�อนส0ง
58
59
ข้�อด�คื�อสามารถน�าโปรแกรมทำ��เข้�ยนไว�ไปใช้�ใหม#ในโปรเจคือ��นๆได�ง#าย
เป6น Event-Driven Programming คื�อโปรแกรมจะทำ�างานเม��อเก�ดเหติ5การณ,หน4�งๆ ข้4�นเช้#น click mouse, กดคื�ย,บอร,ด
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
61
C++ พั�ฒนาโดย Bjarne Sroustrup (Bell Lab) พั�ฒนาเพั��มเติ�มจากภาษา C ให�เป6น OO-
Programming C#
พั�ฒนาโดย Anders Hejlsberg (Microsoft) พั�ฒนาจาก C++ เพั��อใช้�เป6นมาติรฐานส�าหร�บการสร�าง
Web Application แล่ะ XML-based Web services
62
Fifth-generation language (5GL) ม� graphic user interface ทำ��เร�ยกว#า visual
programming environment (VPE) ทำ��ช้#วยพั�ฒนาโปรแกรม โดยสามารถ drag and drop เคืร��องม�อติ#างๆ มาใช้�งานได�
ใช้�ใน RAD (Rapid Application Development) ซ4�งม�หล่�กการคื�อใช้�เคืร��องม�อทำ��ได�สร�างไว�ก#อนแล่�ว น�ามาใช้�ในการพั�ฒนาโปรแกรมเช้#น button, textbox
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@ม
64
Delphi Powerful visual programming tool Ideal for large-scale enterprise and Web
applications
65
PowerBuilder Another powerful visual programming tool Best suited for Web-based and large-scale
object-oriented applications
66
RPG (Report Program Generator) ช้#วยสร�างรายงานทำางธี5รก�จ ใช้�บน IBM midrange computers เช้#น AS/400
4GLs (Forth-generation language) เป6น nonprocedural language คื�อใช้�ประโยคืภาษาอ�งกฤษเพั��อด4งข้�อม0ล่จากฐานข้�อม0ล่ SQL (Query Language)
67
HTML (Hypertext Markup Language) เป6นภาษาทำ��ใช้�ในการจ�ดร0ปแบบเอกสาร ไม#ใช้# Programming Language โดยติรง
68
Scripts, Applets, Servlets, & ActiveX Controls เป6นภาษาทำ��ใช้�ในการสร�างภาพัเคืล่��อนไหวหร�อ
โปรแกรมโติ�ติอบให�ก�บเวบเพัจ ติ�องทำ�างานภายใติ�โปรแกรมอ��น เช้#น web
browser ถ�าติ�องการส#งผั#านข้�อม0ล่ระหว#าง client ก�บ
web server จะใช้� CGI (Common Gateway Interface) เป6นมาติรฐานในการเช้��อมติ#อ โดยภาษาทำ��ใช้�เข้�ยนโปรแกรมในการใช้�งาน CGI เราเร�ยกว#า CGI Script
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)
70
Dynamic HTML (DHTML) เป6นร5 #นใหม#ข้อง HTML ทำ��เพั��มคืวามสามารถด�านการ
แสดงผัล่กราฟฟ9คืแล่ะการโติ�ติอบก�บผั0�ใช้� โดยไม#ติ�องติ�ดติ#อกล่�บไปทำ�� web server
ประกอบด�วยส#วนติ#างๆ เหล่#าน��ทำ�างานร#วมก�น Document Object Model (DOM) ทำ��เป6นโคืรงสร�าง
ข้องส#วนติ#างๆ ในเว7บเพัจเช้#น ร0ป , ติาราง Style Sheet ร0ปแบบข้องติ�วอ�กษรแล่ะย#อหน�า Scripting Language
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
72
Web Page Authoring Software สร�างเวบไซติ,ทำ��ม�โคืรงสร�างซ�บซ�อนได�โดยไม#ติ�องเร�ยนร0 �
HTML โปรแกรมจะทำ�าหน�าทำ�� generate HTML ให�โดยอ�ติโนม�ติ�
FrontPaFrontPagege
20032003
FlashFlashMXMX
DreamweaveDreamweaverr
MXMX
73
ข้��นติอนการพั�ฒนาโปรแกรมซ4�งประกอบด�วย
เม��อโปรแกรมเมอร,ทำ�าการแก�ไข้ errorหร�อเพั��มคืวามสามารถก�บโปรแกรม เราเร�ยกว#า maintaining program
74
Step 1 – Analyze Requirements1 . ติรวจสอบคืวามติ�องการ2. ประช้5มร#วมก�บ system analyst แล่ะ user3. ระบ5 input, process, output แล่ะ data
component – IPO Chart เป6นติารางทำ��แสดงรายล่ะเอ�ยดข้อง input แล่ะข้��นติอน
ในการแปล่ง input ให�เป6น output
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
76
Structured Design หร�อ Top-down design ซ4�งเร��มจากการออกแบบเบ��องติ�น (main
routine)แล่�วแยกย#อยล่งในรายล่ะเอ�ยด (subroutine) เป6นล่�าด�บช้��น แผันภาพัทำ��ใช้�แสดงเร�ยกว#า hierarchy chart หร�อ structure chart
77
Object-oriented Design จ�ดกล่5#มข้�อม0ล่แล่ะการทำ�างานทำ��
เหม�อนก�นเป6นหน#วยทำ��เร�ยกว#า class
คืวามคื�ดในการจ�ดกล่5#มแบบน��เร�ยกว#า Encapsulation ซ4�งหมายถ4งการซ#อนคืวามซ�บซ�อนข้องข้�อม0ล่แล่ะการทำ�างานภายใติ� object
78
Control Structures คื�อคื�าส��งทำ��ใช้�ในการคืวบคื5มการทำ�างานข้องโปรแกรม
ซ4�งประกอบด�วย1. Sequence Control
– แสดงการทำ�างานเป6นล่�าด�บข้��น ทำ��ม�งานหน4�งติามด�วยอ�กการทำ�างาน
79
Control Structures2. Selection Control
– ส��งให�โปรแกรมทำ�างานติามเง��อนไข้ซ4�งม� 2 แบบคื�อ If-then-else: ม� 2 ทำางเล่�อก (true/false) Case: ม�ได�ติ��งแติ#ง 1 – n ทำางเล่�อก
If-then-else Case
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นจร�ง
81
Control Structures3. Repetition Control (Loop)
Do-While Control Structure Do-Until Control Structure
82
Step 3 – Validate Design เพั��อติรวจสอบ logic error ทำ��อาจเก�ดข้4�นในการ
ออกแบบข้��นทำ�� 2 Logic error คื�อข้�อผั�ดพัล่าดในการออกแบบทำ��ส#ง
ผัล่ให�โปรแกรมให�ผัล่การทำ�างานไม#ถ0กติ�อง ร0ปแบบการทำดสอบ 2 ว�ธี�
Desk check Inspection
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ดอ��นๆ
84
Inspection ติรวจจ�บผัล่การทำ�างานระหว#างทำ��พั�ฒนาโปรแกรม
เราจะพับว#าโปรแกรมเมอร,สามารถแก�ไข้ error ได�ง#ายถ�าย�งอย0#ในระหว#างข้��นติอนน�� แติ#เม��อถ4ง Step 4: Implement Design แล่�วการแก�ไข้ error จะทำ�าได�ยากกว#ามาก
85
Step 4 – Implement Design เป6นช้#วงทำ��โปรแกรมเมอร,ใช้�เคืร��องม�อในการพั�ฒนา
โปรแกรม , เข้�ยน code (coding), แล่ะสร�าง user interface ส�าหร�บโปรแกรมทำ��ออกแบบไว�
Coding จะประกอบด�วย 2 ส#วนคื�อ Syntax – ข้�อก�าหนดทำ��ใช้�ในการเข้�ยนคื�าส��ง Comment – คื�าอธี�บายโปรแกรม (ไม#ถ0กประมวล่ผัล่)
Extreme Programming: การเข้�ยน code แล่ะทำดสอบระบบทำ�นทำ�ทำ��คืวามติ�องการถ0กก�าหนด
86
Step 5 – Test Solution ม�จ5ดประสงคื,เพั��อให�โปรแกรมปล่อด error ช้น�ดข้องคืวามผั�ดพัล่าด 2 ร0ปแบบ
Syntax Error: code ทำ��เข้�ยนไว�ไม#ถ0กติ�องติามร0ปแบบทำ��ก�าหนดเช้#น (,) หายหร�อเข้�ยนช้��อคื�าส��งผั�ด
Run-time Error: คืวามผั�ดพัล่าดข้ณะทำ��โปรแกรมทำ�างานเช้#น การร�บคื#าติ�วหารเป6น 0
คืวามผั�ดพัล่าดข้องการทำ�างานเหล่#าน��เร�ยกว#า bug แล่ะว�ธี�การติรวจสอบ bug เร�ยกว#า debugging
87
Step 6 – Document Solution ประกอบด�วยการทำ�างาน 2 ข้��นคื�อ
1 .ติรวจสอบ code: เพั��อก�าจ�ด dead code ซ4�งเป6น code ทำ��ไม#ได�ใช้�งานแล่�ว
2. ติรวจสอบเอกสารอ�กคืร��ง แล่ะจ�ดส#งเอกสารให�ก�บ system analyst
ยกติ�วอย#างเคืร��องม�อทำ��ช้#วยในการพั�ฒนาระบบสารสนเทำศั มา 3 อย#าง พัร�อมอธี�บายการทำ�างานมาพัอเข้�าใจ
ยกติ�วอย#างภาษาคือมพั�วเติอร,มา 5 ภาษา ยกติ�วอย#างเคืร��องม�อพั�ฒนาเว7บไซติ,มา 3 อย#าง
พัร�อมอธี�บายล่�กษณะการใช้�งานข้องเคืร��องม�อด�งกล่#าว อธี�บายคืวามหมายข้องการบร�หารโคืรงการโดยใช้�ระบบ
เทำคืโนโล่ย�สารสนเทำศั มาติามคืวามเข้�าใจ