itsc2301 software engineering
Download
Skip this Video
Download Presentation
วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ (Software Engineering)

Loading in 2 Seconds...

play fullscreen
1 / 32

ITSC2301 Software Engineering - PowerPoint PPT Presentation


  • 155 Views
  • Uploaded on

วิชา ITSC2301 วิศวกรรมซอฟต์แวร์ (Software Engineering). อาจารย์ผู้สอน อ. พรภัทรา ภัทรจารี วท.ม. (เทคโนโลยีสารสนเทศและการสื่อสาร : Data communication & Network ) สถาบันเทคโนโลยีพระจอมเกล้า พระนครเหนือ วท.บ. (วิทยาการคอมพิวเตอร์) มหาวิทยาลัยเกษตรศาสตร์. แนะนำรายวิชา.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ITSC2301 Software Engineering' - kat


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
itsc2301 software engineering
วิชา ITSC2301วิศวกรรมซอฟต์แวร์ (Software Engineering)

อาจารย์ผู้สอน

อ. พรภัทรา ภัทรจารี

วท.ม. (เทคโนโลยีสารสนเทศและการสื่อสาร :Data communication & Network)

สถาบันเทคโนโลยีพระจอมเกล้า พระนครเหนือ

วท.บ. (วิทยาการคอมพิวเตอร์)

มหาวิทยาลัยเกษตรศาสตร์

slide2
แนะนำรายวิชา
  • เนื้อหาวิชาครอบคลุมพื้นฐานทางวิทยาศาสตร์สำหรับวิศวกรรมซอฟต์แวร์โดยเรียนรู้กระบวนการพัฒนาและ วัฏจักรในการพัฒนาซอฟต์แวร์ ซึ่งมุ่งเน้นไปที่การนำหลักการเชิงวัตถุมาใช้กับรูปแบบการพัฒนาซอฟต์แวร์ รวมทั้งครอบคลุมถึงกลยุทธ์ต่างๆ ที่ใช้ในการพัฒนาซอฟต์แวร์
slide3
ข้อตกลงในชั้นเรียน
  • เวลาเข้าเรียนไม่ต่ำกว่าร้อยละ 80
    • ขาดได้ไม่เกิน 3 ครั้ง
    • มาสายกว่าเวลาเรียนครึ่งชั่วโมง 2 ครั้ง ถือว่าขาด 1 ครั้ง
  • ส่งงานที่ได้รับมอบหมายทั้งหมดครบและตรงตามระยะเวลาที่กำหนด
  • การแต่งกาย ให้เป็นไปตามระเบียบมหาวิทยาลัยกำหนด หากฝ่าฝืนจะไม่ได้รับอนุญาตให้เข้าชั้นเรียน
slide4
ข้อตกลงในชั้นเรียน
  • หากนักศึกษาผู้ใดไม่ได้เข้าสอบกลางภาค และมาติดต่อผู้สอนหลังจากสัปดาห์ที่ 12 ไปแล้ว จะไม่ได้รับอนุญาตให้สอบกลางภาค ยกเว้นกรณี
    • ป่วย,ได้รับอุบัติเหตุ
    • มีกิจธุระสำคัญทางราชการ

โดยจะต้องทำจดหมายลาหรือมีหนังสือชี้แจงล่วงหน้า ทั้งนี้ขึ้นอยู่กับดุลยพินิจของผู้สอน

slide5
ข้อตกลงในการกำหนดคะแนนข้อตกลงในการกำหนดคะแนน
  • ระหว่างภาค (70%) แบ่งเป็น
    • ความสนใจ (การเข้าเรียน จริยธรรม และ การแต่งกาย) 15%
    • งานที่ได้รับมอบหมาย 25%
    • สอบกลางภาค 30%
  • ปลายภาค (30%)
    • สอบปลายภาค 30%
slide6
ระดับการประเมินผล (อิงเกณฑ์)
  • 80-100 A
  • 75-79 B+
  • 70-74 B
  • 65-69 C+
  • 60-64 C
  • 55-59 D+
  • 50-54 D
  • 0-49 E
slide7
เรียนอะไรในวิชา
  • บทนำ-วิศวกรรมซอฟต์แวร์ (Introduction to Software Engineering)
  • ภาพรวมของกระบวนการ (A Generic View of Process)
  • แบบจำลองกระบวนการพัฒนาระบบ (Process Model)
  • การประมาณการซอฟต์แวร์ (Software Estimation)
  • วิศวกรรมความต้องการ (Requirement Engineering)
  • การสร้างแบบจำลองการวิเคราะห์ (Analysis Model)
  • การวิเคราะห์เชิงวัตถุ (Object Oriented Analysis)
  • วิศวกรรมการออกแบบ (Design Engineering)
  • การออกแบบส่วนต่อประสานผู้ใช้ (User Interface Design)
  • การทดสอบซอฟต์แวร์ (Testing)

สอบกลางภาค

สอบปลายภาค

slide8
หนังสือที่ใช้ในการทบทวนหนังสือที่ใช้ในการทบทวน
  • วิศวกรรมซอฟต์แวร์ (Software Engineering)

