เทคโนโลยีสารสนเทศที่เกิดขึ้นใหม่และการพัฒนาซอฟต์แวร์

สารบัญ:

Anonim

สรุป

ในปัจจุบันมีการเปลี่ยนแปลงอย่างต่อเนื่องในด้านเทคโนโลยีสารสนเทศ หนึ่งในสาขาที่มีการเปลี่ยนแปลงมากที่สุดคือวิศวกรรมซอฟต์แวร์ ตามที่Román (2011) อธิบายไว้เว็บได้พัฒนาไปอย่างมากถึง 3 ขั้นตอน อย่างแรกคือเว็บ 1.0 ซึ่งสามารถเข้าถึงได้โดยบุคคลเฉพาะทางที่รับผิดชอบในการสร้างและดูแลเนื้อหาที่จะได้รับคำปรึกษาบนเว็บ เมื่อแพลตฟอร์มได้รับการพัฒนาสำหรับทุกคนในการสร้างเนื้อหาเว็บโดยไม่ต้องมีความรู้เฉพาะทางหรือทางเทคนิคและมีการสร้างเครือข่ายโซเชียลแรก ๆ ก็มีการพูดถึงวิวัฒนาการจาก Web 1.0 ไปจนถึง Web 2.0 ที่เรียกว่า ปัจจุบันมีการพูดถึงวิวัฒนาการใหม่ที่เรียกว่า Web 3.0 หรือ Semantic Web ที่พยายามให้ความหมายกับทรัพยากรที่มีอยู่บนเว็บ

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

1. ระบบฝังตัว

อ้างอิงจาก Calva et. ไปที่ (2012) ระบบฝังตัวคือระบบคอมพิวเตอร์ที่เป็นส่วนหนึ่งของระบบขนาดใหญ่และดำเนินการตามข้อกำหนดที่จำเป็นบางประการสำหรับการทำงานของระบบเหล่านี้ ระบบรวมครอบคลุมระบบคอมพิวเตอร์ที่หลากหลายตั้งแต่อุปกรณ์ที่ใช้คอมพิวเตอร์พิเศษขนาดเล็กไปจนถึงระบบตรวจสอบและควบคุมกระบวนการที่ซับซ้อนขนาดใหญ่

ระบบคอมพิวเตอร์ส่วนใหญ่เป็นระบบฝังตัว ระบบฝังตัวเหล่านี้ส่วนใหญ่มีลักษณะเป็นระบบเรียลไทม์ซึ่งหมายความว่าคุณสมบัติแบบเรียลไทม์เช่นเวลาตอบสนองเวลาดำเนินการเป็นปัญหาในการออกแบบที่สำคัญ ความซับซ้อนที่เพิ่มขึ้นของระบบฝังตัวแบบเรียลไทม์นำไปสู่ความต้องการที่เพิ่มขึ้นสำหรับวิศวกรรมความต้องการการออกแบบระดับสูงการตรวจจับข้อผิดพลาดตั้งแต่เนิ่นๆผลผลิตการรวมการตรวจสอบและการบำรุงรักษาเพิ่มขึ้น ความสำคัญของการจัดการคุณสมบัติของวงจรชีวิตอย่างมีประสิทธิภาพเช่นความสามารถในการบำรุงรักษาความสามารถในการพกพาและการปรับตัวตลอดจนคุณภาพที่นำไปใช้ในกระบวนการพัฒนาซอฟต์แวร์

จากข้อมูลของ Toro and Cardona (2010) กระบวนการหลายอย่างได้รับการพิจารณาว่าเป็นไปโดยอัตโนมัติโดยส่วนใหญ่ผ่านการควบคุมซอฟต์แวร์หรือการล้มเหลวโดยอุปกรณ์ที่รวมซอฟต์แวร์ฝังตัวสำหรับการจัดการ นั่นคือเหตุผลที่วิศวกรรมซอฟต์แวร์จำนวนมากขึ้นเรื่อย ๆ เพื่อปรับปรุงคุณภาพของผลิตภัณฑ์และกระบวนการต่างๆเพื่อให้แน่ใจว่าระบบควบคุมและระบบอัตโนมัติเหล่านี้ไม่มีข้อผิดพลาด

2. คอมพิวเตอร์มือถือและแพร่หลาย

ปัจจุบันการใช้อุปกรณ์อิเล็กทรอนิกส์ในชีวิตของเรามีความเกี่ยวข้องเพิ่มมากขึ้น ส่วนหนึ่งมาจากอุปกรณ์ต่างๆที่เชื่อมต่อถึงกันในสภาพแวดล้อมของเราไม่ว่าจะในสำนักงานโรงเรียนบ้านหรือในระบบขนส่งสาธารณะ จากข้อมูลของ Zapata (2012) เทคโนโลยีที่แพร่หลายช่วยให้แต่ละคนสามารถเรียนรู้ได้ไม่ว่าจะอยู่ที่ใดและสามารถทำได้ด้วยองค์ประกอบของสภาพแวดล้อมทางสังคมของตน ในสภาพแวดล้อมการเรียนรู้ออนไลน์สิ่งสำคัญคือต้องเข้าถึงทรัพยากรในลักษณะที่แต่ละคนไม่ต้องกังวลเกี่ยวกับรูปแบบหรืออุปกรณ์ที่จำเป็นในการเชื่อมต่อและใช้วัตถุการเรียนรู้ของแพลตฟอร์มออนไลน์

