Upload
saranyu-srisrontong
View
194
Download
0
Embed Size (px)
Citation preview
อลกอรทม (Algorithm)• แนวคดอยางมเหตผลทผเขยนโปรแกรมใชในการอธบายวธการอยาง
เปนขนตอนตามล าดบในการทจะพฒนาโปรแกรมนน ๆ ใหกบผทเปนเจาของงานหรอผทรบผดชอบไดทราบถงขนตอนตาง ๆ ในการเขยนหรอพฒนาโปรแกรม ขณะเดยวกนกชวยใหผทเปนเจาของงานหรอผทรบผดชอบไดตรวจสอบขนตอนตาง ๆ ในการท างานและความถกตองในแตละขนตอน โดยผทเปนเจาของงานหรอผทรบผดชอบนน ๆ ไมจ าเปนตองเขยนโปรแกรมเปน
Programmers
Highly trained technical specialists who write computer software instructions.
System Analysts
Specialists who translate business problems and requirements into information requirements and systems, acting as liaison between the information systems department and the rest of the organization.
Information System Managers
Leaders of the various specialists in the information systems department.
End Users
Representatives of departments outside the information systems group for whom information systems applications are developed.
องคประกอบของการจดท าอลกอรทม1.การวเคราะหปญหา (Analyze the Problem)
2.การออกแบบโปรแกรม (Program Design)
3.การเขยนโปรแกรม (Program Coding)
4.การทดสอบและแกไขขอผดพลาดของโปรแกรม
(Testing and Debugging)
5.การท าเอกสารประกอบโปรแกรม (Program Documentation)
6.การบ ารงรกษาโปรแกรม (Program Maintenance)
1. การวเคราะหปญหา (Systems Analysis)The analysis of a problem that the organization will try to
solve with an information system.Feasibility StudyAs part of the systems analysis process, the way to
determine whether the solution is achievable, given the organization’s resources and constraints.
Technical Feasibility, Economic Feasibility and Operational Feasibility
Establishing Information Requirements– การแสดงผล– การน าเขาขอมล– การประมวลผล– การตดตอกบผใชงาน
System Development Life Cycle : SDLC
7
การก าหนดและวเคราะหปญหา• ก าหนดขอบเขตของปญหา • ก าหนดลกษณะของขอมลเขาและออกจากระบบ (Input/Output
Specification) • ก าหนดวธการประมวลผล (Process Specification)
8
ตวอยางถาหากตองการออกแบบโปรแกรมใหคอมพวเตอรรบคาขอมล 3 คา และแสดงคาเฉลยทางจอภาพ อาจก าหนดและวเคราะหปญหาได ดงน 1. รบขอมลจากคยบอรด
– รบขอมลเฉพาะทเปนตวเลขมาเกบในตวแปร – ถาขอมลเทากบ 0 ใหรบใหม
2. หาคาเฉลย – รวมคาทกคาทรบมาเขาดวยกน – น าคาผลรวมทไดหารดวย 3– น าคาผลลพธไปเกบในตวแปร
3. แสดงผลลพธทางจอภาพ – แสดงค าวาคาเฉลยเทากบ – แสดงผลลพธโดยมทศนยมสองต าแหนง
2. การออกแบบโปรแกรม (Systems Design)Details how a system will meet the information
requirements as determined by the systems analysis.Logical DesignLays out the components of the information system and
their relationship to each other as they would appear to users.
Physical DesignThe process of translating the abstract logical model into
the specific technical design for the new system.The Role of End Users
2.1 ผงงาน (Flowchart)»ผงงานระบบ (System Flowchart)»ผงงานโปรแกรม (Program Flowchart)2.2 รหสล าลอง (Pseudo Code)
15
ตวอยาง
จงเขยนผงงานเพอก าหนดคาใหกบตวแปร a และ b แลวเปรยบเทยบเพอแสดงผล
ถาตวแปร a มคามากกวาตวแปร b ใหพมพคาตวแปร a ออกมาแสดงบนจอภาพ
ถาไมใช ใหพมพคาตวแปร b ออกมาแสดงบนจอภาพ
20
ซโดโคดซโดโคดเปนค าอธบายขนตอนการท างานของโปรแกรมโดย
ใชถอยค าผสมระหวางภาษาองกฤษและภาษาการเขยนโปรแกรมแบบโครงสรางทเขาใจงายมาแสดงล าดบการท างานของโปรแกรม หรออาจใชภาษาไทยกได โดยใหผเขยนโปรแกรมสามารถพฒนาขนตอนตาง ๆ ใหเปนโปรแกรมไดงายขน
22
การวเคราะหปญหาตวอยางท 1
จงเขยนแนวทางการแกปญหาดวยคอมพวเตอร ส าหรบใหคอมพวเตอรค านวณหาคาจางพนกงานเปนรายชวโมง จากนนแสดงคาจางทค านวณได
ตองการอะไรตองการทราบคาจางของพนกงานแตละคน
ตองการเอาตพตอยางไรตองการเอาตพตเปนคาจางสทธของพนกงานทางจอภาพ
23
ตวอยางการวเคราะหขอมลเขา
• รหสพนกงาน• ชอพนกงาน• จ านวนชวโมงท างานเกบในตวแปรชอ Hours• คาจางรายชวโมงเกบในตวแปรชอ PayRate
ก าหนดวธการค านวณคาจางสทธ = จ านวนชวโมง x อตราตอชวโมง
ขนตอนการประมวลผล1. เรมตน 2. รบรหสพนกงาน, ชอพนกงาน, จ านวนชวโมงท างาน, คาจางรายชวโมง 3. ค านวณ คาจางสทธ = Hours x PayRate 4. แสดงผลลพธ เปนรหสพนกงาน ชอ และคาจางสทธ 5. จบการท างาน
24
ตวอยางท 2จงเขยนแนวทางการแกปญหาดวยคอมพวเตอรในการหา
ปรมาตรทรงกระบอก และแสดงคาปรมาตรทค านวณได
ตองการอะไร
ตองการค านวณปรมาตรของรปทรงกระบอก ตองการเอาตพตอยางไร
คาปรมาตรทรงกระบอกเปนรปแบบเลขทศนยมทางจอภาพ
25
การวเคราะหปญหาขอมลเขา
ความสงของทรงกระบอก (h) และรศมของทรงกระบอก(r) เปนรปแบบเลขทศนยม
วธการค านวณปรมาตรทรงกระบอก = x รศม2 x ความสง
ขนตอนการประมวลผล1. เรมตน 2. รบคาความสงและคารศมของทรงกระบอก 3. ค านวณคาปรมาตร จาก ปรมาตร = x r2 x h 4. แสดงคาปรมาตรทรงกระบอกทางจอภาพ 5. จบการท างาน
3. การเขยนโปรแกรม1.ความสมพนธระหวางลกษณะของปญหาและความสามารถของภาษา2.ภาษาทมใชงานในขณะนน3.ขอจ ากดและสภาพแวดลอมบางประการของคอมพวเตอร
4. การทดสอบและแกไขขอผดพลาดของโปรแกรม• ขอผดพลาดทางไวยากรณ (Syntax Error)
• ขอผดพลาดจากการด าเนนงาน (Runtime Error)
• ขอผดพลาดทางตรรกะ (Logical Error)
การทดสอบความถกตองของโปรแกรม• การน าเขาขอมลทถกตอง (Valid Cases)
• การตรวจสอบขอบเขตของขอมล (Boundary Cases)
• การน าเขาขอมลทมลกษณะพเศษหรอไมปกต (Special or Unusual Cases)
• การน าเขาขอมลทไมถกตอง ( Invalid Cases)
การทดสอบเบดเสรจ (Integration Test)
การทดสอบระบบ (System Test)
การทดสอบเพอยอมรบ (Acceptance Test)
ConversionThe process of changing from the old system to the
new system.Parallel StrategyA safe and conservative conversion approach in
which both the old system and its potential replacement are run together for a time until everyone is assured that the new system functions correctly.
Direct Cutover StrategyA risky conversion approach in which the new system
completely replaces the old one on an appointed day.
Pilot Study StrategyA strategy to introduce the new system to a limited
area of the organization until it is proven to be fully functional; only then can the conversion to the new system across the entire organization take place.
Phased Approach StrategyIntroduces the new system in stages either by
functions or by organizational units.Conversion PlanProvides a schedule of all activities required to install a
new system.
5. การท าเอกสารประกอบโปรแกรม
• เอกสารประกอบโปรแกรมส าหรบผใชงาน (User
Documentation)
• เอกสารประกอบโปรแกรมส าหรบผเขยนโปรแกรม (Technical
Documentation)
6. การบ ารงรกษาโปรแกรม
แนวคดเกยวกบโปรแกรมแบบโครงสราง• โปรแกรม (Program) คอ ชดของค าสงทถกน ามาจดเรยงกน เพอ
ก าหนดใหคอมพวเตอรสามารถท างานไดตามทตองการ • โปรแกรมแบบโครงสรางเปนเทคนคทใชเปนแนวทางในการออกแบบ
โปรแกรม เพอใหโปรแกรมทเขยนขนมรปแบบทเปนมาตรฐาน สามารถประเมนผลและแกไขปรบปรงไดงาย
• โปรแกรมแบบโครงสราง หมายถง โปรแกรมทเขยนขนตามแบบแผนหรอกฎเกณฑทเปนมาตรฐาน มรปแบบการใชโครงสรางทลดหลนกนและมขนตอนการท างานทแนนอน โปรแกรมแบบโครงสรางทดจะตองงายตอการอาน การท าความเขาใจ และการแกไขปรบปรงโปรแกรมในภายหลง รวมทง สามารถท างานไดอยางมประสทธภาพ
• ในการเขยนโปรแกรมทมขนาดใหญและ/หรอมการท างานทสลบซบซอน ผขยนโปรแกรมจะท าการแบงโปรแกรมขนาดใหญออกเปนสวนยอยๆ เรยกวา มอดล (Module) แตละมอดลมลกษณะเหมอนโปรแกรมขนาดเลกทส าเรจสมบรณในตวเองและมความเปนอสระตอกน แตอาจมการสงผานขอมลใหกนระหวางมอดลได
• วตถประสงคหลก– เพอจ าแนกงานหรอโครงสรางของโปรแกรมทมขนาดใหญและ/หรอมการท างานทสลบซบซอนออกเปนมอดลหรอโปรแกรมขนาดเลกทมความสมบรณในตนเอง แลวจดรปโครงสรางรวมของมอดลตาง ๆ ใหเปนระเบยบ เพอเชอมโยงและประสานความสมพนธระหวางมอดลกลบขนเปนโปรแกรม
– เพอสรางและจดเกบมอดลทมการเรยกใชงานซ าบอยครงภายในโปรแกรม ผเขยนโปรแกรมจะไดไมตองเขยนมอดลนนซ าหลายหน
ประโยชนขอดจากการแบงโปรแกรมทมขนาดใหญออกเปนมอดล คอ• ท าใหลดความยงยากซบซอนในการเขยนและแกไขปรบปรง
โปรแกรมลงมาก เนองจากผเขยนโปรแกรมหรอผท าการแกไขปรบปรงโปรแกรมสามารถมองภาพรวมในการท างานของโปรแกรมไดงายและชดเจนมากขน
• การเขยนโปรแกรมสามารถท าไดงาย สะดวก และรวดเรวมากขน เนองจากแตละมอดลมลกษณะเหมอนโปรแกรมขนาดเลกทส าเรจสมบรณในตวเองและมความเปนอสระตอกน
• การทดสอบความถกตองและตรวจสอบการท างานของมอดลตาง ๆ ภายในโปรแกรมท าไดงายและสะดวกขน
การออกแบบโปรแกรมจากบนลงลาง (Top-Down Design) • วธการออกแบบวธหนงทผเขยนโปรแกรมจะท าการแบงโปรแกรมทมขนาด
ใหญและ/หรอมความซบซอนออกเปนสวนยอย ๆ เรยกวา มอดล (Module) แตละมอดลมลกษณะเหมอนโปรแกรมขนาดเลกทส าเรจสมบรณในตวเองและมความเปนอสระตอกน แตอาจมการสงผานขอมลใหกนในระหวางมอดลได
• ผออกแบบจะแบงโปรแกรมออกเปนสวนยอย โดยพจารณาจากระดบบนสดวา งานหรอโปรแกรมเรองนตองการท าอะไร แลวท าการแตกความคดยอยลงมาอกระดบหนงวา การแกปญหางานดงกลาวควรตองแบงออกเปนกสวนยอย อะไรบาง จากนนพจารณาวา ในแตละสวนยอยตองด าเนนการในเรองใดบาง และตองแบงสวนยอยใดลงไปอกระดบหนงหรอไม
• ขนตอนถดมา คอ การวางโครงสรางของโปรแกรมหรอโครงรางของสวนยอยตาง ๆ ในโปรแกรม โดยใชแผนภาพแบบล าดบขน (Hierarchy Chart) ซงจะแสดงใหเหนความสมพนธระหวางสวนยอยตาง ๆ และล าดบขนตอนในการท างานกอนหลงของแตละสวนยอย
• จากนนท าการวางแผนวา ในโปรแกรมจะใชตวแปรใดบาง ตวแปรใดทใชเฉพาะภายในสวนยอย ตวแปรใดทใชในการสงผานขอมลไปยงสวนยอยอน ตวแปรใดทใชรวมกนระหวางสวนยอยตาง ๆ และตวแปรใดทตองมการก าหนดคาเรมตน เมอการวางแผนดงกลาวเรยบรอย จงท าการเขยนรายละเอยดล าดบขนตอนการท างานของแตละสวนยอยดวยรหสล าลอง กอนท าการพฒนารหสล าลองไปสการเขยนโปรแกรมดวยภาษาคอมพวเตอรทเหมาะสม
หลกการเขยนโปรแกรมแบบโครงสราง• ก าหนดจดมงหมายของโปรแกรมใหชดเจนวา ตองการใหโปรแกรมท างาน
อะไร• พจารณาผลลพธทตองการ ก าหนดขอมลน าเขาและขนตอนวธทใชงาน• พจารณาความเหมาะสมในการแบงโปรแกรมออกเปนมอดลตางๆ โดย
ค านงถง คอ จ านวนครงของการเรยกใชแตละมอดล แตละมอดลควรท าหนาทประมวลผลเพยงหนาทเดยว รวมทง ควรท างานเปนอสระตอกนและจบในตวเอง แตอาจสงผานคาตวแปรไปยงมอดลอนภายในโปรแกรมได
• พจารณาผลลพธจากการท างาน ขอมลน าเขา และก าหนดตวแปรทใชในแตละมอดล รวมทงวางแผนการสงผานขอมลระหวางมอดลตาง ๆ ภายในโปรแกรม
• เขยนรหสล าลองของมอดลตาง ๆ ภายในโปรแกรม จากรายละเอยดโครงสรางของโปรแกรมทออกแบบไวในขนตอนกอน
• พฒนารหสล าลองในแตละมอดลของโปรแกรมดวยภาษาคอมพวเตอรทเหมาะสม
การแทนทโครงสรางขอมลในหนวยความจ า• แบบก าหนดขนาดของหนวยความจ ากอนการคอมไพล(Static memory allocation) => Static data structure
• แบบไมก าหนดขนาดของหนวยความจ ากอนการคอมไพล(Dynamic memory allocation) => Dynamic data structure
ขอควรค านงในกระบวนการจดการขอมล• ขอมลตองเปนตวแทนของเรองทตองการศกษา และตองถกจดเกบใน
รปแบบทสามารถเขาถงได• ขอมลตองถกจดระบบใหสามารถเขาถงไดอยางมประสทธภาพตาม
จดมงหมายตาง ๆ ของผใช• ขอมลตองถกประมวลผลและน าเสนอในรปแบบทตรงตาม
ความตองการของผใชอยางมประสทธภาพ• ขอมลตองถกจดเกบในลกษณะทสามารถปองกนความถกตอง
และจดการไดอยางมประสทธภาพ
การเพมประสทธภาพการท างานของโปรแกรม• ในการจดโครงสรางโปรแกรมออกเปนสวน ๆ ควรแยกสวนของโปรแกรม
ซงเปนการประมวลผล ไมตองการการโตตอบจากผใช (Non-Interactive Processing) ออกจากสวนทเปนการโตตอบระหวางโปรแกรมกบผใช
• ลดขนตอนการอานและเขยนจากแผนบนทกขอมล ซงจะท าใหประมวลผลโปรแกรมเรวขนกวาเดม
• ลดทศทางการไหล (Flow) ของทางเลอกในโปรแกรมทไมส าคญ• ลดการเรยกใชคาฟงกชน หรอโปรแกรมยอยทไมจ าเปน• ลดการประมวลผลตามล าดบขน (Sequential Processing) ทไมตองการ
พยายามเขยนโปรแกรมใหกระชบ
ใหนสตเขยนค าตอบของค าถามตอไปนลงในกระดาษ แลวสงพรอมระบรหสและชอของนสต ภายในวนจนทรท 20 ตลาคม 2557 กอน 12.00 น. ในLocker อ.ชตมณฑน Sc9 ชน 3 System Analysis และ System Design แตกตางกนอยางไร
จงอธบาย จงเปรยบเทยบความแตกตางระหวาง Logical Design และ Physical
Design ในกระบวนการพฒนาระบบ การทดสอบมความส าคญอยางไร และ
ประกอบดวยอะไรบาง Conversion คออะไร มกวธ อะไรบาง และแตละวธแตกตางกน
อยางไร