Roger S. Pressman แปลโดย ผศ.ดร.พรฤดี เนติโสภากุล

  • การวางแผนโครงการพัฒนาซอฟต์แวร์ (Software Project Planning)

เมสินี นาคมณี

introduction
Introduction
  • วิศวกรรมซอฟต์แวร์ (Software Engineering)

มุมมองทางการศึกษาในแง่ของสาขาวิชา

ในปี ค.ศ. 1968 คำว่า”วิศวกรรมซอฟต์แวร์(software engineering)” ถูกใช้อย่างแพร่หลายเพื่อแสดงถึงกิจกรรมต่างๆที่รวมถึงการเขียนโปรแกรม (programming) และการรหัส(coding) [Macro, 1987]. ก่อนปี ค.ศ. 1974 สาขาวิชาวิศวกรรมซอฟต์แวร์ยังไม่ปรากฏ [Barnes, 1998]. สถาบันเทคโนโลยีโรเชสเตอร์ (The Rochester Institute of Technology (RIT)) ในประเทศสหรัฐอเมริกาได้อ้างว่าเป็นสถาบันแรกที่แนะนำหลักสูตรปริญญาตรีสาขาวิศวกรรมซอฟต์แวร์ [Lutz, 1999].

software engineering
วิศวกรรมซอฟต์แวร์ (Software Engineering)
  • วิศวกรรมซอฟต์แวร์ คือกระบวนการสร้างสรรค์โปรแกรมโดยใช้หลักทางวิศวกรรมเข้ามาช่วยในการดำเนินการสร้าง (อ.สมหมาย สุขคำ)
  • “Software Engineering is systematic approach to the development operation , maintenance , retirement of software” (IEEE 83b)
  • “วิชาการว่าด้วยการออกแบบโปรแกรมคอมพิวเตอร์ ตลอดจนการบริหารงานการพัฒนาเพื่อที่จะได้มาซึ่ง ผลิตผลซอฟต์แวร์ที่มีคุณภาพสูง ราคาถูก และภายในเวลาที่กำหนดให้” (สุชาย ธนวเสถียร)
slide11
วิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์วิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์
  • วิทยาการคอมพิวเตอร์ (Computer Science)

อยู่บนรากฐานของวิทยาศาสตร์ ซึ่งเน้นการทำความเข้าใจและค้นหาความจริงเกี่ยวกับความรู้ทางคอมพิวเตอร์ เพื่อสร้างแนวคิด/ทฤษฎีใหม่ หรือ ปฏิเสธแนวคิด/ทฤษฎีเดิม และขยายวงความรู้ให้กว้างขึ้นจากแนวคิด/ทฤษฎีที่มีอยู่

* ผลงานถูกพิจารณา หรือ ตัดสินโดยกลุ่มนักวิทยาศาสตร์

slide12
วิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์วิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์
  • วิศวกรรมซอฟต์แวร์ (Software Engineering)

อยู่บนรากฐานของวิธีการทางวิศวกรรมศาสตร์ ซึ่งประยุกต์แนวคิด/ทฤษฎีทางวิทยาศาสตร์ คณิตศาสตร์และเทคโนโลยีขณะนั้นในการสร้างผลิตภัณฑ์ที่เป็นประโยชน์และปลอดภัยต่อสาธารณะ

* ผลงานถูกพิจารณา หรือ ตัดสินโดยกลุ่มผู้ใช้

slide13
ลักษณะของวิศวกรรมซอฟต์แวร์
  • เกี่ยวข้องกับการสร้างโปรแกรมขนาดใหญ่
  • สามารถจัดการเกี่ยวกับความซ้ำซ้อนได้
  • เน้นการทำงานร่วมกันของบุคลากร
  • สามารถเปลี่ยนแปลงได้ง่ายเมื่อจำเป็น
  • เน้นการพัฒนาให้มีประสิทธิภาพ
  • สนองความต้องการของผู้ใช้
slide14
องค์ประกอบของการวิศวกรรมซอฟต์แวร์องค์ประกอบของการวิศวกรรมซอฟต์แวร์
  • การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต (production) ที่ประกอบด้วยกิจกรรมช่วงต่างๆ เพื่อสร้างผลิตภัณฑ์ซอฟต์แวร์ (software products) การทำกิจกรรมในแต่ละช่วงอาศัยเทคนิคและเครื่องมือช่วยต่างๆ (support tools) ที่นักวิชาการคอมพิวเตอร์และนักวิจัยได้เสนอไว้
slide15
องค์ประกอบของการวิศวกรรมซอฟต์แวร์องค์ประกอบของการวิศวกรรมซอฟต์แวร์

Software production processes

Software products

Support tools /Environments

Market places / users

slide16
คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์
  • Understandability : มีการนิยามขอบเขตของกระบวนการที่ชัดแจ้งและง่ายต่อการเข้าใจ
  • Visibility : ทำให้กิจกรรมกระบวนการชัดเจนที่สุดเพื่อสามารถมองเห็นจากภายนอกได้ชัดเจน
  • Supportability : เครื่องมือช่วยการวิศวกรรมซอฟต์แวร์ (CASE)สามารถช่วยสนับสนุนกิจกรรมกระบวนการในขอบเขตใด