ลักษณะสำคัญประการหนึ่งของการใช้คอมพิวเตอร์แบบพกพาและแพร่หลายคือการเข้าถึงทรัพยากรที่เข้าถึงผ่านอุปกรณ์ที่เชื่อมต่อกับอินเทอร์เน็ตโดยไม่ได้คิดว่าเราจะบรรลุการสื่อสารระหว่างคอมพิวเตอร์หรืออุปกรณ์ได้อย่างไร ความรู้ด้านเทคโนโลยีสารสนเทศนี้ได้รับความสำคัญมากขึ้นเรื่อย ๆ เนื่องจากแพลตฟอร์มและเทคโนโลยีสำหรับการเชื่อมต่อโครงข่ายหรือเครือข่ายยุคใหม่ได้รับการปรับปรุงอย่างต่อเนื่อง

คอมพิวเตอร์เคลื่อนที่และแพร่หลายถูกนำมาใช้ร่วมกับระบบกระจายระบบฝังตัวร่วมกันเพื่อสร้างแนวคิดทางเทคโนโลยีใหม่ที่เรียกว่า Internet of Things (จาก Internet of Things ในภาษาอังกฤษ) โดยที่ Haller (2010) ให้คำจำกัดความว่าเป็นเครือข่ายข้อมูล ที่ช่วยให้การปรึกษาหารือเกี่ยวกับข้อมูลเกี่ยวกับวัตถุในโลกแห่งความเป็นจริงโดยใช้ตัวระบุเฉพาะที่เรียกว่ารหัสผลิตภัณฑ์อิเล็กทรอนิกส์และกลไกการแก้ปัญหา Internet of Things ใช้เทคนิคเว็บเชิงความหมายเพื่อให้ความหมายกับวัตถุและข้อมูลที่ได้รับจากพวกมันและเมื่อพูดถึงวัตถุก็เข้าใจว่าเป็นอุปกรณ์อิเล็กทรอนิกส์

3. เครือข่ายรุ่นต่อไป

สังคมที่เราอาศัยอยู่ในปัจจุบันต้องการการเชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์มากขึ้นเรื่อย ๆ เพื่อเข้าถึงสื่อข้อมูลทรัพยากรที่มีอยู่บนอินเทอร์เน็ตตลอดจนการเชื่อมต่อระหว่างเพื่อน นั่นคือเหตุผลที่ตอนนี้เราพูดถึงสังคมข้อมูลและความรู้ตาม Quiroz (2005) คือกระบวนการที่ป้อนตัวเองโดยที่เทคโนโลยีใหม่ช่วยให้สังคมสามารถจัดการกับข้อมูลจำนวนมากได้ ซึ่งจะทำให้เกิดความรู้มากขึ้นในวงจรแห่งความก้าวหน้าอย่างมีคุณธรรม

องค์กร ITU-T Y (2014) กำหนดเครือข่ายเหล่านี้ในเครือข่ายแบบแพ็คเก็ตที่อนุญาตให้มีการให้บริการโทรคมนาคมและเทคโนโลยีการขนส่งบรอดแบนด์หลายตัวสามารถใช้อำนวยความสะดวกได้โดย QoS (Quality of Service) และ โดยที่ฟังก์ชันที่เกี่ยวข้องกับบริการไม่ขึ้นอยู่กับเทคโนโลยีที่เกี่ยวข้องกับการขนส่ง ช่วยให้ผู้ใช้สามารถเข้าถึงเครือข่ายและผู้ให้บริการและ / หรือบริการที่ตนเลือกได้โดยไม่ จำกัด

ตาม IHS (2006) ความแตกต่างของเครือข่ายที่เชี่ยวชาญในการให้บริการที่เฉพาะเจาะจงเช่นเดียวกับเครือข่ายปัจจุบัน NGN เป็นเครือข่ายหลายบริการ Next generation Network (NGN) ประกาศการย้ายไปสู่แนวทางของบริการต่างๆผ่านเครือข่ายเดียวโดยพื้นฐานแล้วเป็นเครือข่ายที่รวมเสียงข้อมูลและวิดีโอไว้ด้วยกันภายใต้แพลตฟอร์ม IP เปลี่ยนเป็นเครือข่ายที่สามารถให้บริการที่แตกต่างกันได้ บริการ Restrepo (2009)

4. การเชื่อมต่อคอมพิวเตอร์ของมนุษย์

ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์มีหน้าที่ในการศึกษาความสัมพันธ์ของปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์โดยพยายามทำให้เข้าใจง่ายและใช้งานง่ายตาม Abud (2006) ด้วยคำจำกัดความนี้จึงอนุมานได้ว่าอุปกรณ์อิเล็กทรอนิกส์ใด ๆ ที่โต้ตอบกับมนุษย์ไม่ว่าจะผ่านฮาร์ดแวร์หรือซอฟต์แวร์ สำหรับPérez (2014) วัตถุประสงค์หลักของการโต้ตอบของผู้ใช้อุปกรณ์อิเล็กทรอนิกส์ที่มีประสิทธิภาพคือการลดข้อผิดพลาดเพิ่มความพึงพอใจของผู้ใช้ลดความยุ่งยากในการใช้อุปกรณ์ ในระยะสั้นต้องทำให้งานประจำและงานของผู้ที่ใช้อุปกรณ์อิเล็กทรอนิกส์มีประสิทธิภาพและประสิทธิผลมากขึ้น

