Software Development Life Cycle หรืก Software Development Process
คือ โครงสร้างการพัฒนาซอฟต์แวร์โดยการพัฒนาพวกนี้นะจะมีโมเดลเป็ฯตัวกำกับ แต่โมเดลนี่ไม่ใช่อะไรที่สำคัญมากมายหรอกนะ เพียงแต่เป็นตัวให้เห็นรุปที่ชัดขึ้นเท่านั้นว่ารูปแบบการทำงานของการพัฒนา ส่วนนี้เป็นอย่างไรซึ่งส่วนมากจะเป็นทฤษฏีที่เราจะต้องเอาไป ประยุกต์เอาเองนะ และการพัฒนาซอฟต์แวร์จริงๆแล้วอะนะ ไม่จำเป็นที่จะยึดหลักของโมเดลตัวใดตัวหนึ่งตัวเดี๋ยวนะครับ อาจจะเป็นการรวมกันของหลาย
โมเดลได้เช่น ถ้าเราจะทำโดยใช้ Waterfall Model เป็นหลักในแต่ละตัวของ Waterfall Model เราอาจจะใช้ V-Shaped เข้ามาช่วยก็ได้นะ แต่ส่วนมากเค้าจะบรรยายออกมาเป็นโมเดลหลักและย่อยก่อนนะ ดังนั้นการจะใช้โมเดลได้นั้นเราต้องเป็นพวกที่มีการวิเคราะห์ดีซึ่งจะไปอยู่ ในระดับของProject Manager นะครับ
ส่วนต่างๆของการ พัฒนซอฟต์แวร์ หรือ สเต็ปการพัฒนาซอฟต์แวร์นะ หลักมีดังนี้(บอกไว้ก่อนนะว่าบางตำราอาจไม่ใช่งี้แต่นี่อ้างอิงมาจากวิกินะ)
Domain Analysis
ภาษา ไทยเรียกว่าไรไม่รู้ คริๆ ไอ้ตัวนี้นะส่วนมากมันจะเป็นตัวแรกของการพัฒนาเลยไม่ว่าจะเป็นการตอ่เติม ระบบที่มีอยู่แล้วหรือว่าจะเห็นการสร้างระบบใหม่ขึ้นมาเลย หัวข้อนี้นะมันจะอยู่ในวิชา Requirement Analysis ด้วยนะครับ อ้าาาาจะอธิบายยังไงดีนะ อืม เอาเป็นว่า ในส่วนนี้นะคือทำความคุ้นเคยกับระบบ และการเก็บความต้องการของลูกค้า(user)ว่าลูกค้าของเราต้องการระบบแบบไหน อะในส่วนแรกก่อนนะครับคือว่าทำความคุ้นเคยกับระบบ คือ เวลาเราจะพัฒนาซอฟต์แวร์ ขึ้นมานั้นเราจะพัฒนาได้เลยใหม ในเมื่อซอฟต์แวร์ที่เราจะพัฒนานั้นไม่ได้อยู่ในสายงานของเราเช่น เราเป็น Software Engineer [...]
Principle ของ Software อันที่จริงมันก็เป็นสิ่งที่ผมเรียนมาตอนปี 1 แล้วนะ มา ณ ตอนนี้ก็ปี 3 แล้วล่ะ ไงก็จะลองอธิบายเพื่อให้น้องๆได้เข้าใจแล้วกันนะ ใครมีข้อเสนออะไรก็ comment เลยนะครับ ช่วยๆกันผมเองก็หาข้อมูลอยู่หลายที่นะกว่าจะเข้าใจแต่ละตัวได้ อืมไปลองดูกันเลยละกันเนอะ
1. Rigor and formality
Rigor นี่จะช่วยให้การพัฒนาซอฟต์แวร์ของเราน่ะมีแนวโน้มไปในทางที่ถูกต้องมากขึ้น หรือเหมือนกับเป็นตัวที่ทำให้เราสามารถมั่นใจได้ว่านี่คือสิ่งที่ถูกสิ่งที่ ดีในการพัฒนาซอฟต์แวร์ มันจะสัมพันธ์กับคำว่า Formality หรือ สิ่งที่เป็นทางการ คือตัวนี้จะเป็น Rigor ด้วยเหมือนกันแต่จะเป็น Rigor ในระดับที่สูงที่สุดคือมีการ พิสูจน์ออกมาเป็นทางสมการคณิตศาสตร์ หรือออกมาในรูปมาตรวัดต่างๆที่ใช้คณิตศาสตร์เข้ามาเกี่ยวข้อง ความแตกต่างของ Rigor กับ Formality นะครับ ง่ายๆเลยคือว่าดูว่า Formality จะมี คณิตศาสตร์เข้ามาเกี่ยวข้องเพื่อให้เป็นทางการมากที่สุด
ตัวอย่าง : ลิฟต์
Rigor and formality : ความเป็น Formality ของตัวนี้คือบอกได้ว่าลิฟต์จะจุผู้โดยสายได้กี่คนโดยหน่วยเป็นน้ำหนักรวม, ลิฟต์จะหยุดด้วยความเร็วเท่าไหร่มีระยะการเบรคเท่าไหร่ นี่เป็นตัวอย่างของ ลิฟต์ ที่ใช้ [...]
Functionality
Suitability: ตรงกับงานนั้นเช่น ATM ต้องกดเงินได้ก็คือต้องจ่ายเงินออกมาได้ ไม่ใช่กดไปดันได้น้ำปั่นออกมา
Accurateness:ทำหน้าที่ได้ถูกต้อง เช่น ATM ง่ะ กดเงินไป 30000 ก็ต้องได้ 30000 ไม่ใช่ได้มา 300 งั้นถือว่าไม่ถูก
Interoperability:ความสามารถในการที่จะติดต่อกับระบบอื่นได้โดยไม่มีปัญหาหรือปัญหาน้อยที่สุด
Compliance:ความสามารถของซอฟต์แวร์เป็นไปตามข้อกำหนดของที่ต่างๆเช่น ราชการ หรือว่า บริษัทนั้นๆ(?_?)
Security:จะต้องมีความปลอดถัยจากพวกที่ไม่มีสิทธิ์ หรือที่เรียกว่า unauthorized user ทำการ unauthorized access
Reliability
Maturity: ให้ความสำคัญกับ failure ของ ซอฟต์แวร์ที่เกิดขึ้นว่าบ่อยแค่ไหน
Fault tolerance: คือจะต้องมีการจัดการเกี่ยวกับข้อผิดพลาดที่เกิดขึ้นเช่นถ้าระบบล้มไปจะมีการทำอย่างไรมีการสำรองใหม?
Recoverability: คือความสามารถที่จะเรียกระบบที่ล้มไปนั้นกลับคืนมาได้ในเวลารวดเร็วและรวมไปถึงข้อมูลที่อาจหายไป
Usability
Understandability:ความง่ายของซอฟต์แวร์ที่ใช้งานความง่ายในการเรียนรู้การใช้
Learnability:ความ สามารถในการเรียนรุ้ของผู้ใช้ต่อซอฟต์แวร์ว่าง่ายแค่ไหนหรือว่าซอฟต์แวร์นี้ เหมาะกับบุคคลระดับไหนเช่น เรื่อง ควบคุม ดาวเทียมก็ต้องกับพวกที่มีความรู้จริงๆไม่ใช่ให้นักบัญชีไปใช้
Operabilty:ง่ายต่อการใช้งานแบบว่าถ้าต้องให้มีการกรอกข้อมูลอะไรหลายๆอันกับการกรอกนิดหน่อยแล้วใช้ได้หมดเลยเป็นต้น
Efficiency
Time behavior: ความสามารถในเรือ่งของเวลาว่าทำงานไว
Resource behavior:จะเน้นเรือ่งการใช้ทรัพยากรต่างๆเช่น HD หรือพวก bandwidth
Maintainability
Analyzabiltiy:สามารถที่จะบอกต้นตอของความเสียหายได้ว่าเกิดมาจากไหน
Changeability:รองรับการเปลี่ยนแปลงได้
Stability:ต้องมีความเป็นอิสระคือว่าคงทนไม่โดนผลกระทบง่ายๆจากการเปลี่ยนแปลง
Testability: ต้องสามารถตรวจสอบได้ง่าย
Portability
Adaptability:ความสามารถที่จะนำซอฟต์แวร์นี้ไปใช้ในระบบอื่นได้
Installability:สามารถที่จะเอาไปลงในระบบได้ไม่ใช่ว่าทำงานได้แต่ไม่สามารถติดตั้งได้นะ
Conformance:เหมือนเป็นมาตรฐานที่ใช้ร่วมกันได้เช่น ฐานข้อมูลก็ต้องขึ้นตรงกับพวก sql น่ะ
Replaceabilty:เป็นคุณสมบัติที่สามารถต่อเติมซอฟต์แวร์ได้ และมีการเปลี่ยนแปลงได้ง่ายด้วย
The full table of Characteristics [...]
Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!