slide17
คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์
  • Acceptability : กระบวนการที่กำหนดสามารถยอมรับและใช้โดยวิศวกรซอฟต์แวร์ในการผลิตผลิตภัณฑ์ซอฟต์แวร์
  • Reliability : กระบวนการถูกออกแบบในแนวทางซึ่งความผิดพลาดของกระบวนการถูกหลีกเลี่ยงก่อนที่จะส่งผลต่อความผิดพลาดของผลิตภัณฑ์ซอฟต์แวร์
  • Robustness : กระบวนการสามารถทำงานต่อได้แม้นว่ามีปัญหาที่ไม่คาดการณ์เกิดขึ้น
slide18
คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์
  • Maintainability : กระบวนการสามารถวิวัฒนาการเพื่อตอบสนองการเปลี่ยนแปลงความต้องการขององค์กร
  • Rapidity : กระบวนการสามารถทำให้ส่งมอบผลิตภัณฑ์ได้เร็วนับจากที่รูปแบบคุณลักษณะของซอฟต์แวร์(Software specifications) ถูกกำหนด
introduction19
Introduction
  • ซอฟต์แวร์ (software) หมายถึงชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงหมายถึงลำดับขั้นตอนการทำงานที่เขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์ คำสั่งเหล่านี้เรียงกันเป็นโปรแกรมคอมพิวเตอร์
  • ซอฟต์แวร์ หมายรวมถึงโปรแกรมคอมพิวเตอร์ทุกประเภทที่ทำให้คอมพิวเตอร์ทำงานได้
introduction20
Introduction
  • คุณสมบัติของซอฟต์แวร์
    • ซอฟต์แวร์ถูกพัฒนาหรือจัดการให้เกิดขึ้น
    • ซอฟต์แวร์ไม่สึกหรอ
    • ถูกสร้างตามแบบที่ลูกค้าต้องการ (Custom build)
slide22
การเสื่อมสภาพของซอฟต์แวร์ (อุดมคติ)

ความผิดพลาด

เวลา

slide23
การเสื่อมสภาพของซอฟต์แวร์การเสื่อมสภาพของซอฟต์แวร์

ความผิดพลาด

เวลา

software
ซอฟต์แวร์ (software)
  • ชนิดของซอฟต์แวร์

หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน แบ่งแยกซอฟต์แวร์ได้เป็น 2 ประเภท คือ

    • ซอฟต์แวร์ระบบ (system software)
    • ซอฟต์แวร์ประยุกต์ (application software)
software25
ซอฟต์แวร์ (software)
  • ซอฟต์แวร์ระบบ คือ ซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบคือดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง
software26
ซอฟต์แวร์ (software)
  • ซอฟต์แวร์ประยุกต์ เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ
software28
ซอฟต์แวร์ (software)
  • ชนิดของซอฟต์แวร์

ในปัจจุบัน สามารถแบ่งลักษณะของซอฟต์แวร์ออกเป็น 7 ประเภท ดังนี้

1. ซอฟต์แวร์ระบบ (System Software)

2. ซอฟต์แวร์ประยุกต์ (Application Software)

3. ซอฟต์แวร์เชิงวิศวกรรม/วิทยาศาสตร์ (Engineering/Scientific Software)

4. ซอฟต์แวร์ฝังตัว (Embedded Software)

software29
ซอฟต์แวร์ (software)

5. ซอฟต์แวร์สายการผลิต (Product-line Software)

6. เว็บแอพพลิเคชั่น (Web-application)

7. ซอฟต์แวร์ปัญญาประดิษฐ์ (Artificial Intelligence Softwear)

software evolution
วิวัฒนาการของซอฟต์แวร์ (Software Evolution)
  • กฎแห่งการเปลี่ยนแปลงอย่างต่อเนื่อง (Law of Continuing Change)
  • กฎแห่งความซับซ้อนที่เพิ่มขึ้น (Law of Increasing Complexity)
  • กฎแห่งการวางระเบียบตัวเอง (Law of Self-regulation)
  • กฎแห่งอนุรักษ์สภาพเสถียรการจัดระเบียบ (Law of Conservation of Organizational Stability)
  • กฎการคงไว้ซึ่งความคุ้นเคย (Law of Conservation of Familiarity)
software evolution31
วิวัฒนาการของซอฟต์แวร์ (Software Evolution)
  • กฎแห่งการเติบโตอย่างต่อเนื่อง (Law of Continuing Growth)
  • กฎแห่งการลดลงซึ่งคุณภาพ (Law of Declining Quality)
  • กฎระบบย้อนกลับ (Feedback System Law)
the end
THE END
  • นักศึกษาสามารถดาวน์โหลด เอกสารประกอบการเรียน ได้ที่ http://dearnan.wordpress.com
  • จะนำPowerPoint ประกอบการเรียนขึ้นเว็บภายในวันอาทิตย์
ad