สำหรับการพัฒนาเทคโนโลยีหรือแพลตฟอร์มใหม่ภาษาโปรแกรมหรือซอฟต์แวร์สิ่งสำคัญคือต้องคำนึงถึงอินเทอร์เฟซที่จะติดต่อกับผู้ใช้ปลายทางเนื่องจากความสำเร็จหรือความล้มเหลวของซอฟต์แวร์หรือระบบฮาร์ดแวร์ที่โต้ตอบกับซอฟต์แวร์นั้นขึ้นอยู่กับมันเป็นส่วนใหญ่ ผู้ใช้ปลายทาง บริษัท ซอฟต์แวร์จำนวนมากขึ้นกำลังมองหาแนวคิดสองประการที่เกี่ยวข้องกันซึ่ง ได้แก่ ความสามารถในการใช้งานและการเข้าถึง ความสามารถในการใช้งานหมายถึงขอบเขตที่ผู้ใช้บางรายสามารถใช้ผลิตภัณฑ์เพื่อบรรลุเป้าหมายที่เฉพาะเจาะจงและความสามารถในการเข้าถึงคือความเป็นไปได้ที่ผลิตภัณฑ์หรือบริการสามารถเข้าถึงและใช้งานได้โดยไม่ขึ้นอยู่กับข้อ จำกัด หรือข้อ จำกัด ของแต่ละบุคคล มาจากบริบทการใช้งานMartínez (2014)ความสามารถในการใช้งานในแอปพลิเคชันสามารถตอบสนองฟังก์ชันหลักได้ตราบเท่าที่มีการใช้อย่างมีประสิทธิภาพประสิทธิผลและเป็นที่น่าพอใจในบริบทการใช้งานที่เฉพาะเจาะจงและการเข้าถึงจะต้องทำให้สามารถใช้แอปพลิเคชันนั้นได้โดยไม่คำนึงถึงความสามารถที่แตกต่างกันของแต่ละบุคคลไม่ว่าจะเป็นภาพมอเตอร์หรือบางส่วน อื่น ๆ

5. ระบบกระจายและฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์

แอปพลิเคชั่นต้องจัดเก็บข้อมูลจำนวนมากเนื่องจากการพัฒนาอย่างต่อเนื่องของเว็บ ในช่วงเริ่มต้นของโซเชียลเน็ตเวิร์กและเว็บ 2.0 แอปพลิเคชันที่ใช้ระบบกระจายเริ่มได้รับการออกแบบเนื่องจากความเร็วในการตอบสนองต้องมากกว่าที่แอปพลิเคชันเซิร์ฟเวอร์กลางนำเสนอ ปัจจุบันระบบแบบกระจายถูกใช้กันอย่างแพร่หลายโดยเฉพาะแนวคิด BigData ใหม่ซึ่งอ้างอิงจาก Barranco (2012) คือแนวโน้มความก้าวหน้าของเทคโนโลยีที่เปิดประตูไปสู่แนวทางใหม่ในการทำความเข้าใจและการตัดสินใจซึ่งใช้ เพื่ออธิบายข้อมูลจำนวนมหาศาล (ที่มีโครงสร้างไม่มีโครงสร้างและกึ่งโครงสร้าง) ซึ่งจะใช้เวลาโหลดนานเกินไปและมีค่าใช้จ่ายสูงในฐานข้อมูลเชิงสัมพันธ์สำหรับการวิเคราะห์

ด้วยวิธีดังกล่าวแนวคิดของ Big Data ใช้กับข้อมูลทั้งหมดที่ไม่สามารถประมวลผลหรือวิเคราะห์โดยใช้กระบวนการหรือเครื่องมือแบบเดิมได้ซึ่งเป็นสาเหตุที่แอปพลิเคชันจำนวนมากใช้ฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ในการจัดเก็บข้อมูล

มีแพลตฟอร์มเช่น Hadoop (2009) เป็นกรอบอ้างอิงที่ช่วยให้การประมวลผลชุดข้อมูลขนาดใหญ่แบบกระจายผ่านกลุ่มของคอมพิวเตอร์ที่ใช้แบบจำลองการเขียนโปรแกรมอย่างง่าย กล่าวอีกนัยหนึ่งก็คือไม่จำเป็นต้องให้สถาปัตยกรรมหรือฮาร์ดแวร์มีราคาแพงมากหรือเป็นรุ่นล่าสุด เกี่ยวกับฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ Hadoop ผสานรวมกับ Cassandra (2008) ได้อย่างสมบูรณ์แบบซึ่งเป็นการกระจายคลังข้อมูลคีย์ - ค่าที่มีโครงสร้างและปรับขนาดได้สูง ระหว่างสองแอพพลิเคชั่นพวกเขาให้การสนับสนุนและการเติบโตในแนวนอนตามความต้องการของแอพพลิเคชั่นแบบกระจายเช่น BigData เพื่อให้ข้อมูลพร้อมใช้งานสำหรับ บริษัท ต่างๆเช่น Facebook และอื่น ๆ

6. สถาปัตยกรรมซอฟต์แวร์

ตาม Cervantes (2010) สถาปัตยกรรมซอฟต์แวร์หมายถึงวิธีการออกแบบระบบที่มีโครงสร้างซึ่งถูกสร้างขึ้นในช่วงแรกของการพัฒนา วัตถุประสงค์ของการจัดโครงสร้างส่วนประกอบหรือโมดูลตลอดจนการออกแบบระบบมีวัตถุประสงค์เพื่อ: สร้างความพึงพอใจให้กับคุณลักษณะด้านคุณภาพในด้านประสิทธิภาพความปลอดภัยความสามารถในการบำรุงรักษาและเป็นแนวทางในการพัฒนาโครงการ วัตถุประสงค์ของสถาปัตยกรรมซอฟต์แวร์คือการพัฒนาระบบซอฟต์แวร์ขนาดใหญ่ในลักษณะที่มีประสิทธิภาพมีโครงสร้างและสามารถใช้ซ้ำได้

สถาปัตยกรรมซอฟต์แวร์เป็นหนึ่งในพื้นที่ที่วิศวกรซอฟต์แวร์รวมเข้ากับการออกแบบซอฟต์แวร์ที่พวกเขาดำเนินการ เนื่องจากประสบการณ์และเวลาที่พวกเขาพัฒนาโครงการทำให้พวกเขาต้องมีการออกแบบสถาปัตยกรรมอ้างอิง รูปที่ 1 แสดงขั้นตอนในการกำหนดสถาปัตยกรรมซอฟต์แวร์:

ขั้นตอนของการออกแบบสถาปัตยกรรมซอฟต์แวร์

รูปที่ 1. ขั้นตอนในการออกแบบสถาปัตยกรรมซอฟต์แวร์ Barraza (2014)

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

การออกแบบสถาปัตยกรรมซอฟต์แวร์: กำหนดโครงสร้างและความรับผิดชอบของส่วนประกอบที่จะประกอบไปด้วยสถาปัตยกรรม

การตรวจสอบสถาปัตยกรรมซอฟต์แวร์: โดยพื้นฐานแล้วสถาปัตยกรรมจะได้รับการทดสอบโดยผ่านการออกแบบตามข้อกำหนดปัจจุบันและข้อกำหนดในอนาคต

ใน Camacho et al. (2004) กล่าวว่าเมื่อระบบซอฟต์แวร์มีความซับซ้อนเพิ่มขึ้นไม่ว่าจะเป็นเพราะจำนวนข้อกำหนดหรือผลกระทบก็จำเป็นต้องกำหนดวิธีการจัดการความซับซ้อนนี้ สถาปัตยกรรมซอฟต์แวร์ที่พบมากที่สุดมีตั้งแต่ Monolithic Applications, Client-Server Architecture, Enhanced Client-Server Architecture, 3-tier Architecture, N-tier Architecture และ Service Oriented Architecture (SOA)

วิศวกรซอฟต์แวร์ที่เริ่มพัฒนาแพลตฟอร์มเทคโนโลยีที่แข็งแกร่งและปรับขนาดได้จำเป็นต้องใช้เทคนิคต่างๆเพื่อปรับปรุงการเข้ารหัสของตน หนึ่งในนั้นคือการระบุปัญหาซ้ำซากในการเขียนโปรแกรมดังนั้นรูปแบบการออกแบบซอฟต์แวร์จึงถูกนำมาใช้เพื่อแก้ปัญหาที่ต้องแก้ไข

7. รูปแบบการออกแบบ

รูปแบบการออกแบบซอฟต์แวร์เป็นส่วนสำคัญในการออกแบบสถาปัตยกรรมและในการพัฒนาซอฟต์แวร์โดยเฉพาะของการเข้ารหัสแอปพลิเคชัน รูปแบบเหล่านี้มีจุดเริ่มต้นในการออกแบบระบบด้วยกระบวนทัศน์ของ Object-Oriented Programming และปัญหาที่ไม่สามารถแก้ไขได้และเกิดขึ้นอีกมากในการเขียนโปรแกรมซอฟต์แวร์ อ้างอิงจาก Gamma et al. (1995) รูปแบบการออกแบบเป็นคำอธิบายของคลาสและอ็อบเจ็กต์ที่สื่อสารกันซึ่งปรับเปลี่ยนเพื่อแก้ปัญหาการออกแบบทั่วไปในบริบทเฉพาะ

รูปแบบการออกแบบช่วยรักษาโค้ดที่ใช้ซ้ำได้และสามารถควบคุมปัญหาที่เกิดซ้ำได้ดีขึ้นดังนั้นจึงเป็นโซลูชันที่เป็นไปได้สำหรับการนำไปใช้งานในหลายแอปพลิเคชัน

รูปแบบเหล่านี้เป็นส่วนพื้นฐานสำหรับการพัฒนาโซลูชันแบบแยกส่วนบำรุงรักษาและปรับขนาดได้ รูปแบบการออกแบบถูกรวมเข้ากับการสร้างแบบจำลองระบบ UML เพื่อระบุรูปแบบที่ใช้ในแต่ละส่วนประกอบโมดูลหรือคลาสของระบบที่พัฒนาอย่างชัดเจน การสร้างแบบจำลองนี้เป็นส่วนหนึ่งของสถาปัตยกรรมซอฟต์แวร์

รูปแบบการออกแบบที่นำไปใช้มี 3 ประเภทขึ้นอยู่กับปัญหาที่ระบุในการพัฒนาซอฟต์แวร์ ได้แก่ รูปแบบการสร้างสรรค์รูปแบบโครงสร้างและรูปแบบพฤติกรรม

8. การพัฒนาซอฟต์แวร์เชิงบริการ

สถาปัตยกรรมซอฟต์แวร์ประเภทนี้เป็นหนึ่งในสถาปัตยกรรมที่ใช้มากที่สุดสำหรับการพัฒนาโซลูชันซอฟต์แวร์ที่แข็งแกร่งปรับขนาดได้และมีประสิทธิภาพสูง อ้างอิงจาก Torre et al. (2010) แอปพลิเคชันที่มุ่งเน้นการบริการช่วยให้แอปพลิเคชันสามารถนำเสนอฟังก์ชันการทำงานเป็นชุดบริการที่ลูกค้าใช้และพวกเขาเชี่ยวชาญในการจัดหาสคีมาตามข้อความระดับแอปพลิเคชัน ลักษณะสำคัญของแอปพลิเคชันประเภทนี้คือมีความพร้อมใช้งานสูงเนื่องจากส่วนหนึ่งมาจากการที่แต่ละบริการเป็นอิสระและไม่ส่งผลกระทบต่อแอปพลิเคชันโดยรวมหากล้มเหลว ลูกค้าและบริการเป็นอิสระและสามารถใช้งานได้จากระยะไกลผ่านเครือข่ายการบำรุงรักษาระบบที่มีประสิทธิภาพไม่ซับซ้อนเนื่องจากมีการอัปเดตบริการหรือสร้างระบบใหม่โดยไม่ส่งผลกระทบโดยตรงต่อผู้อื่นหรือแอปพลิเคชันไคลเอ็นต์ที่ใช้งานระบบดังกล่าว ตาม Somerville (2005) มีมาตรฐานพื้นฐาน 3 ประการสำหรับการสื่อสารหรือการเผยแพร่บริการบนเว็บซึ่ง ได้แก่:

  • SOAP (Simple Object Access Protocol): มาตรฐานนี้กำหนดองค์กรสำหรับการแลกเปลี่ยนข้อมูลที่มีโครงสร้างระหว่างบริการบนเว็บ WSDL (Web Services Description Language): โปรโตคอลนี้กำหนดวิธีการแสดงอินเตอร์เฟสของบริการบนเว็บ UDDI (ภาษาอังกฤษ Universal Description, Discovery and Integration): มาตรฐานการค้นหานี้กำหนดวิธีการจัดระเบียบข้อมูลคำอธิบายบริการที่ผู้ร้องขอบริการใช้เพื่อค้นหาบริการ

สำหรับวิศวกรซอฟต์แวร์สิ่งสำคัญคือต้องมีทักษะที่จำเป็นในการพัฒนาแพลตฟอร์มเทคโนโลยีที่ใช้ Service Oriented Architecture (SOA) ซึ่งมีการรุกอย่างมากในตลาดแอปพลิเคชันทางธุรกิจเนื่องจากประโยชน์และคุณสมบัติที่มีความพร้อมใช้งานสูง

9. คุณภาพในการพัฒนาซอฟต์แวร์และการพัฒนาเชิงทดสอบ

วัตถุประสงค์ประการหนึ่งของวิศวกรรมซอฟต์แวร์ตาม Kendall and Kendall (2005) คือการรับรองคุณภาพของผลิตภัณฑ์ซอฟต์แวร์โดยการออกแบบระบบด้วยวิธีการแบบแยกส่วน จัดทำเอกสารซอฟต์แวร์ด้วยเครื่องมือที่เหมาะสมและสุดท้ายทดสอบบำรุงรักษาและตรวจสอบซอฟต์แวร์

หนึ่งในเทคนิคที่ใช้และนำไปใช้มากที่สุดในช่วงไม่กี่ปีที่ผ่านมาคือการพัฒนาซอฟต์แวร์ที่มุ่งสู่การทดสอบ (TDD) โดยที่Blé et al (2010) เสนอเทคนิคทั้งหมดเพื่อลดปัญหาที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์แบบดั้งเดิมโดยเฉพาะอย่างยิ่งกับวิธีการดั้งเดิมเช่นน้ำตก เทคนิคนี้มุ่งเน้นไปที่ 3 ประเด็นหลัก:

  • การใช้งานฟังก์ชั่นเฉพาะที่ลูกค้าต้องการและไม่มีอีกต่อไปการลดจำนวนข้อบกพร่องที่มาถึงซอฟต์แวร์ในขั้นตอนการผลิตพัฒนาซอฟต์แวร์แบบโมดูลาร์ที่ใช้ซ้ำได้สูงซึ่งเตรียมไว้สำหรับการดัดแปลง

การพัฒนาซอฟต์แวร์ Test Driven เป็นกระบวนทัศน์ใหม่ที่ให้ความสะดวกในการคิดเกี่ยวกับการทดสอบซอฟต์แวร์ก่อนการเข้ารหัสโดยบรรลุข้อผิดพลาดที่เกิดขึ้นในขั้นตอนการพัฒนาให้น้อยที่สุด

คุณภาพในการพัฒนาซอฟต์แวร์เกี่ยวข้องกับคุณภาพในกระบวนการซอฟต์แวร์เพื่อสร้างมันขึ้นมา ผ่านการดำเนินการตามกระบวนการพัฒนาที่ได้รับการพิสูจน์มีเอกสารและเป็นสถาบัน บริษัท สามารถเพิ่มความแม่นยำในการวางแผนทำให้มีความเป็นไปได้ในการสร้างข้อผูกพันกับลูกค้าที่Jiménezไม่สามารถหรือไม่สามารถยอมรับได้ก่อนหน้านี้ (2012)

10. รูปแบบและวิธีการพัฒนาซอฟต์แวร์

เมื่อพูดถึงการนำแบบจำลองหรือวิธีการในการพัฒนาซอฟต์แวร์มาใช้เราจะกล่าวถึงคุณภาพของผลิตภัณฑ์ซอฟต์แวร์ การได้รับซอฟต์แวร์ที่มีคุณภาพตามFernández, García, & Beltrán (1995) กล่าวถึงการใช้วิธีการมาตรฐานหรือขั้นตอนสำหรับการวิเคราะห์การออกแบบการเขียนโปรแกรมและการทดสอบซอฟต์แวร์ที่ช่วยให้การทำงานเป็นหนึ่งเดียวกันทั้งสำหรับงานพัฒนาและ สำหรับการควบคุมคุณภาพซอฟต์แวร์ เนื่องจากแบบจำลองได้กำหนดพื้นที่กระบวนการที่จะดำเนินการเพื่อดำเนินการจัดการโครงการซอฟต์แวร์โดยมีบทบาทที่แตกต่างกันที่เกี่ยวข้อง มีหลายรูปแบบสำหรับการจัดการคุณภาพซอฟต์แวร์และระบบการจัดการและมาตรฐานอื่น ๆ ที่ถูกนำไปใช้กับกระบวนการเหล่านี้สำหรับการประเมินMartín-Avil (2010)

ในส่วนนี้เราจะพูดถึงวิธีการที่คล่องตัวสำหรับการจัดการโครงการ Software SCRUM และแบบจำลองเม็กซิกันสำหรับการพัฒนาซอฟต์แวร์ MoProSoft และ CMMI รุ่นสากล

วิธีการแบบ Agile SCRUM ตาม Palacio & Ruata (2011) ถูกนำไปใช้กับการพัฒนาซอฟต์แวร์โดยใช้หลักการแบบว่องไวของการพัฒนาซ้ำและการพัฒนาแบบเพิ่มส่วนที่เรียกกันทั่วไปว่า sprint สำหรับการทำซ้ำการพัฒนาแต่ละครั้ง รูปที่ 2 แสดงโมเดล SCRUM รวมถึงส่วนประกอบที่ประกอบขึ้น

วิธีการ SCRUM

รูปที่ 2. ระเบียบวิธี SCRUM

Ventura & Peñaloza (2006) ให้คำจำกัดความของ MoProSoft ว่าเป็นแบบจำลองกระบวนการสำหรับอุตสาหกรรมซอฟต์แวร์แห่งชาติ (เม็กซิโก) ซึ่งส่งเสริมการสร้างมาตรฐานของการดำเนินงานผ่านการรวมแนวทางปฏิบัติที่ดีที่สุดในการจัดการซอฟต์แวร์และวิศวกรรม

ประโยชน์ของ MoProSoft มีดังนี้:

  • บริษัท ต่างๆสามารถควบคุมผลการดำเนินงานในตลาดได้มากขึ้นโดยครอบคลุมรูปแบบตั้งแต่ด้านการจัดการไปจนถึงการดำเนินงานต้นทุนบุคลากรจะลดลงหากมุ่งเน้นไปที่การศึกษาและการฝึกอบรมในรูปแบบ บริษัท ขนาดเล็กโดยทำตามกระบวนการ ในทำนองเดียวกันสามารถเชื่อมโยงได้ง่ายขึ้นเพื่อเผชิญกับโครงการขนาดใหญ่การส่งออกบริการซอฟต์แวร์ของ บริษัท ในเม็กซิโกต้องขอบคุณ MoProSoft เมื่อพิจารณาถึงแนวทางปฏิบัติที่เป็นที่ยอมรับในระดับสากล

ควรสังเกตว่ามาตรฐาน MoProSoft ได้ช่วยอุตสาหกรรมซอฟต์แวร์ในเม็กซิโกในการกำหนดมาตรฐานกระบวนการและพัฒนาในแต่ละระดับซึ่งจะเป็น 5 หากไม่นับระดับ 0

International model (จาก English Capability Maturity Model Integration) ได้กลายเป็นข้อกำหนดทั่วโลกในการเข้าถึงการส่งออกบริการซอฟต์แวร์ มาตรฐาน CMMI-DEV (2010) เป็นแนวทางในการดำเนินกลยุทธ์ด้านคุณภาพและปรับปรุงกระบวนการขององค์กรที่ทุ่มเทให้กับการพัฒนาและ / หรือการบำรุงรักษาซอฟต์แวร์ มีรูปแบบการรับรองที่สร้างขึ้นในองค์กรเอกชนที่ SEI (ของสถาบันวิศวกรรมซอฟต์แวร์ภาษาอังกฤษ) สร้างบรรทัดฐานสำหรับการกำหนดมาตรฐานของพื้นที่และกระบวนการเพื่อให้เกิดการบูรณาการที่ดีขึ้นของการพัฒนาของ บริษัท ที่จัดการ การเป็นมาตรฐานสากลทำให้ง่ายต่อการรวมกระบวนการจาก บริษัท หนึ่งไปยังอีก บริษัท หนึ่งแม้ว่าพวกเขาจะอยู่ในประเทศหรือทวีปต่างๆ CMMI มี 5 ระดับซึ่งรับรอง 4 ระดับ

ข้อสรุป

บทความนี้กล่าวถึงเทคโนโลยีสารสนเทศวิธีการและกระบวนทัศน์การพัฒนาซอฟต์แวร์ที่แตกต่างกันและวิธีที่เสริมซึ่งกันและกันเพื่อประโยชน์ของความต้องการที่สังคมข้อมูลและความรู้มีอยู่ตลอดเวลา

วิวัฒนาการของแพลตฟอร์มเทคโนโลยีใหม่เป็นโอกาสสำคัญสำหรับพื้นที่ต่างๆของเทคโนโลยีสารสนเทศที่จะมาบรรจบกันเพื่อจุดประสงค์ร่วมกันนั่นคือการพัฒนาโซลูชันเทคโนโลยีที่แข็งแกร่งปรับขนาดได้บำรุงรักษาได้และเหนือสิ่งอื่นใดโดยใช้คุณภาพในกระบวนการพัฒนาซึ่งเป็นที่ประจักษ์ใน คุณภาพของผลิตภัณฑ์ที่พัฒนาขึ้น

นั่นคือเหตุผลที่วิศวกรนักพัฒนาและผู้เชี่ยวชาญด้านเทคโนโลยีสารสนเทศและการพัฒนาซอฟต์แวร์ต้องได้รับการปรับปรุงอย่างต่อเนื่องเพื่อตอบสนองความต้องการของ บริษัท องค์กรหรือหน่วยงานที่ร้องขอ

บรรณานุกรม

  • อบุด, มา. อันโตนีตา. (2549). »การออกแบบการเชื่อมต่อระหว่างมนุษย์กับคอมพิวเตอร์ในแอปพลิเคชันซอฟต์แวร์เพื่อการศึกษา». เข้าถึง 19 สิงหาคม 2014 Barranco, Ricardo (2012). » BigData คืออะไร». ผู้เชี่ยวชาญด้านไอทีสำหรับการจัดการข้อมูล IBM Software Group México México DF 18 มิถุนายน 2555 แก้ไข 22 สิงหาคม 2557 http://www.ibm.com/developerworks/ssa/local/im/que-es-big-data.Barraza, Fernando (2014) "การสร้างแบบจำลองและการออกแบบสถาปัตยกรรมซอฟต์แวร์". แนวคิดการสร้างแบบจำลอง เข้าถึงเมื่อวันที่ 17 สิงหาคม 2014 http://cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:s2_conceptosdemodelado.pdf Blé, Carlos et al. (2010) "Agile Design with TDD" พิมพ์ครั้งแรกมกราคม 2010, www.iExpertos.com Creative Commons License ISBN: 978-1-4452-6471.4 คามาโชเอริกา และคณะ (2004) "สถาปัตยกรรมซอฟต์แวร์". คู่มือการศึกษา. http: //prof.usb.ดู / lmendoza / Documents / PS-6116 / Guia% 20Arquitectura% 20v.2.pdf.Cassandra (2008) "คาสซานดราวิกิ". เข้าถึง 22 สิงหาคม 2014 http://wiki.apache.org/cassandra/FrontPage.Calva, C. A et al. (2012) "Design of a Low Cost Electronic System for Automotive Steering Control" International Journal of Computer and Communication Engineering, Vol. 1, No. 4, November 2012. เข้าถึง 22 สิงหาคม 2014. http://www.ijcce.org/ เอกสาร / 81-T0023.pdf Cervantes, Humberto (2010) "สถาปัตยกรรมซอฟต์แวร์". ดู DNA ของอุตสาหกรรมซอฟต์แวร์ในเม็กซิโก ซอฟต์แวร์สำหรับบรรณาธิการGurú เม็กซิโก DF. จำนวน. 27. ปี 2553 หน้า 32. ISSN 1870-0888.CMMI-DEV, V1.3 (2010) “ การปรับปรุงกระบวนการเพื่อการพัฒนาผลิตภัณฑ์และบริการที่ดีขึ้น”. CMMI® for Development, เวอร์ชัน 1.3, CMMI Product Kit แก้ไขเมื่อ 23 สิงหาคม 2014 Fernández,Oscar M., García, Delba & Beltrán, Alfa (1995) "แนวทางปัจจุบันสู่คุณภาพซอฟต์แวร์" ACIMED เข้าถึง 22 สิงหาคม 2014 http://eprints.rclis.org/5424/1/aci05395.htm Gamma et al., (1995)“ Design Patterns. องค์ประกอบของซอฟต์แวร์เชิงวัตถุที่ใช้ซ้ำได้” สำนักพิมพ์: Addison-Wesley 1995. ISBN: 0-201-63361. Westford, Massachusetts, USA.Hadoop. (2009) "ยินดีต้อนรับสู่ Apache ™Hadoop®!" สืบค้น 22 สิงหาคม 2557 http://hadoop.apache.org/Haller, Stephan. (2010) “ The Things in the Internet of Things”. SAP Research Center ซูริค อินเทอร์เน็ตของ. Things Conference 2010 กรุงโตเกียวประเทศญี่ปุ่น IHS (2006) "Next Generation Networks Begin to Transform Communications". บริษัท ไอเอชเอส. แก้ไข 19 สิงหาคม 2014 https://www.ihs.com/expertise/thought-leadership.html Jiménez, Luis (2012)«ความท้าทายด้านคุณภาพในการพัฒนาซอฟต์แวร์ (II) » บล็อก IBM Rational Spain Developer เข้าถึง 22 สิงหาคม 2014 https://www.ibm.com/developerworks/community/blogs/rationalspain/entry/el_reto_de_la_calidad_en_el_desarrollo_de_software_ii4?lang=en.Kendall, E., Keneth and Kendall, E., Julie (2005) "การวิเคราะห์และการออกแบบระบบ" พิมพ์ครั้งที่หกกองบรรณาธิการ: Pearson Educacion, Mexico 2005 ISBN: 970-26-0577-6. พื้นที่: คอมพิวเตอร์ Martin-Avil, Toni (2010) «การรับรองและมาตรฐานคุณภาพในซอฟต์แวร์» คุณภาพของซอฟต์แวร์Martínez, Guillermo M. (2014). "การใช้งานและการเข้าถึงบนเว็บ" แก้ไข 19 สิงหาคม 2557 http://www.semac.org.mx/archivos/6-11.pdf โมราฮวน (2011) "สถาปัตยกรรมซอฟต์แวร์สำหรับเว็บแอปพลิเคชัน". วิทยานิพนธ์ปริญญาโทสาขาวิทยาการคอมพิวเตอร์.ศูนย์วิจัยและการศึกษาขั้นสูงของสถาบันโปลีเทคนิคแห่งชาติ (CINVESTAV) หน่วย Zacatenco ภาควิชาคอมพิวเตอร์ เม็กซิโก DF. เข้าถึง 15 สิงหาคม 2014 http://delta.cs.cinvestav.mx/~pmalvarez/tesis-tahuiton.pdf Pérez, Sergio L. (2014) "ส่วนต่อประสานผู้ใช้" อ่วมคัวจิมัลปา. เม็กซิโก DF Palacio, Juan & Ruata, Claudia (2554). » Scrum Manager - การบริหารโครงการ». ใบอนุญาต Creative Communs Quiroz, Francisco J., (2005) “ สังคมแห่งข้อมูลและความรู้”. แถลงการณ์ของระบบข้อมูลสถิติและภูมิสารสนเทศแห่งชาติ. ฉบับที่ 1 ฉบับที่ 1 พฤษภาคม - สิงหาคม 2548 แก้ไขเมื่อ 19 สิงหาคม 2557 ออนไลน์: http://www.inegi.gob.mx/prod_serv/contenidos/espanol/bvinegi/productos/integracion/especiales/BoletinSNEIG/ 2548 / bolsneig1.pdf Restrepo, Ana M. (2009)."ภาพรวมของ Next Generation Networks (NGN)" Universidad Pontificia Bolivariana, คณะวิศวกรรมศาสตร์, คณะวิศวกรรมไฟฟ้าและอิเล็กทรอนิกส์ เมเดยินโคลอมเบีย 2552 โรมานเฟลิเป้ (2011) "การสกัดข้อมูลตามเทคนิคการจัดแนวออนโทโลยี". วิทยานิพนธ์วิทยาศาสตรมหาบัณฑิตสาขาวิทยาการคอมพิวเตอร์. ศูนย์วิจัยและพัฒนาเทคโนโลยีแห่งชาติ (CENIDET) Cuernavaca Morelos 28 ตุลาคม 2554 Somerville, Ian (2005) "วิศวกรรมซอฟต์แวร์". สำนักพิมพ์: Pearson Educación SA. ฉบับที่เจ็ด ISBN: 84-7829-074-5. Torres, Cesar et al. (2010) "คู่มือสถาปัตยกรรม N-Layers เชิงโดเมนด้วย. Net 4.0" สำนักพิมพ์: Krasis Consulting SL Spain มีนาคม 2010 ISBN: 978-84-936696-3-8 Toro Alonso y Cardona, Lorena (2010)"ศิลปะแห่งวิศวกรรมซอฟต์แวร์ในขอบเขตระดับชาติและระดับนานาชาติตามองค์กรที่ปฏิบัติต่อวินัย" Popular Catholic University of Risaralda คณะวิทยาศาสตร์พื้นฐานและวิศวกรรมศาสตร์วิศวกรรมระบบและโทรคมนาคม เปเรย์ราโคลอมเบีย ITU-T Y. (2014). "คำจำกัดความของ NGN ของ ITU-T" สหพันธ์โทรคมนาคมระหว่างประเทศ Ventura, Teresa & Peñaloza, Marcela (2006) "MoProSoft: Software Process Model Made in Mexico" ค้นหาออนไลน์คอมพิวเตอร์อินเทอร์เน็ตและโทรคมนาคม ปีที่ 5 ฉบับที่ 47 มีนาคม 2549. ซาปาต้ามิเกล. (2012) "คุณภาพในสภาพแวดล้อมการเรียนรู้ที่แพร่หลาย". มหาวิทยาลัย Alcala สุทธิ. วารสารการศึกษาทางไกลฉบับที่ 31 ISSN 1578-7680. แก้ไข 22 สิงหาคม 2557 ออนไลน์:
เทคโนโลยีสารสนเทศที่เกิดขึ้นใหม่และการพัฒนาซอฟต์แวร์