ซอฟต์แวร์คืออะไร ?
ซอฟต์แวร์
ซอฟต์แวร์ (English: software) หรือ ส่วนชุดคำสั่ง [1] หรือบางครั้งมีการสะกดว่า ซอฟ‌ท์แวร์ เป็นส่วนของระบบคอมพิวเตอร์ที่ใช้ในการจัดเก็บและประมวลผลข้อมูล ซอฟต์แวร์นั้นนอกจากจะสามารถใช้งานบนคอมพิวเตอร์ได้แล้ว ยังสามารถใช้งานบนเครื่องใช้ หรืออุปกรณ์อื่น เช่น โทรศัพท์มือถือ หรือหุ่นยนต์ในโรงงาน หรือเครื่องใช้ไฟฟ้าต่าง ๆ คำว่า "ซอฟต์แวร์" ใช้ครั้งแรกโดย จอห์น ดับเบิลยู. เทอร์กีย์ (John W. Turkey) ในปี พ.ศ. 2500 (ค.ศ. 1957) โดยแนวคิดของซอฟต์แวร์ปรากฏครั้งแรกในเรียงความของแอลัน ทัวริง บิดาของวิทยาการคอมพิวเตอร์ กล่าวกันว่าโปรแกรมคอมพิวเตอร์ชิ้นแรกของโลกเขียนโดยเอดา ไบรอน เป็นโปรแกรมที่ใช้สำหรับเครื่องวิเคราะห์ (analytical engine) ของชาร์ลส แบบเบจ
ไวรัสคอมพิวเตอร์
ไวรัส (Virus) เป็นมัลแวร์ (Malware) ชนิดแรกที่เกิดขึ้นบนโลกนี้และอยู่มานาน ดังนั้นโดยทั่วไปตามข่าวหรือบทความต่างๆที่ไม่เน้นไปทางวิชาการมากเกินไป หรือเพื่อความง่ายและคุ้นเคยที่จะพูด ก็จะใช้คำว่า Virus แทนคำว่า Malware แต่ถ้าจะคิดถึงความจริงแล้วมันไม่ถูกต้อง อาจจะเป็นเพราะความเคยชินหรืออะไรก็ตาม จึงกลายเป็นว่าคนส่วนใหญ่ใช้คำว่า Virus แทนคำว่า Worm, Trojan, Spyware, Adware เป็นต้น ที่ถูกต้องควรใช้คำว่ามัลแวร์ (Malware) เพราะมัลแวร์มีหลายชนิด แต่ละชนิดก็ไม่เหมือนกัน วิกิซอฟต์แวร์
วิกิซอฟต์แวร์ สามารถอธิบาย ส่วนประกอบทั้งหมดที่โปรแกรมต้องการในการทำงานของวิกิ อาจจะประกอบด้วยเว็บเซิร์ฟเวอร์ เช่น อแพชี (Apache) ในส่วนเพิ่มเติมของ วิกิเอนจิน (Wiki engine) ซึ่งเป็นเทคโนโลยีของวิกิ ในบางกรณี เช่น ProjectForum หรือ วิกิเซิร์ฟเวอร์ การทำงานของเว็บเซิร์ฟเวอร์และวิกิเอนจิน จะโยงความสัมพันธ์เข้าด้วยกันเป็นหนึ่งเดียวด้วยระบบการจัดการและควบคุม ซึ่งง่ายต่อการติดตั้ง ตัวแบบโอเพนซอร์ซ
ตัวแบบโอเพนซอร์ซ () เป็นตัวแบบการพัฒนาซอฟต์แวร์แบบกระจายอำนาจที่สนับสนุนให้มีการร่วมมือกันอย่างเสรี หลักของการพัฒนาซอฟต์แวร์โอเพนซอร์ซคือการผลิตแบบเสมอกัน (peer production) โดยมหาชนสามารถเข้าถึงผลิตผล เช่น ซอร์ซโค้ด พิมพ์เขียว และเอกสารกำกับโปรแกรมได้อย่างเสรี การเคลื่อนไหวเกี่ยวกับโอเพนซอร์ซทางด้านซอฟต์แวร์เริ่มโดยเป็นการตอบโต้ข้อจำกัดของโค้ดจำกัดสิทธิ ตัวแบบถูกใช้สำหรับโครงการ เช่น ใน open-source appropriate technology และการคิดค้นยาแบบโอเพนซอร์ซ เว็บบอร์ด
เว็บบอร์ดซอฟต์แวร์ หรือ เว็บบอร์ดสำเร็จรูป เป็นซอฟต์แวร์ในลักษณะของระบบจัดการเนื้อหาเว็บ ที่สามารถนำมาสร้างเว็บบอร์ดได้ทันทีโดยไม่จำเป็นต้องเขียนโปรแกรมเพื่อสร้างเว็บบอร์ดของตนเองหรือสร้างเว็บไซต์แต่อย่างใด โดยนอกจากนี้ซอฟต์แวร์บางตัวสามารถเปลี่ยนหน้าตาที่เรียกว่าธีมได้ รวมถึงเพิ่มความสามารถพิเศษให้เว็บบอร์ดเพิ่มขึ้น โซลิตเวิร์ค
ปัจจุบัน SOLIDWORKS เป็นซอฟต์แวร์สำหรับการออกแบบ 3 มิติที่ได้รับความนิยมสูงสุด โดยได้รับความไว้วางใจจากวิศวกรและนักออกแบบกว่า 2,500,000 ราย จาก 200,000 องค์กรทั่วโลกและมีการอัปเดตและปรับปรุงเวอร์ชันใหม่ๆอยู่เรื่อยๆ ตามกระแสตอบรับจากผู้ใช้งาน จึงทำให้ SOLIDWORKS เป็นซอฟต์แวร์ที่ตรงตามความต้องการของผู้ใช้งานมากที่สุด SOLIDWORKS เวอร์ชันปัจจุบัน คือ SOLIDWORKS 2017 วิศวกรรมซอฟต์แวร์
ในบางสาขาอาชีพ ยกตัวอย่างเช่น ในรัฐออนตาริโอ ประเทศแคนาดา ใบอนุญาตของวิศวกรทางด้านซอฟต์แวร์ ในหลาย ๆ พื้นที่ในโลก ไม่มีกฎหมายควบคุมอาชีพวิศวกรทางด้านซอฟต์แวร์ แต่มีข้อกำหนดบางอย่างจาก สถาบันวิศวกรไฟฟ้าและอิเลคโทรนิค (Institute of Electrical and Electronics Engineers: IEEE) และสมาคมคอมพิวเตอร์ (ACM) ซึ่งเป็นองค์กรหลักในด้านวิศวกรรมซอฟต์แวร์ ใน IEEE ได้กำหนดแนวทางไว้ในองค์ความรู้ด้านวิศวกรรมซอฟต์แวร์เมื่อปี ๒๕๔๗ ได้กำหนดแนวทางและกำหนดกรอบความรู้ที่วิศวกรด้านซอฟต์แวร์ควรรู้ และยังกำหนดจรรยาบรรณของวิศวกรซอฟต์แวร์ และนอกจากนี้ IEEE ยังมีการตีพิมพ์พจนานุกรมว่าด้วยวิศวกรรมซอฟต์แวร์และวิศวกรรมระบบ การละเมิดลิขสิทธิ์ซอฟต์แวร์
ภายใต้ พ.ร.บ. ลิขสิทธิ์ได้ให้ความคุ้มครองเจ้าของลิขสิทธิ์ในโปรแกรมคอมพิวเตอร์ โดยให้สิทธิแก่ผู้สร้างสรรค์เพียงผู้เดียว ในงานที่มีลิขสิทธิ์ดังกล่าว ดังต่อไปนี้
นั้นหมายความว่า สามารถสำเนา ดัดแปลง หรือเช่าโปรแกรมคอมพิวเตอร์ได้ หากเจ้าของลิขสิทธิ์อนุญาต โดยอยู่ในรูปของการให้สิทธิในการใช้งาน (license) ดังนั้น ทุกครั้งที่ซื้อโปรแกรมคอมพิวเตอร์อย่างถูกกฎหมาย จะได้รับสัญญาสิทธิการใช้งาน (License Agreement) ซึ่งจะระบุสิทธิที่ผู้ซื้อได้รับเพื่อการใช้งานโปรแกรมคอมพิวเตอร์นั้น หากผู้ซื้อกระทำสิ่งที่สัญญาไม่อนุญาต หรือขัดต่อ พ.ร.บ.ลิขสิทธิ์ จะถือเป็นการฝ่าฝืนกฎหมายและต้องรับโทษ เฟิร์มแวร์
เฟิร์มแวร์ (firmware) ในระบบคอมพิวเตอร์ คือซอฟต์แวร์ที่ฝังอยู่ในฮาร์ดแวร์ โดยที่ผู้ใช้จะสามารถอ่าน และเรียกใช้งานเฟิร์มแวร์ได้ แต่ไม่สามารถแก้ไข เขียน หรือลบเฟิร์มแวร์ได้ ซอฟต์แวร์โอเพนซอร์ซ
ซอฟต์แวร์โอเพนซอร์ซ (; ตัวย่อ: OSS) คือ ซอฟต์แวร์ที่เปิดเผยหลักการหรือแหล่งที่มาของเทคโนโลยีของซอฟต์แวร์นั้นให้บุคคลภายนอกได้ใช้ ภายใต้เงื่อนไขบางประการที่เปิดโอกาสให้ผู้ใช้ทำการแก้ไข ดัดแปลงและเผยแพร่ซอร์สโค้ดได้ ภายใต้เงื่อนไขทางข้อตกลงทางกฎหมาย เช่น สัญญาอนุญาตสาธารณะทั่วไปของกนู (จีพีแอล) และสัญญาอนุญาตแจกจ่ายซอฟต์แวร์ของเบิร์กลีย์ (บีเอสดี) ซอฟต์แวร์โอเพนซอร์ซที่เป็นที่รู้จักกันดีได้แก่ เพิร์ล ไฟร์ฟอกซ์ ลินุกซ์ อะแพชี เว็บเซิร์ฟเวอร์ รหัสเครื่อง
โปรแกรมคอมพิวเตอร์คือลำดับของคำสั่งเครื่องที่กระทำการโดยหน่วยประมวลผลกลาง ขณะที่หน่วยประมวลผลอย่างง่ายกระทำการคำสั่งเครื่องทีละคำสั่ง แต่หน่วยประมวลผลซูเปอร์สเกลาร์ (superscalar) สามารถกระทำการคำสั่งเครื่องได้พร้อม ๆ กันทีละหลายคำสั่ง แฮกกาธอน
แฮกกาธอน () นอกจากนี้ยังเป็นที่รู้จักในชื่อ แฮกเดย์, แฮกเฟสต์ หรือ โค้ดเฟสต์ เป็นอีเวนต์ที่นักเขียนโปรแกรมและอื่น ๆ ที่เกี่ยวข้องในการพัฒนาซอฟต์แวร์ รวมไปถึงนักออกแบบกราฟิก, นักออกแบบส่วนต่อประสานกับผู้ใช้ และผู้จัดการโครงการ มาช่วยเหลือกันอย่างคร่ำเคร่งในโครงการซอฟต์แวร์ ในบางโอกาส ก็มีฮาร์ดแวร์มาเป็นส่วนเสริมเช่นกัน ซึ่งงานแฮกกาธอน มักจะมีอายุระหว่างหนึ่งวันหรือหนึ่งสัปดาห์ บางงานแฮกกาธอนมีจุดมุ่งหมายเพียงเพื่อการศึกษาหรือวัตถุประสงค์ทางสังคม แม้ว่าในหลายกรณีเป้าหมายคือการสร้างซอฟต์แวร์ที่ใช้งานได้ แฮกกาธอนมีแนวโน้มที่จะมุ่งเน้นแบบเจาะจง ซึ่งอาจรวมถึงภาษาโปรแกรมที่ใช้, ระบบปฏิบัติการ, แอพพลิเคชัน, เอพีไอ หรือประเด็นและกลุ่มผู้เข้าชมของโปรแกรมเมอร์ ในกรณีอื่น ๆ อาจไม่มีข้อจำกัดอยู่กับชนิดของซอฟแวร์ที่ถูกสร้างขึ้น ซอฟต์แวร์จำกัดสิทธิ์
ในประเทศไทย บางทีจะใช้คำทับศัพท์ว่า "โพรไพรเอทารีซอฟต์แวร์" หรือมีการใช้คำว่า "ซอฟต์แวร์เอกสิทธิ์เฉพาะ" แชร์แวร์
"แชร์แวร์"มักใช้ในความหมายที่แตกต่างจาก "โปรแกรมที่วางจำหน่าย"(retail software) ที่มักหมายถึงโปรแกรมเชิงพาณิชย์ ที่จะมีเฉพาะการจำหน่ายสิทธิ์ในตัวโปรแกรม ซึ่งจะไม่สามารถทำสำเนาให้คนอื่นได้ "โปรแกรมสาธารณะ"(public domain software) ที่หมายถึง โปรแกรมที่ไม่ถูกปกป้องด้วยสิทธิบัตร และ "ฟรีแวร์" ที่เป็นโปรแกรมที่ถูกปกป้องด้วยลิขสิทธิ์ แต่เจ้าของไม่เรียกร้องค่าตอบแทน (ในบางครั้งเจ้าของโปรแกรมอาจขอรับบริจาคจากผู้ใช้งานแทน) วิศวกรรมคอมพิวเตอร์
บทความหลัก: วิศวกรรมซอฟต์แวร์ ประเภทของซอฟต์แวร์
ประเภทของซอฟต์แวร์ แบ่งตามลักษณะการใช้งานของซอฟต์แวร์ หรือหัวข้อของงานที่นำมาใช้ ไวรัสคอมพิวเตอร์
ไวรัสคอมพิวเตอร์ (Computer Virus) คือ โปรแกรมชนิดหนึ่งที่มีความสามารถในการสำเนาตัวเองเข้าไปติดอยู่ในเครื่องคอมพิวเตอร์ และถ้ามีโอกาสก็สามารถแทรกเข้าไปติดอยู่ในระบบคอมพิวเตอร์อื่นๆ ซึ่งอาจเกิดจากการนำเอาแผ่นดิสก์หรือแฟลชไดร์ฟที่ติดไวรัสจากเครื่องหนึ่งไปใช้กับอีกเครื่องหนึ่ง
การที่คอมพิวเตอร์ใดติดไวรัส หมายความว่าไวรัสได้เข้าไปผังตัวอยู่ในหน่วยความจำคอมพิวเตอร์เครื่องนั้นเรียบร้อยแล้ว การที่ไวรัสจะเข้าไปอยู่ในหน่วยความจำได้นั้นจะต้องมีการถูกเรียกใช้ให้ทำงาน ซึ่งโดยปกติแล้วผู้ใช้มักจะไม่รู้ตัวเลยว่า ขณะที่ตนเรียกใช้โปรแกรมหรือเปิดไฟล์ใดๆขึ้นมาทำงาน ก็ได้เรียกไวรัสขึ้นมาทำงานด้วย
จุดประสงค์การทำงานของไวรัสแต่ละตัวขึ้นอยู่กับผู้เขียนโปรแกรมไวรัสนั้น เช่น อาจสร้างไวรัสให้ไปทำลายโปรแกรมหรือข้อมูลอื่นๆ ที่อยู่ในเครื่องคอมพิวเตอร์ หรือแสดงข้อความวิ่งไปมาบนหน้าจอคอมพิวเตอร์ เป็นต้น ซอฟต์แวร์จำกัดสิทธิ์
ซอฟต์แวร์จำกัดสิทธิ์ หรือ ซอฟต์แวร์กรรมสิทธิ์ (proprietary software) คือ ซอฟต์แวร์ที่สิทธิ์ในการใช้งาน ทำซ้ำ ดัดแปลง หรือ เผยแพร่ ถูกจำกัดหรือสงวนสิทธิ์ไว้โดยเจ้าของซอฟต์แวร์หรือผู้จัดทำ ผู้อื่นไม่สามารถนำมาใช้งาน ทำซ้ำ ดัดแปลง หรือ เผยแพร่ ได้นอกจากได้รับอนุญาตในสิทธิ์นั้นจากเจ้าของ. ซอฟต์แวร์จำกัดสิทธิ์ อาจไม่ได้เป็น ซอฟต์แวร์ลิขสิทธิ์ เสมอไป, แต่โดยมากแล้ว เจ้าของซอฟต์แวร์มักจะใช้กลไกของระบบกฎหมายลิขสิทธิ์ในปัจจุบัน เพื่อเป็นเครื่องมือในการสงวนสิทธิ์ของตนเองไว้, ทำให้ซอฟต์แวร์กลายเป็น ซอฟต์แวร์จำกัดสิทธิ์. ตัวอย่างของ ซอฟต์แวร์จำกัดสิทธิ์ ที่เป็นที่รู้จักกันดี ได้แก่ ไมโครซอฟท์ วินโดวส์ หรือ อะโดบี โฟโตชอป ซอฟต์แวร์เพื่อความร่วมมือ
จุดประสงค์ของการออกแบบ ซอฟต์แวร์เพื่อความร่วมมือ คือเปลี่ยนเอกสาร และ โฆษณาบนอินเทอร์เน็ต (Rich media) ให้ถูกแชร์และใช้งานได้อย่างมีประสิทธิภาพผ่านการทำงานเป็นทีม การทำงานร่วมกันเป็นทีมหมายถึงความเคารพในการใช้เทคโนโลยีสารสนเทศ หรือความหมายอื่นๆ ที่ทำให้เข้าใจในความแตกต่างของการปฏิสัมพันธ์ระหว่างมนุษย์ที่จำเป็น และใช้เทคโนโลยีอย่างเหมาะสม ที่ทำให้ถูกว่าจ้างตามที่ต้องการ มัลแวร์
มัลแวร์ () ย่อมาจากคำว่า Malicious Software ซึ่งหมายถึงโปรแกรมประสงค์ร้ายต่างๆ โดยทำงานในลักษณะที่เป็นการโจมตีระบบ การทำให้ระบบเสียหาย รวมไปถึงการโจรกรรมข้อมูล มัลแวร์ แบ่งออกได้หลากหลายประเภท อาทิเช่น ไวรัส (Virus) เวิร์ม (Worm) หรือหนอนอินเทอร์เน็ต ม้าโทรจัน (Trojan Horse) การแอบดักจับข้อมูล (Spyware) คีย์ ล๊อกเกอร์ (Key Logger) บนเครื่องคอมพิวเตอร์ของผู้ใช้งาน ตลอดจนโปรแกรมประเภทขโมยข้อมูล (Cookie) และการฝัง Malicious Mobile Code (MMC) ผ่านทางช่องโหว่ของโปรแกรม Internet Browser โดยโปรแกรมจะทำการควบคุมการทำงานโปรแกรม Internet Browser ให้เป็นไปตามความต้องการของผู้ที่ไม่หวังดี เช่น การแสดงโฆษณาในลักษณะของการ Pop-Up หน้าต่างโฆษณาออกมาเป็นระยะ เราเรียกโปรแกรมประเภทนี้ว่า แอ็ดแวร์ (Adware) ซึ่งภัยเหล่านี้ในปัจจุบันได้เพิ่มขึ้นอย่างรวดเร็ว ซึ่งอาจจะเกิดผลกระทบแก่ผู้ใช้งานได้ ถ้ารับโปรแกรมเหล่านี้เข้ามาในเครื่องคอมพิวเตอร์ ไมโครซอฟท์
ไมโครซอฟท์ (English: Microsoft ; NASDAQ:) เป็นหนึ่งในบริษัทผู้ผลิตและพัฒนาซอฟต์แวร์รายใหญ่ของโลก[4][5] มีฐานการผลิตอยู่ที่เมืองเรดมอนด์ รัฐวอชิงตัน สหรัฐอเมริกา โดยผลิตภัณฑ์ของไมโครซอฟท์ที่มีกำลังการตลาดมากที่สุดคือ ระบบปฏิบัติการไมโครซอฟท์ วินโดวส์ และ ไมโครซอฟท์ ออฟฟิศ วิศวกรรมไฟฟ้า
วิศวกรรมคอมพิวเตอร์เกี่ยวข้องกับการออกแบบ คอมพิวเตอร์ และ ระบบคอมพิวเตอร์ นี้อาจเกี่ยวข้องกับการออกแบบของ ฮาร์ดแวร์ ใหม่, การออกแบบ PDA แท็บเล็ตและ ซูเปอร์คอมพิวเตอร์ หรือการใช้คอมพิวเตอร์ในการควบคุม โรงงานอุตสาหกรรม[3] วิศวกรคอมพิวเตอร์อาจจะทำงานกับ ซอฟแวร์ ของระบบอีกด้วย อย่างไรก็ตามการออกแบบระบบซอฟต์แวร์ที่ซับซ้อนมักจะเป็นโดเมนของ วิศวกรรมซอฟต์แวร์ ซึ่งมักจะถือว่าเป็นสาขาแยก[4] คอมพิวเตอร์ตั้งโต๊ะ จะเป็นตัวแทนส่วนเล็ก ๆ ของอุปกรณ์ที่วิศวกรคอมพิวเตอร์อาจทำงานด้วย เนื่องจากสถาปัตยกรรมที่เหมือนคอมพิวเตอร์จะถูกพบในขณะนี้อยู่ในช่วงของอุปกรณ์ที่รวมทั้ง วิดีโอเกมคอนโซล และ เครื่องเล่น DVD ซอฟต์แวร์ระบบ
ซอฟต์แวร์ระบบ คือซอฟต์แวร์คอมพิวเตอร์ที่ออกแบบขึ้นมาเพื่อปฏิบัติการกับฮาร์ดแวร์คอมพิวเตอร์ และเพื่อจัดเตรียมและบำรุงรักษาแพลตฟอร์มจากการทำงานของโปรแกรมประยุกต์  ซอฟต์แวร์โอเพนซอร์ซ
ซอฟต์แวร์โอเพนซอร์ซเริ่มต้นจากการเคลื่อนไหวภายใต้ชื่อซอฟต์แวร์เสรี ในช่วง พ.ศ. 2526 จนกระทั่งในปี 2531 คำว่าซอฟต์แวร์โอเพนซอร์ซได้ถูกนำมาใช้แทนคำว่า "ฟรี" เพื่อให้ง่ายต่อการเข้าใจและให้ความรู้สึกสบายใจต่อทั้งผู้ใช้และผู้พัฒนา รวมถึงคำว่า ฟรี ในลักษณะของคำว่าเสรีนอกเหนือจากคำว่าฟรีในลักษณะไม่เสียค่าใช้จ่าย ผู้ใช้งานรวมถึงผู้พัฒนาสามารถนำซอฟต์แวร์มาใช้งาน แก้ไข แจกจ่าย โดยสามารถนำมาปรับปรุงทั้งในลักษณะส่วนตัว หรือในหน่วยงานเอกชนได้ ซอฟต์แวร์โอเพนซอร์ซอนุญาตให้ทุกคนสามารถนำซอฟต์แวร์ไปพัฒนา รวมถึงวางขายและทำการตลาด จากรายงานของกลุ่มสแตนดิชประมาณการประหยัดงบประมาณจากการใช้งานซอฟต์แวร์โอเพนซอร์ซได้ 6 หมื่นล้านเหรียญสหรัฐต่อปี  เว็บบอร์ด
ซอฟต์แวร์ส่วนใหญ่สามารถดาวน์โหลดและติดตั้งได้ทันทีโดยผู้ใช้ ซึ่งซอฟต์แวร์บางส่วนเป็นซอฟต์แวร์โอเพนซอร์ส ซึ่งเป็นซอฟต์แวร์ที่ไม่สงวนลิขสิทธิ์ ซึ่งผู้พัฒนาสามารถนำมาปรับแก้ เป็นของตนเอง ติดตั้งไว้ใช้เป็นเว็บบอร์ดส่วนตัว หรือเผยแพร่ให้คนอื่นมาใช้งานได้ ส่วนซอฟต์แวร์ลิขสิทธิ์นั้น จะมีทั้งในรูปแบบที่ให้ใช้งานแบบเสียค่าใช้จ่ายหรือให้ใช้งานฟรี โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์ (ไทย) เป็นชุดคำสั่ง ที่ปฏิบัติงานเฉพาะเมื่อคอมพิวเตอร์สั่งกระทำการ (execute) คอมพิวเตอร์เครื่องหนึ่งต้องการใช้โปรแกรมในการสั่งงาน และกระทำตามชุดคำสั่งในหน่วยประมวลผลกลาง สำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (องค์การมหาชน)
สำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (องค์การมหาชน) () อดีต องค์การมหาชนของไทย ในการกำกับดูแลของกระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม มีหน้าที่วางแผนและกำหนดนโยบายพัฒนาอุตสาหกรรมซอฟต์แวร์ของประเทศ แอดแวร์
ซอฟต์แวร์สนับสนุนการโฆษณา () หรือ แอดแวร์ () หมายถึงแพกเกจซอฟต์แวร์ใดๆ ที่สามารถทำงาน แสดง หรือดาวน์โหลดสื่อโฆษณาโดยอัตโนมัติ ไปยังคอมพิวเตอร์ที่ได้รับการติดตั้งซอฟต์แวร์ชนิดนี้ไว้ หรือขณะที่โปรแกรมประยุกต์กำลังเรียกใช้ ซอฟต์แวร์โฆษณาบางประเภทเป็นซอฟต์แวร์สอดแนม (spyware) และถูกจัดว่าเป็นซอฟต์แวร์รุกรานภาวะส่วนตัว (privacy-invasive software) อูบุนตู
ซอฟต์แวร์ต่างๆ ที่รวมมาใน อูบุนตูนั้นเป็นซอฟต์แวร์เสรีเกือบทั้งหมด(มีบางส่วนที่เป็นลิขสิทธิ์ เช่น ไดรเวอร์โดยจุดมุ่งหมายหลักของ อูบุนตูคือเป็นระบบปฏิบัติการสำหรับคนทั่วไป ที่มีโปรแกรมทันสมัย และมีเสถียรภาพในระดับที่ยอมรับได้ ข้ามแพลตฟอร์ม
แพลตฟอร์มทางซอฟต์แวร์ อาจหมายถึงระบบปฏิบัติการ หรือสภาพแวดล้อมทางโปรแกรมมิ่ง ซึ่งตัวอย่างที่ชัดเจนคือ จาวาแพลตฟอร์ม ตัวอย่างแพลตฟอร์มทางซอฟต์แวร์มีดังนี้ วิศวกรรมซอฟต์แวร์
ข้อตกลงทางวิศวกรรมซอฟต์แวร์ ปรากฏขึ้นครั้งแรกในการประชุมวิศวกรรมซอฟต์แวร์นาโต ที่จัดขึ้นในปี ค.ศ. 1968 และได้ให้ความสำคัญกับเหตุการณ์ "วิกฤติการณ์ซอฟต์แวร์" ในขณะนั้น ตั้งแต่นั้นเป็นต้นมา วิศวกรรมซอฟต์แวร์ก็ได้กลายมาเป็นศาสตร์และแขนงของการศึกษาเฉพาะ ในการสร้างซอฟต์แวร์ที่มีคุณภาพสูงขึ้น มีราคาถูกลงเป็นที่ยอมรับได้ ดูแลรักษาได้ง่าย และพัฒนาได้อย่างรวดเร็วขึ้น ตั้งแต่นั้นก็ยังคงมีการเปรียบเทียบวิศวกรรมซอฟต์แวร์กับวิศวกรรมแขนงอื่น ยังคงมีการถกเถียงกันว่าวิศวกรรมซอฟต์แวร์ที่แท้จริงคืออะไร และวิศวกรรมซอฟต์แวร์สมควรเป็นหนึ่งในสาขาวิศวกรรมหรือไม่ วิศวกรรมซอฟต์แวร์ได้ขยายวงกว้างอย่างไร้ขีดจำกัดไปยังผู้ที่มีส่วนเกี่ยวข้องกับซอฟต์แวร์ เช่น โปรแกรมเมอร์ การพัฒนาซอฟต์แวร์ในบางครั้งข้อตกลงอาจขึ้นอยู่กับผู้ที่มีส่วนสำคัญในอุตสาหกรรมซอฟต์แวร์ในการเปลี่ยนแปลงกระบวนการสร้างซอฟต์แวร์ แต่กระนั้นวิศวกรรมซอฟต์แวร์ก็ยังเป็นที่ใฝ่ฝันของวัยรุ่นในการประกอบอาชีพ ในนิตยสาร Money Magazine ได้กล่าวว่า อาชีพในแขนงวิศวกรรมซอฟต์แวร์มีแนวโน้มอนาคตที่สดใส และในเว็บไซต์ Salary.com ได้กล่าวว่าอัตราเงินเดือนในอาชีพวิศวกรรมซอฟต์แวร์มีอัตราสูงที่สุดในประเทศสหรัฐอเมริกาในปี ค.ศ. 2006 วิศวกรรมซอฟต์แวร์
วิศวกรรมซอฟต์แวร์ คือ การประยุกต์ใช้ระบบ กฎเกณฑ์ การเข้าถึงซึ่งสามารถวัดประเมินได้ในการพัฒนา การปฏิบัติการ และการบำรุงรักษาซอฟต์แวร์ และในการศึกษาสิ่งเหล่านี้ ก็คือการประยุกต์ใช้งานทางด้านวิศวกรรมมาจัดการกับซอฟต์แวร์ มหาวิทยาลัยในประเทศไทยที่เปิดสอนหลักสูตรวิศวกรรมซอฟต์แวร์เป็นแห่งแรก คือ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย ซอฟต์แวร์เพื่อความร่วมมือ
ซอฟต์แวร์การทำงานร่วมกันมีวิวัฒนาการและเข้ามาบนอินเทอร์เน็ต ซึ่งมีผลทำให้เกิดการพัฒนาเป็น Web 2.0 ซึ่งนำเอาโฮสต์ที่มีคุณสมบัติของการทำงานร่วมกัน มาบูรณาการใช้ในเครือข่ายขององค์กรเหล่านี้ รวมถึงฟังก์ชันการทำงาน เช่น การใช้เอกสารร่วมกัน (รวมถึงการแก้ไขกลุ่ม) ปฏิทินของกลุ่มและการส่งข้อความโต้ตอบแบบทันที และการประชุมผ่านเว็บอื่น ๆ ในกลุ่ม ​
กรุ๊ปแวร์สามารถแบ่งออกเป็น 3 ประเภทขึ้นอยู่กับระดับของความร่วมมือกัน :
1. การติดต่อสื่อสาร เป็นการแลกเปลี่ยนข้อมูลข่าวสารแบบไม่มีโครงสร้าง ตัวอย่างเช่น การพูดคุยกันทางโทรศัพท์ หรือการใช้ระบบส่งข้อความพูดคุยกัน.
2. การประชุม (หรือ ระดับของความร่วมมือ, ได้ถูกอธิบายในเอกสารทางวิชาการไว้ว่าเป็นระดับของการปรึกษาหารือร่วมกัน) เป็นการทำงานเชิงโต้ตอบกันเพื่อที่จะนำไปสู่เป้าหมายร่วมกัน ด้วยการระดมสมอง หรือการลงความคิดเห็น.
3. การประสานงาน เป็นการทำงานร่วมกันที่มีความซับซ้อนเพื่อที่จะนำไปสู่เป้าหมายร่วมกัน เปรียบเสมือนความเข้าใจกันในทีมกีฬา ที่ทุกคนในทีมมีส่วนร่วมในการปฏิบัติตามหน้าที่ของตนในเวลาที่เหมาะสม เหมือนกับการปรับแผนการเล่นตามสถานการณ์ ซึ่งแต่ละคนทำหน้าที่ที่แตกต่างกันออกไปเพื่อทำให้ทีมชนะ นี้คือการทำงานร่วมกันที่มีความซับซ้อนเพื่อนำไปสู่เป้าหมายร่วมกัน หรือที่เรียกว่าการบริหารจัดการความร่วมมือกัน
เครื่องมือการติดต่อสื่อสารอิเล็กทรอนิคส์ช่วยในการส่งข้อความ, ไฟล์, ข้อมูล, หรือเอกสารระหว่างบุคคล และอำนวยความสะดวกในการแลกเปลี่ยนข้อมูล. ตัวอย่างเช่น :
• การประชุมที่เกิดขึ้นพร้อมกัน (synchronous conferencing)
• การประชุมที่ไม่ได้เกิดขึ้นพร้อมกัน (asynchronous conferencing)
• อีเมล์
• แฟกซ์
• ข้อความเสียง
• วิกิ (Wikis)
• การเผยแพร่ผ่านทางเว็บไซต์
• การควบคุมการแก้ไข (revision control)
เครื่องมือการประชุมอิเล็กทรอนิคส์ใช้อำนวยความสะดวกในการแลกเปลี่ยนข้อมูลซึ่งกันและกัน ซึ่งโต้ตอบกันได้อย่างรวดเร็ว. ตัวอย่างเช่น :
• การประชุมทางอินเทอร์เน็ต (Internet forums) (รู้จักกันในชื่อที่ว่า กระดานข้อความ หรือกระดานสนทนา) — เป็นแพลตฟอร์มการตัดสินใจแบบเสมือนจริงที่ช่วยอำนวยความสะดวก และจัดการข้อความออนไลน์
• การสนทนาทางอินเทอร์เน็ต (Online chat) — เป็นแพลตฟอร์มการตัดสินใจแบบเสมือนจริงที่ช่วยอำนวยความสะดวก และสามารถจัดการข้อความได้อย่างทันที
• ข้อความโต้ตอบแบบทันที (Instant Messaging)
• การโทรศัพท์ (Telephony) — โทรศัพท์ช่วยให้ผู้ใช้ได้มีปฏิสัมพันธ์ซึ่งกันและกัน
• การประชุมทางวีดิทัศน์ (Videoconferencing) — คือเครือข่ายคอมพิวเตอร์ที่ใช้สัญญาณวีดีโอ และสัญญาณเสียงร่วมกัน
• การประชุมโดยการแลกเปลี่ยนข้อมูล (Data conferencing) — คือเครือข่ายคอมพิวเตอร์ที่มีพื้นที่ร่วมกัน ซึ่งผู้ใช้งานแต่ละคนสามารถเข้าไปแก้ไข หรือปรับเปลี่ยนได้
• การใช้งานโปรแกรมประยุกต์ร่วมกัน (Application sharing) — ผู้ใช้งานสามารถเข้าถึงเอกสาร หรือโปรแกรมที่ทำการแชร์ได้ตามลำดับคอมพิวเตอร์ที่ใช้งานอยู่ในขณะนั้น
• ระบบการประชุมอิเลคทรอนิคส์ (EMS) — แต่เดิมถูกอธิบายว่าเป็น “ระบบการประชุมอิเลคทรอนิคส์” และระบบนี้ได้ถูกติดตั้งไว้ในห้องประชุม ซึ่งห้องที่มีความพิเศษเหล่านี้จะประกอบไปด้วยวีดีโอโปรเจกต์เตอร์ ที่ได้ถูกเชื่อมโยงกับคอมพิวเตอร์จำนวนมากไว้แล้ว อย่างไรก็ตาม ระบบการประชุมอิเลคทรอนิคส์ยังถูกพัฒนาไปไว้บนเว็บไซต์ ทำให้สามารถเข้าใช้งานได้ทุกที่ ทุกเวลา ซึ่งระบบได้อำนวยความสะดวกในการรองรับผู้ที่เข้ามาใช้งาน ที่กระจายกันอยู่ตามสถานที่ต่างๆ
เครื่องมือจัดการความร่วมมือกันได้อำนวยความสะดวก และ บริหารกิจกรรมของกลุ่ม ตัวอย่างเช่น วิศวกรรมซอฟต์แวร์
ในปี 2004 ในสหรัฐอเมริกา สำนักแรงงานสถิติ นับ 760840 ซอฟต์แวร์วิศวกร ถืองานในสหรัฐอเมริกา; ในช่วงเวลาเดียวกันมีบาง 1.4 ล้านประกอบทำงานในสหรัฐอเมริกาในอื่น ๆ ทั้งหมดรวมวิศวกรรมฝึกหัด เนื่องจากความญาติเป็นความแปลกฟิลด์การศึกษาทางการศึกษาในวิศวกรรมซอฟต์แวร์ นั้นมักจะสอนเป็นส่วนหนึ่งของหลักสูตรด้านวิทยาศาสตร์คอมพิวเตอร์และเป็นผล มากที่สุดซอฟต์แวร์วิศวกรถือด้านวิทยาศาสตร์คอมพิวเตอร์องศา ซอฟต์แวร์เพื่อความร่วมมือ
ซอฟแวร์เพื่อความร่วมมือควรจะสนับสนุนบุคคลที่สร้างกลุ่มขึ้นและการมีปฏิสัมพันธ์ระหว่างกลุ่มของพวกเขาในระหว่างขั้นตอนการตัดสินใจของกลุ่ม ส่วนมากกลุ่มในปัจจุบันนี้จะประกอบด้วยสมาชิกจากทั่วโลกที่มีสมาชิกบางคนใช้ภาษาที่สองหรือภาษาที่สามในการสื่อสารกับกลุ่ม สถานการณ์นี้ก่อให้เกิดวัฒนธรรมตลอดจนความท้าทายทางภาษาสำหรับซอฟต์แวร์ที่สนับสนุนความพยายามร่วมกัน อีกทั้งซอฟแวร์ยังอาจช่วยสนับสนุนการเป็นสมาชิกของทีมในด้านบทบาทและความรับผิดชอบ นอกจากนี้ระบบสนับสนุนการทำงานร่วมกันอาจมีความสามารถในการสนับสนุนระบบเสริม เช่นงบประมาณและทรัพยากรทางกายภาพ มัลแวร์
ไวรัส (virus) 
ไวรัสเป็นโปรแกรมที่สามารถติดต่อจากอีกไฟล์หนึ่งไปยังอีกไฟล์หนึ่งภายในระบบเดียวกัน หรือจากคอมพิวเตอร์เครื่องหนึ่งไปยังเครื่องอื่นโดยการแนบตัวเองไปกับโปรแกรมอื่น มันสามารถทำลายฮาร์ดแวร์ ซอฟต์แวร์ และข้อมูล เมื่อโฮสต์รันโปรแกรมที่ติดไวรัส ส่วนที่เป็นไวรัสก็จะถูกรันด้วยและทำให้แพร่กระจายไปยังเครื่องอื่นหรือบางทีก็สร้างโค้ดใหม่ ซอฟต์แวร์เพื่อความร่วมมือ
• ซอฟต์แวร์จัดตารางทำงานออนไลน์ การทำงานร่วมกันและแบ่งปันข้อมูลโครงสร้างและสารสนเทศอื่นๆ ช่องทางติดต่อกับลูกค้า ทำการโต้ตอบและแบ่งปันกับลูกค้าของคุณในสภาพแวดล้อมออนไลน์อย่างเป็นส่วนตัว
การใช้งานในส่วนนี้อาจจะรวมถึงวิกิพีเดีย และ กระดานข้อความ เช่น เวทเพ้นท์ การใช้งานพื้นฐานรวมถึง
1. การสำรวจ
2. การจัดการโครงการ
3. การโต้ตอบ
4. การติดตามเป็นช่วงเวลา
5. ข้อจำกัดของผู้เข้าชม
มีทั้งแบบ สำหรับผู้ใช้งานเพียงคนเดียว (อย่างเช่น MediaWiki), แบบที่เป็นชุดโปรแกรม (อย่างเช่น TikiWiki or Sakai) หรือ แบบที่ใช้งานบนเว็บไซต์ (อย่างเช่น Wikipedia). โดยปกติแล้ววิกิจะประกอบไปด้วยหน้าต่างๆ (ซึ่งสามารถทำการแชร์ หรือแก้ไขได้) และยังมีความสัมพันธ์กันระหว่างหน้าอื่นอีกด้วย. ซอฟต์แวร์
หมวดหมู่:ศัพท์อังกฤษ ซอฟต์แวร์จำกัดสิทธิ์
คำว่า "โพรไพรเอทารีซอฟต์แวร์" เป็นคำจำกัดความที่ทางมูลนิธิซอฟต์แวร์เสรี (Free Software Foundation, FSF) ได้สร้างขึ้นเพื่อใช้อธิบายถึงซอฟต์แวร์ที่ไม่ใช่ซอฟต์แวร์เสรี เพื่อ ไว้เรียกเปรียบเทียบกับ ซอฟต์แวร์เสรี หรือ ซอฟต์แวร์ที่เปิดให้ผู้อื่นใช้งาน แจกจ่าย และ ดัดแปลงแก้ไขได้ ซอฟต์แวร์เสรี
ซอฟต์แวร์เสรี (free software) หมายถึงซอฟต์แวร์ที่สามารถนำไปใช้ แก้ไข ดัดแปลง พัฒนา และจำหน่ายแจกจ่ายได้โดยเสรี โดยไม่ต้องเสียค่าลิขสิทธิ์แต่อย่างใด ตามคำนิยามของมูลนิธิซอฟต์แวร์เสรี (Free Software Foundation) ในบางครั้งซอฟต์แวร์เสรีจะถูกกล่าวถึงในชื่ออื่น ๆ เช่น libre software, FLOSS หรือซอฟต์แวร์โอเพนซอร์ส ซอฟต์แวร์เสรีที่เป็นนิยมใช้งานได้แก่ ลินุกซ์ ไฟร์ฟอกซ์ และโอเพ่นออฟฟิศ แชร์แวร์
แชร์แวร์มักจะแจกจ่ายในรูปของโปรแกรมทดลองใช้งาน ในระหว่างช่วงเวลาที่กำหนด ที่ความสามารถบางอย่างจะใช้งานได้ต้องมีการซื้อสิทธิ์ หรือซื้อตัวโปรแกรมตัวเต็มก่อนเท่านั้น เมื่อหมดระยะเวลาของการทดลองใช้งาน ตัวโปรแกรมอาจหยุดการทำงานจนกว่าจะมีการซื้อสิทธิ์ แชร์แวร์มักไม่การให้การช่วยเหลือ การอัปเดต หรือ เมนูช่วยเหลือ ซึ่งสิ่งที่กล่าวมาทั้งหมดจะสามารถใช้งานได้ เมื่อมีการซื้อสิทธิ์ในโปรแกรมแล้ว คำที่ใช้บ่งบอกความเป็นโปรแกรมโดยมาก ได้แก่ "ทดลองฟรี"(free trial) หรือ "โปรแกรมทดลองใช้งาน"(trial version) อะโดบี แฟลช เพลย์เยอร์
อะโดบี แฟลช เพลย์เยอร์ เป็นซอฟต์แวร์สำหรับรังสรรค์ และทัศนาสื่อภาพเครื่องไหว ภาพยนตร์ และโปรแกรมคอมพิวเตอร์ บนเว็บเบราว์เซอร์ ในเว็บไซต์ทั่วไปจะสามารถเห็นแฟลซเพลย์เยอร์แสดงภาพเคลื่อนไหวหรือภาพยนตร์ต่างๆ แฟลซเพลย์เยอร์เป็นซอร์ฟแวร์มัลติมีเดีย และ โปรแกรมประยุกต์ที่มีกรรมสิทธิ์ ที่แพร่หลายในวงกว้าง เริ่มต้นพัฒนาโดย แมโครมีเดีย แต่ปัจจุบัน พัฒนาและเผยแพร่โดย อะโดบี หลังจากการควบรวมกิจการ แฟลซ์ เพลย์เยอร์ ทำงานโดยการอ่านไฟล์ SWF ที่เขียนขึ้นโดยโปรแกรม อะโดบี แฟลช, อะโดบี แฟล็ก เครื่องมืออื่นๆ ของแมโครมีเดีย หรือ เครื่องมือที่ผู้ร่วมพัฒนาจัดทำขึ้น ซอฟต์แวร์เฟรมเวิร์ก
ยกตัวอย่างเช่น โครงร่างซอฟต์แวร์สามารถช่วยให้สร้างโปรแกรมบรรณาธิกรณ์กราฟิก ที่แตกต่างกันได้หลายประเภท เช่น การวาดภาพศิลป์ การประพันธ์ดนตรี และการออกแบบเครื่องกลโดยใช้คอมพิวเตอร์ช่วย (แคด) ซอฟต์แวร์จำกัดสิทธิ์
คำภาษาอังกฤษว่า "non-free software" (ซอฟต์แวร์ไม่ใช่เสรี) มักจะถูกใช้เพื่อหมายถึง proprietary software เช่นเดียวกัน. บางครั้งริชาร์ด สตอลแมน (Richard Stallman) ผู้ก่อตั้งโครงการกนู และมูลนิธิซอฟต์แวร์เสรี ก็ใช้คำว่า "user subjugating software" (ซอฟต์แวร์กดขี่ผู้ใช้) ในขณะที่ Eben Moglen ใช้คำว่า "unfree software" (ซอฟต์แวร์ไร้เสรี) ในการสนทนาของเขา โดยปกตินักพัฒนาของ Debian มักจะใช้คำว่า "non-free" (ไม่ใช่เสรี) แต่บางทีพวกเขาก็จะพูดถึงหรือใช้คำว่า "proprietary software" ด้วยเช่นกัน ส่วน Open Source Initiative (องค์กรริเริ่มและส่งเสริมโอเพนซอร์ส) จะนิยมใช้คำว่า "closed source software" (ซอฟต์แวร์ไม่เปิดเผยต้นฉบับ) เน็ตแวร์
เป็นมากกว่าผลิตภัณฑ์ open -source เช่น PHP, MySQL และ OpenSSH พอร์ตของ Bash shell และได้สืบทอดมาจากประโยชน์ของ Unix เช่น wget, grep, awk และ sed เพื่อเพิ่มความสามารถสำหรับการเขียนต้นร่าง สนับสนุน iSCSI (ทั้งคู่มีจุดมุ่งหมายและการริเริ่มเดียวกัน) แก่นแท้ขององค์กรคือ “out of the box” ทางเข้าเว็บสำหรับการเตรียมการเข้าถึงอีเมลของผู้ใช้ ที่เก็บไฟล์ส่วนบุคคล สมุดที่อยู่ของบริษัท มีหน้าที่เกี่ยวกับ Domain controller มี Password เป็นสากล มี DirXML Starter Pack เข้ารหัสของผู้ใช้งานกับอย่างอื่นคือ eDirectory tree,Windows NT Domain หรือ Active Directory มี extend Application Server – a J2EE 1.3 ซึ่งเข้ากันได้กับ Application server สนับสนุนสำหรับ customized printer driver profile และ วิธีการใช้ปริ๊นเตอร์ สนับสนุน NX bit สนับสนุนสำหรับอุปกรณ์ต่อพวงแบบ USB สนับสนุนสำหรับระดับการเข้ารหัส สนับสนุน FAB FAB FAB ซอฟต์แวร์
ซอฟต์แวร์ เป็นชื่อเรียกเพื่อใช้เปรียบต่างกับฮาร์ดแวร์ ซึ่งเป็นลักษณะทางกายภาพในการเก็บและประมวลผลของซอฟต์แวร์ ในคอมพิวเตอร์ซอฟต์แวร์จะถูกเรียกใช้งานในแรมและประมวลผลผ่านซีพียู ซอฟต์แวร์เฟรมเวิร์ก
เฟรมเวิร์ก (framework) หรือ โครงร่างซอฟต์แวร์ เป็นรูปแบบที่นำกลับมาใช้ใหม่ได้สำหรับระบบซอฟต์แวร์ (หรือระบบย่อย) ซึ่งสามารถอยู่ในรูปของคลาสนามธรรม (Abstract class) และกับวิธีในการใช้ตัวตน (instance) ของคลาสร่วมกันจำเพาะสำหรับซอฟต์แวร์ชนิดใดชนิดหนึ่ง โครงร่างซอฟต์แวร์ทุกโครงร่างใช้การออกแบบเชิงวัตถุ โปรแกรมของโครงร่างซอฟต์แวร์มักจะเป็นโปรแกรมเชิงวัตถุ อย่างไรก็ตามโปรแกรมที่เขียนขึ้นตามการออกแบบไม่จำเป็นต้องเป็นโปรแกรมเชิงวัตถุ  วิศวกรรมซอฟต์แวร์
วิศวกรรมซอฟต์แวร์สามารถแบ่งออกไปได้อีก 10 สาขาวิชาย่อย คือ ดอตเน็ตเฟรมเวิร์ก
ดอตเน็ตเฟรมเวิร์ก (.NET Framework) คือแพลตฟอร์มสำหรับพัฒนาซอฟต์แวร์สร้างขึ้นโดยไมโครซอฟท์ โดยรองรับภาษาดอตเน็ตมากกว่า 40 ภาษา ซึ่งมีไลบรารีเป็นจำนวนมากสำหรับการเขียนโปรแกรม รวมถึงบริหารการดำเนินการของโปรแกรมบนดอตเน็ตเฟรมเวิร์ก โดยไลบรารีนั้นได้รวมถึงส่วนต่อประสานกับผู้ใช้ การเชื่อมต่อฐานข้อมูล วิทยาการเข้ารหัสลับ ขั้นตอนวิธี การเชื่อมต่อเครือข่ายคอมพิวเตอร์ และการพัฒนาเว็บแอปพลิเคชัน ซอฟต์แวร์ระบบ
ถ้าซอฟต์แวร์ระบบถูกเก็บบันทึกอยู่ในหน่วยความจำลบเลือนไม่ได้เช่นในวงจรรวม มักจะเรียกว่าเฟิร์มแวร์ วิศวกรรมซอฟต์แวร์
วิศวกรรมซอฟต์แวร์เป็นศาสตร์ที่ทวีความสำคัญเพิ่มขึ้นเรื่อย ๆ เนื่องจากในปัจจุบัน ซอฟต์แวร์มีความซับซ้อนเพิ่มขึ้น จำเป็นต้องมีการวิศวกรรมที่จะควบคุมและดำเนินการผลิต ที่มีประสิทธิภาพ สามารถวัดผลได้ และ สามารถตรวจหาข้อผิดพลาดพร้อมสาเหตุได้ อย่างสะดวกและรวดเร็ว เพื่อให้สามารถปรับปรุงแก้ไขซอฟต์แวร์ตั้งแต่อยู่ในระหว่างการผลิตได้อีกทั้งยังมีการทบทวนและตรวจสอบ ซอฟต์แวร์จำกัดสิทธิ์
ถ้าดูความหมายตามตัวอักษรแล้ว คำภาษาอังกฤษว่า proprietary software (ซอฟต์แวร์กรรมสิทธิ์) จะหมายถึงซอฟต์แวร์ที่มีเจ้าของหรือผู้ครอบครองกรรมสิทธิ์ (proprietor) - ดังนั้นคำๆ นี้จึงอาจใช้เรียกซอฟต์แวร์ทุกตัวที่ไม่ได้เป็นสาธารณสมบัติ (public domain) ก็ได้เช่นกัน อย่างไรก็ตาม FSF ใช้คำๆ นี้เพื่ออธิบายถึงหัวใจสำคัญขั้นพื้นฐานของซอฟต์แวร์นั้นๆ โดยที่ "ซอฟต์แวร์เสรี" นั้น ยึดเอาเสรีภาพเป็นสิ่งสำคัญขั้นพื้นฐาน ในขณะที่ "proprietary software" ยึดเอาผู้ที่ถือกรรมสิทธิ์ในตัวซอฟต์แวร์เป็นสำคัญ มอซิลลา
มอซิลลา () เป็นคำที่ถูกนำมาใช้ในหลายความหมายสำหรับสิ่งที่เกี่ยวข้องกับการพัฒนาต่อจาก เน็ตสเคปและซอฟต์แวร์ที่พัฒนาต่อ รวมไปถึง มูลนิธิมอซิลลา (Mozilla Foundation) และ บริษัทมอซิลลา (Mozilla Corporation) ที่จัดการด้านซอฟต์แวร์ ซึ่งคำว่ามอซิลลานั้นมีการใช้งานในหลายความหมายหลักได้แก่ ไมโครซอฟท์
และไมโครซอฟท์มีชุดผลิตภัณฑ์สำหรับเซิร์ฟเวอร์ เช่น วินโดวส์เซิร์ฟเวอร์ 2003 โดยในระบบปฏิบัติการของเซิร์ฟเวอร์เป็นหัวใจหลักของสายการผลิตของกลุ่มผลิตภัณฑ์เซิร์ฟเวอร์ของไมโครซอฟท์ อีกหนึ่งผลิตภัณฑ์เซิร์ฟเวอร์คือระบบการจัดการเซิร์ฟเวอร์ โดยรวบรวมเครื่องมือควบคุมระยะไกล , แพทช์การจัดการ ส่วนผลิตภัณฑ์เซิร์ฟเวอร์อื่นๆ เช่น ไมโครซอฟท์ ซีเควล เซิร์ฟเวอร์ (ระบบจัดการฐานข้อมูล) และ ไมโครซอฟท์ เอกซ์เชนจื เซิร์ฟเวอร์ (เมลเซิร์ฟเวอร์สำหรับองค์กรธุรกิจ) [4] ซอฟต์แวร์เพื่อความร่วมมือ
ย้อนกลับไปในปี 1978 Peter and Trudy Johnson-Lenz ได้สร้าง groupware และได้ให้นิยามของ groupware ไว้ว่า เป็นซอฟต์แวร์ที่ช่วยสนับสนุน เพิ่มประสิทธิภาพการทำงานของกลุ่ม " ​
ต่อมาได้มีการเขียนบทความอธิบาย groupware ว่าเป็น "วัฒนธรรมสื่อคอมพิวเตอร์ ซึ่งเป็นศูนย์รวมของสังคมองค์กรบนhyperspace" Groupware เป็นการรวบรวมการพัฒนาระบบและเครื่องมือของมนุษย์ ให้อยู่ในระบบเดียวกัน​ การพัฒนาซอฟต์แวร์
ระเบียบวิธีการพัฒนาซอฟต์แวร์มีอยู่หลายวิธีการ แต่ละวิธีการมีข้อดีและข้อเสียที่แตกต่างกัน ตัวอย่างระเบียบวิธีการพัฒนาซอฟต์แวร์ที่ได้รับความนิยม  เช่น โครงสร้างแบบน้ำตก (Waterfall Model), โครงสร้างแบบก้นหอย (Spiral Model), วิธีการพัฒนาซอฟต์แวร์แบบคล่องแคล่วว่องไว (Agile Software Development) ซอฟต์แวร์
ฮาร์ดแวร์ วิศวกรรมซอฟต์แวร์ กระด้างภัณฑ์และละมุนภัณฑ์ เสรีภาพ
อิสรภาพทางซอฟต์แวร์ หรืออิสรภาพทางสารสนเทศ - สารสนเทศ (โดยเฉพาะซอฟต์แวร์) ปราศจากข้อผูกมัดและข้อจำกัดในการใช้ การแก้ไข การแจกจ่าย และการสร้างสรรค์ ดูเพิ่มเติม: ซอฟต์แวร์เสรี, ซอฟต์แวร์รหัสเปิด และฟรีแวร์ ระบบปฏิบัติการ
ระบบปฏิบัติการ (operating system) หรือ โอเอส (OS) เป็นระบบซอฟต์แวร์ที่ทำหน้าที่จัดการอุปกรณ์คอมพิวเตอร์และแหล่งซอฟต์แวร์และบริการโปรแกรมคอมพิวเตอร์  วิทยาการคอมพิวเตอร์
วิทยาการคอมพิวเตอร์ หรือ วิทยาศาสตร์คอมพิวเตอร์ () เป็นศาสตร์เกี่ยวกับการศึกษาค้นคว้าทฤษฎีการคำนวณสำหรับคอมพิวเตอร์ และทฤษฎีการประมวลผลสารสนเทศ ทั้งด้านซอฟต์แวร์ ฮาร์ดแวร์ และ เครือข่าย ซึ่งวิทยาการคอมพิวเตอร์นั้นประกอบด้วยหลายหัวข้อที่เกี่ยวข้องกับคอมพิวเตอร์ ตั้งแต่ระดับนามธรรม หรือความคิดเชิงทฤษฎี เช่น การวิเคราะห์และสังเคราะห์ขั้นตอนวิธี ไปจนถึงระดับรูปธรรม เช่น ทฤษฎีภาษาโปรแกรม ทฤษฎีการพัฒนาซอฟต์แวร์ ทฤษฎีฮาร์ดแวร์คอมพิวเตอร์ และ ทฤษฎีเครือข่าย ซอฟต์แวร์สำนักงาน
ชุดซอฟต์แวร์สำนักงานส่วนใหญ่ อย่างน้อยจะมีการรวมเอา ซอฟต์แวร์ประมวลผลคำ (word processor) และ ซอฟต์แวร์ตารางงาน (spreadsheet). หากมีเพิ่มเติม ในชุดซอฟต์แวร์อาจมี ซอฟต์แวร์นำเสนอ เครื่องมือ ฐานข้อมูล ชุดแก้ไขงานกราฟิค และเครื่องมือที่ใช้ในการสื่อสาร ในชุดโปรแกรมสำนักงาน อาจะมีการเพิ่มโปรแกรมรับส่งอีเมลและโปรแกรมจัดการข้อมูลส่วนตัว หรือ ชุดโปรแกรมใช้งานระบบกลุ่ม ฟรีแวร์
ฟรีแวร์ (freeware) หมายถึงซอฟต์แวร์ที่สร้างขึ้นและสามารถนำไปใช้ได้ในทุกจุดประสงค์โดยไม่ต้องเสียค่าใช้จ่าย (เช่นราคาขายหรือค่าลิขสิทธิ์) ฟรีแวร์เป็นลักษณะก้ำกึ่งระหว่างซอฟต์แวร์พาณิชย์และซอฟต์แวร์โอเพนซอร์ซ คืออนุญาตให้กลุ่มผู้พัฒนามีส่วนร่วมในการสร้างซอฟต์แวร์ แต่ก็ไม่เผยแพร่รหัสต้นฉบับสู่สาธารณชนเพื่อรักษาความลับทางการค้า ภาษาโปรแกรม
วลี ภาษาคอมพิวเตอร์ บางครั้งก็ใช้แทนความหมายของภาษาโปรแกรม [20] อย่างไรก็ตาม ผู้แต่งตำราแต่ละคนก็ใช้วลีทั้งสองรวมถึงขอบเขตที่ชัดเจนในแนวทางที่ต่างกัน แนวคิดหนึ่งอธิบายว่า ภาษาโปรแกรมเป็นเซตย่อยของภาษาคอมพิวเตอร์ [21] ในทำนองนี้ ภาษาที่ใช้ในการคิดคำนวณอันมีเป้าหมายต่างกัน ที่แสดงออกเป็นโปรแกรมคอมพิวเตอร์ โดยนัยทั่วไปคือภาษาคอมพิวเตอร์ที่ถูกเลือกขึ้นมา ยกตัวอย่างเช่น ภาษามาร์กอัปบางครั้งก็ถูกพูดถึงว่าเป็นภาษาคอมพิวเตอร์ เพื่อเน้นย้ำว่ามันไม่ได้ออกแบบมาเพื่อเขียนโปรแกรม [22] แนวคิดอีกอย่างหนึ่งอธิบายว่า ภาษาโปรแกรมคือโครงสร้างเชิงทฤษฎีสำหรับการเขียนโปรแกรมให้แก่เครื่องจักรนามธรรม และภาษาคอมพิวเตอร์คือเซตย่อยของสิ่งดังกล่าวที่ทำงานบนคอมพิวเตอร์ในทางกายภาพ ซึ่งมีทรัพยากรฮาร์ดแวร์จำกัด [23] จอห์น ซี. เรย์โนลด์ เน้นว่า ภาษาข้อกำหนดรูปนัย (formal specification) มีลักษณะของภาษาโปรแกรมมากพอ ๆ กับภาษาที่ตั้งใจให้กระทำการ เขายังให้เหตุผลด้วยว่า รูปแบบรับเข้าเชิงข้อความหรือแม้แต่เชิงกราฟิกที่ส่งผลต่อพฤติกรรมของคอมพิวเตอร์ ก็ถือเป็นภาษาโปรแกรมเช่นกัน ถึงแม้ข้อเท็จจริงคือสิ่งเหล่านั้นไม่ใช่ทัวริงบริบูรณ์ และให้ความเห็นอีกว่า การมองข้ามมโนทัศน์ของภาษาโปรแกรมคือสาเหตุของความบกพร่องมากมายในรูปแบบรับเข้า [24] การเขียนโปรแกรมคอมพิวเตอร์
การเขียนโปรแกรม หรือการพัฒนาซอฟต์แวร์ ถือได้ว่าเป็นทรัพย์สินทางปัญญาของผู้พัฒนาหรือผู้เขียนโปรแกรมหรือบริษัทซอฟต์แวร์ ที่เป็นเจ้าของซอร์สโค้ดของโปรแกรมนั้นๆ โปรดดูรายละเอียดในเรื่อง ลิขสิทธิ์ ซอฟต์แวร์ระบบ
ซอฟต์แวร์ระบบพื้นฐานที่สุดมีดังนี้ ซอฟต์แวร์เพื่องานกราฟิกส์สามมิติ
ซอฟต์แวร์เพื่องานกราฟิกส์สามมิติ หมายถึงซอฟต์แวร์ที่ใช้งานเกี่ยวกับการสร้างภาพสามมิติ ทั้งนี้ขั้นตอนของงานดังกล่าวอาจแบ่งหรือแตกแขนงออกได้หลายลำดับขั้น (pipeline) และอาจแตกต่างกันไปตามประเภทของผลลัพธ์ที่ต้องการ เช่นการสร้างเกมคอมพิวเตอร์ ก็อาจมีขั้นตอนแตกต่างจากการสร้างภาพยนตร์หรือภาพเคลื่อนไหว ซอฟต์แวร์ที่ถูกนำมาใช้ในแต่ละขั้นตอนอาจเป็นคนละตัวหรือตัวเดียวกัน อาจเป็นโปรแกรมจากภายนอก หรืออาจพัฒนาขึ้นเป็นการภายในสตูดิโอนั้นๆก็ได้ เป็นซอฟต์แวร์เฉพาะเพื่อการเร็นเดอร์ภาพ และไม่ต้องมีส่วนสำหรับสร้างแบบจำลองในตัว วิศวกรรมซอฟต์แวร์
ในปี ค.ศ. 1998 มหาวิทยาลัยบัณฑิตศึกษาแห่งนาวาล (Naval Postgraduate School) ในสหรัฐอเมริกา ได้ริเริ่มหลักสูตรปริญญาเอกสาขาวิศวกรรมซอฟต์แวร์เป็นครั้งแรกในโลก Steve McConnell ได้ให้ความเห็นว่า เป็นเพราะมหาวิทยาลัยส่วนใหญ่มีการเรียนการสอนวิทยาการคอมพิวเตอร์มากกว่าวิศวกรรมซอฟต์แวร์ จึงทำให้ขาดแคลนวิศวกรซอฟต์แวร์ที่แท้จริง ในปี ค.ศ. 2004 สมาคมคอมพิวเตอร์แห่ง IEEE ได้พัฒนา องค์ความรู้ สำหรับสาขาวิศวกรรมซอฟต์แวร์ หรือเรียกว่า Software Engineering Body of Knowledge จนได้รับการรับรองมาตรฐานสากล ISO (ISO/IEC TR 19759:2005)  ซอฟต์แวร์
การแบ่งประเภทของซอฟต์แวร์แบ่งออกได้เป็นหลายแบบ เช่น ระบบการจัดการเอกสาร
Content management system
ระบบจัดการเนื้อหา (Content management system, CMS) คือระบบซอฟต์แวร์คอมพิวเตอร์ที่ใช้เพื่อจัดระเบียบ และส่งเสริมการทำงานในหมู่คณะ ให้สามารถสร้างเอกสาร หรือเนื้อหาสาระอื่นๆ โดยมากแล้ว ระบบจัดการเนื้อหา มักจะเป็นเว็บแอปพลิเคชัน ซึ่งใช้จัดการเว็บไซต์และเนื้อหาบนเว็บ และมีไม่น้อยที่ระบบจัดการเนื้อหาต้องใช้ซอฟต์แวร์พิเศษบนเครื่องเครื่องลูกข่าย เพื่อใช้แก้ไขและสร้างบทความต่างๆ ระบบจัดการเนื้อหา ในตลาดซอฟต์แวร์คอมพิวเตอร์มีทั้งแบบที่ทำเพื่อการค้าและแบบ โอเพนซอร์สเนื้อหาที่อยู่บนระบบอาจจะเป็นเนื้อหาที่เป็น ข้อความตัวอักษรไฟล์รูปภาพ ไฟล์เสียง ไฟล์ภาพเคลื่อนไหว ไฟล์วิดีโอ หรือไฟล์เอกสารอื่นๆ ก็ได้ ระบบจัดการเนื้อหามักมีระบบการจัดการลำดับการดำเนินงานของเนื้อหาที่เรียกว่า Workflow ซึ่งลำดับการดำเนินงานนั้นโดยมากจะประกอบไปด้วย
- ขั้นตอนการนำเนื้อหาเข้าระบบ (Ingestion หรือ Creation) เช่นผู้บริหารระดับสูงเห็นชอบให้มีการสร้างเนื้อหาใหม่ขึ้น และผู้พัฒนาสร้างเทมเพลต และ โฟลเดอร์เพื่อรองรับข้อมูลบนเว็บ
- ขั้นตอนการตรวจสอบเนื้อหา (Staging หรือ Approval) มีการตรวจสอบความถูกต้องของเนื้อหาเนื่องจากหากข้อมูลผิดพลาดจะมีความยุ่งยากในการกลับมาแก้ไข มีการกระจายงานสู่กลุ่มพนักงาน เพื่อจำหน่ายให้พนักงานช่วยสร้างเนื้อหา และแก้ไขเนื้อหา
- ขั้นตอนการนำเนื้อหาไปเผยแพร่ (Delivery หรือ Publishing) ผู้ดูแลเว็บไซด์อนุมัติ รวบรวมข้อมูลขึ้นเว็บไซด์ได้ การทดสอบซอฟต์แวร์
การทดสอบ เป็นกระบวนการทดลองใช้ซอฟต์แวร์อย่างมีแนวทาง โดยใช้ความรู้ทางด้านเทคนิค เพื่อให้สามารถระบุหรือค้นหาความผิดพลาด(error)ของซอฟต์แวร์ที่อาจจะซ่อนอยู่ให้ปรากฏออกมา และสามารถระบุถึงแนวทางการเกิดปัญหา พร้อมสมมุติฐานของความผิดพลาดที่เกิดขึ้นได้ ซอฟต์แวร์เสรี
ในทางปฏิบัติ ซอฟต์แวร์เสรี และ ซอฟต์แวร์โอเพนซอร์ส มีลักษณะร่วมที่คล้ายกัน แต่แตกต่างกันโดยแนวความคิดของกลุ่ม โดยซอฟต์แวร์เสรีเน้นในแนวทางสังคมการเมืองที่ต้องการให้มีการใช้ซอฟต์แวร์ได้อย่างอิสระ ไม่ถูกจำกัดด้วยลิขสิทธิ์ ในขณะที่ซอฟต์แวร์โอเพนซอร์สมีแนวความคิดในการเปิดกว้างให้แลกเปลี่ยนซอร์สโค้ดได้อิสระซึ่งเป็นแนวคิดทางด้านเทคโนโลยี อย่างไรก็ตามซอฟต์แวร์เสรีทุกตัวถูกจัดให้เป็นซอฟต์แวร์โอเพนซอร์สเสมอ แต่กระนั้นเคยมีกรณีที่มูลนิธิซอฟต์แวร์เสรีไม่ยอมรับ Apple Public Source License รุ่นแรกให้อยู่อยู่ในรายการโดยเนื้อหาใน Apple Public Source License รุ่นแรกกำหนดให้การปรับปรุงแก้ไขที่เป็นส่วนตัวจะต้องเผยแพร่ patch ออกสู่สาธารณะและรายงานให้ Apple ทราบทุกครั้ง ซึ่งทางมูลนิธิซอฟต์แวร์เสรีมองว่าเป็นการไม่เคารพความเป็นส่วนตัวและจำกัดเสรีภาพในการแก้ไขซอฟต์แวร์ ระบบเวลาจริง
ระบบเวลาจริง ในทางวิทยาการคอมพิวเตอร์ หมายถึง การศึกษาเกี่ยวกับระบบฮาร์ดแวร์และซอฟต์แวร์ที่มีเงื่อนไขด้าน "เวลาจริง" เข้ามาเกี่ยวข้อง โปรแกรมในระบบเวลาจริงจะต้องประมวลผลภายในระยะเวลาที่กำหนดไว้อย่างชัดเจน ขณะที่ระบบที่ไม่ใช่ระบบเวลาจริงจะไม่มีเรื่องเส้นตายเข้ามาเกี่ยวข้อง สำหรับซอฟต์แวร์ระบบเวลาจริงนั้นจำเป็นจะต้องใช้ระบบปฏิบัติการเวลาจริง และโปรแกรมภาษาแบบซิงโครนัส เพื่อจะได้มีเฟรมเวิร์คให้สามารถพัฒนาซอฟต์แวร์ระบบเวลาจริงได้ ซอฟต์แวร์บริการ
ซอฟต์แวร์บริการ () เป็นซอฟต์แวร์แอปพลิเคชันบนเว็บที่ผู้ใช้สามารถเรียกใช้บริการได้ตามความต้องการใช้งาน โดยทั่วไปซอฟต์แวร์บริการนี้จะถูกจัดเก็บอยู่บนเครื่องเซิร์ฟเวอร์ของผู้ให้บริการ หรือเป็นซอฟต์แวร์ที่จะถูกดาวน์โหลดลงสู่ตัวเครื่องของผู้ใช้บริการ โดยจะหยุดทำงานเมื่อได้ใช้ซอฟต์แวร์ดังกล่าวครบเวลาที่กำหนด หรือดำเนินการเสร็จสิ้นแล้ว การทวนสอบซอฟต์แวร์
การทวนสอบซอฟต์แวร์ () คือ กระบวนการประเมิณค่าของระบบ หรือ ส่วนประกอบ เพื่อกำหนดว่า ซอฟต์แวร์หรือ ส่วนประกอบ ที่จะออกมานั้นเป็นไปตามความต้องการ ซึ่งจะทำในช่วงก่อนการเริ่มทำการ development software โดย Verification activities นี้จะประกอบด้วยการ Testing และ Reviews วิศวกรรมซอฟต์แวร์
ในแง่ของศาสตร์เกี่ยวกับคอมพิวเตอร์นั้น วิศวกรรมซอฟต์แวร์ เป็นหนึ่งในห้าสาขาวิชาคอมพิวเตอร์ ซึ่งประกอบด้วย สาขาวิทยาการคอมพิวเตอร์ หรือวิทยาศาสตรคอมพิวเตอร์ สาขาวิศวกรรมคอมพิวเตอร์ สาขาวิศวกรรมซอฟต์แวร์ สาขาเทคโนโลยีสารสนเทศ หรือเทคโนโลยีสารสนเทศและการสือสาร และ สาขาคอมพิวเตอร์ธุรกิจ หรือ ระบบสารสนเทศทางธุรกิจ การพัฒนาซอฟต์แวร์
การพัฒนาซอฟต์แวร์ หรือ Software Development Life Cycle (SDLC) เป็นโครงร่างหรือแนวทางวิธีการ เพื่อใช้ทำความเข้าใจและเพื่อใช้เป็นขั้นตอนการพัฒนา ระบบสารสนเทศ หรือซอฟต์แวร์ให้สำเร็จ โดยการให้มาซึ่งซอฟต์แวร์อาจจะเป็นโดยการซื้อหรือการจ้างทำหรือการพัฒนาเองก็ได้ เว็บเบราว์เซอร์
เว็บเบราว์เซอร์ (), เบราว์เซอร์ หรือ โปรแกรมค้นดูเว็บ คือโปรแกรมคอมพิวเตอร์ ที่ผู้ใช้สามารถดูข้อมูลและโต้ตอบกับข้อมูลสารสนเทศที่จัดเก็บในหน้าเว็บที่สร้างด้วยภาษาเฉพาะ เช่น ภาษาเอชทีเอ็มแอล ที่จัดเก็บไว้ที่เว็บเซอร์วิซหรือเว็บเซิร์ฟเวอร์หรือระบบคลังข้อมูลอื่น ๆ โดยโปรแกรมค้นดูเว็บเปรียบเสมือนเครื่องมือในการติดต่อกับเครือข่ายคอมพิวเตอร์ขนาดใหญ่ที่เรียกว่าเวิลด์ไวด์เว็บ ซอฟต์แวร์เพื่อความร่วมมือ
"การมีปฏิสัมพันธ์โดยการสนทนา" คือ การแลกเปลี่ยนข้อมูลสารสนเทศระหว่างบุลคลสองคนขึ้นไปหรือมากว่านั้น ซึ่งจุดประสงค์หลักของการมีปฏิสัมพันธ์ คือ การพบปะ หรือการสร้างความสัมพันธ์ ซึ่งไม่มีรูปแบบที่แน่นอน เป็นการร่วมกันพิจารณา โดยเป็นการแลกเปลี่ยนข้อมูลสารสนเทศที่ไม่มีข้อกำหนดหรือข้อจำกัด โดยทั่วไปจะมุ่งเน้นไปที่ประสบการณ์ส่วนตัว เทคโนโลยีที่ใช้ในการสื่อสาร เช่น โทรศัพท์, ระบบส่งข้อความทันที|การส่งข้อความแบบทันที และจดหมายอิเล็กทรอนิกซ์ เทคโนโลยีเหล่านี้เพียงพอแล้วสำหรับการมีปฏิสัมพันธ์โดยการสนทนา วิศวกรรมซอฟต์แวร์
การรับรองวิชาชีพของ วิศวกรซอฟต์แวร์ ยังเป็นเรื่องโต้แย้งกันอยู่ บ้างก็เห็นว่าใบรับรองเป็นเครื่องมือสำหรับยกระดับหลักปฏิบัติของมืออาชีพ และ "วัตถุประสงค์ของการให้ใบรับรองวิชาชีพวิศวกรซอฟต์แวร์ เป็นการปกป้องสาธารณะ"
สมาคมคอมพิวเตอร์หรือ ACM มีการรับรองวิชาชีพในปี 1980 และถูกยกเลิกไปเนื่องจากขาดความสนใจ ACM ได้มีการตรวจสอบความเป็นไปได้ของการรับรองวิชาชีพ วิศวกรรมซอฟต์แวร์ในปี 1990 แต่ในที่สุดการรองดังกล่าวก็ถูกตัดสินว่าไม่เหมาะสมในเรื่องการรับรองวิชาชีพในอุตสาหกรรมของวิศวกรรมซอฟต์แวร์ ในปี 2006 สมาคม IEEE ได้มีการรับรองวิชาชีพซอฟต์แวร์เกิน 575 ราย ในประเทศแคนาดา Canadian Information Processing Society ได้สร้างกฎหมายที่รู้จักเพื่อรองรับอาชีพข้อมูลระบบผู้เชี่ยวชาญ สถาบันวิศวกรรม ซอฟต์แวร์ได้ให้การรับรองที่ระบุหัวข้อขึ้น เช่นความปลอดภัย การปรับปรุงกระบวนการของสถาปัตยกรรมซอฟต์แวร์ การรับรองโปรแกรมส่วนใหญ่ในอุตสาหกรรมไอทีเป็นการรับรองเชิงเฉพาะด้านเทคโนโลยี และมีการจัดการโดยผู้ขายเทคโนโลยีเหล่านี้ โปรแกรมเหล่านี้มีการรับรองที่เหมาะสมกับสถาบันที่จะว่าจ้างให้บุคคลที่ใช้กับเทคโนโลยีนั้น ภาษาโปรแกรม
การทำงานและเป้าหมาย ภาษาโปรแกรมคอมพิวเตอร์ คือภาษาชนิดหนึ่ง [3] ที่ใช้สำหรับเขียนโปรแกรมคอมพิวเตอร์ ซึ่งเกี่ยวข้องกับคอมพิวเตอร์ที่กระทำการคิดคำนวณหรือขั้นตอนวิธีบางอย่าง [4] และควบคุมอุปกรณ์ภายนอกที่เป็นไปได้อาทิ เครื่องพิมพ์ เครื่องขับจานบันทึก หุ่นยนต์ [5] และอื่น ๆ ตัวอย่างเช่น โปรแกรมโพสต์สคริปต์ มักถูกสร้างโดยโปรแกรมอื่นเพื่อควบคุมเครื่องพิมพ์หรือจอภาพ ภาษาโปรแกรมโดยนัยทั่วไปมากขึ้น อาจใช้พรรณนาการคิดคำนวณบนเครื่องจักรบางชนิด ซึ่งอาจเป็นเครื่องจักรนามธรรมก็ได้ เป็นที่ยอมรับกันโดยทั่วไปว่า ข้อกำหนดภาษาโปรแกรมที่สมบูรณ์ จะต้องมีการพรรณนาลักษณะเครื่องจักรหรือหน่วยประมวลผลสำหรับภาษานั้น ซึ่งอาจเป็นการพรรณนาในอุดมคติก็ได้ [6] ในทางปฏิบัติเป็นส่วนใหญ่ ภาษาโปรแกรมเกี่ยวข้องกับคอมพิวเตอร์ จึงทำให้ภาษาโปรแกรมต่าง ๆ โดยปกติถูกกำหนดและศึกษาในแนวทางนี้ [7] ภาษาโปรแกรมต่างจากภาษาธรรมชาติตรงที่ ภาษาธรรมชาติใช้แสดงปฏิสัมพันธ์ระหว่างมนุษย์ด้วยกันเพียงเท่านั้น ในขณะที่ภาษาโปรแกรมทำให้มนุษย์สื่อสารชุดคำสั่งแก่เครื่องจักรได้อีกด้วย แนวคิดนามธรรม ภาษาโปรแกรมโดยปกติจะมีภาวะนามธรรม สำหรับนิยามและจัดดำเนินการโครงสร้างข้อมูล หรือควบคุมกระแสการทำงาน ความจำเป็นในทางปฏิบัติที่ภาษาโปรแกรมสนับสนุนภาวะนามธรรมอย่างเพียงพอ แสดงออกมาด้วยหลักการที่เป็นนามธรรม [8] หลักการนี้บางครั้งก็คิดค้นขึ้นเพื่อเป็นข้อเสนอแนะให้โปรแกรมเมอร์สามารถใช้ภาวะนามธรรมเช่นนั้นได้อย่างถูกต้อง [9] พลังในการแสดงออก ทฤษฎีการคำนวณแบ่งประเภทภาษาต่าง ๆ ตามการคิดคำนวณโดยความสามารถในการแสดงออก ภาษาทัวริงบริบูรณ์ทุกภาษาสามารถทำให้เกิดผลได้ด้วยเซตของขั้นตอนวิธีที่เหมือนกัน ภาษาเอสคิวแอลและภาษาแชริตีเป็นตัวอย่างของภาษาที่ไม่เป็นทัวริงบริบูรณ์ แต่ก็ยังเรียกว่าเป็นภาษาโปรแกรม [10][11] วิศวกรรมคอมพิวเตอร์
วิศวกรฮาร์ดแวร์คอมพิวเตอร์ส่วนใหญ่จะวิจัย, พัฒนา, ออกแบบและทดสอบอุปกรณ์คอมพิวเตอร์ต่าง ๆ งานนี้สามารถมีช่วงจากแผงวงจรและไมโครโปรเซสเซอร์ จนถึงเราเตอร์ บางคนปรับปรุงอุปกรณ์คอมพิวเตอร์ที่มีอยู่ให้มีประสิทธิภาพมากขึ้นและสามารถทำงานร่วมกับซอฟต์แวร์ใหม่ได้ วิศวกรฮาร์ดแวร์คอมพิวเตอร์ส่วนใหญ่ทำงานในห้องปฏิบัติการวิจัยและบริษัท ผลิตเทคโนโลยีชั้นสูง บางคนยังทำงานให้กับรัฐบาลกลาง ตามข้อมูลของสำนักสถิติแรงงานของสหรัฐฯ, 95% ของวิศวกรฮาร์ดแวร์คอมพิวเตอร์ทำงานในพื้นที่นครบาล พวกเขามักจะทำงานเต็มเวลา ประมาณ 25% ของการทำงานของพวกเขาต้องทำงานมากกว่า 40 ชั่วโมงต่อสัปดาห์ เงินเดือนเฉลี่ยของลูกจ้างวิศวกรคอมพิวเตอร์ฮาร์ดแวร์ที่มีคุณสมบัติ (2012) เป็น $ 100,920 ต่อปี หรือ $48.52 ต่อชั่วโมง วิศวกรคอมพิวเตอร์ฮาร์ดแวร์ทำงาน 83,300 งานในปี 2012[2] . ตัวแบบโอเพนซอร์ซ
ซอฟต์แวร์โอเพนซอร์ซ เริ่มต้นจากการเคลื่อนไหวภายใต้ชื่อซอฟต์แวร์เสรี (free software) ในช่วง พ.ศ. 2526 จนกระทั่งในปี 2531 คำว่าซอฟต์แวร์โอเพนซอร์ซได้ถูกนำมาใช้แทนคำว่า "ฟรี" เพื่อให้ง่ายต่อการเข้าใจและให้ความรู้สึกสบายใจต่อทั้งผู้ใช้และผู้พัฒนา รวมถึงคำว่า ฟรี ในลักษณะของคำว่าเสรีนอกเหนือจากคำว่าฟรีในลักษณะไม่เสียค่าใช้จ่าย ผู้ใช้งานรวมถึงผู้พัฒนาสามารถนำซอฟต์แวร์มาใช้งาน แก้ไข แจกจ่าย โดยสามารถนำมาปรับปรุงทั้งในลักษณะส่วนตัว หรือในหน่วยงานเอกชนได้ ซอฟต์แวร์โอเพนซอร์ซอนุญาตให้ทุกคนสามารถนำซอฟต์แวร์ไปพัฒนา รวมถึงวางขายและทำการตลาด ซอฟต์แวร์โอเพนซอร์ซที่เป็นที่รู้จักกันดีได้แก่ เพิร์ล, ไฟร์ฟอกซ์, ลินุกซ์, อะแพชี เว็บเซิร์ฟเวอร์ ลักษณะเงื่อนไขทางลิขสิทธิ์ที่นิยมได้ สัญญาอนุญาตสาธารณะทั่วไปของกนู (จีพีแอล) และ สัญญาอนุญาตแจกจ่ายซอฟต์แวร์ของเบิร์กลีย์ (บีเอสดี) จากรายงานของกลุ่มสแตนดิชประมาณการประหยัดงบประมาณจากการใช้งานซอฟต์แวร์โอเพนซอร์ซได้ 6 หมื่นล้านเหรียญสหรัฐต่อปี วิกิซอฟต์แวร์
วิกิซอฟต์แวร์ (Wiki software) เป็นซอฟต์แวร์เพื่อความร่วมมือชนิดหนึ่งบนระบบ วิกิ โดยประมวลผลบน เว็บเซิร์ฟเวอร์ การจัดเก็บเนื้อหาจะเกี่ยวข้องกับระบบการจัดการความสัมพันธ์ของฐานข้อมูล แม้ว่าบางครั้งการใช้เครื่องมือจะถูกจัดเก็บในรูปของไฟล์แทน โกทูโนว์
KnowledgeVolution เป็นซอฟต์แวร์ที่พัฒนาในรูปแบบเผยแพร่รหัสต้นฉบับ (Source Code) หรือที่เรียกกันโดยทั่วไปว่าโอเพนซอร์ซ ให้ผู้ที่สนใจไม่ว่าจะเป็นองค์กรใด ๆ สามารถนำไปติดตั้งใช้งานทั้งในเครือข่ายแบบอินทราเน็ตหรืออินเทอร์เน็ต โดยไม่มีค่าใช้จ่ายใด ๆ ฮาร์ดแวร์คอมพิวเตอร์
ความจริง ขอบเขตที่แบ่งระหว่างฮาร์ดแวร์และซอฟต์แวร์ ไม่ได้ชัดเจน เพราะระหว่างกลางอาจจะมีเฟิร์มแวร์ ซึ่งเป็นซอฟต์แวร์ที่สร้างมาโดยเฉพาะ เพื่อฝังไว้ในฮาร์ดแวร์อยู่ด้วย โดยที่ผู้ใช้ทั่วไป ไม่จำเป็นต้องกังวลกับเฟิร์มแวร์เหล่านี้ เพราะเป็นส่วนที่โปรแกรมเมอร์ และวิศวกรคอมพิวเตอร์ เป็นผู้ดูแล ซอฟต์แวร์เพื่อความร่วมมือ
ส่วนขยายของกรุ๊ปแวร์ป็นสื่อที่ใช้ร่วมกัน, ซอฟต์แวร์ที่ยอมให้ผู้ใช้จำนวนหนึ่ง สร้างและจัดการข้อมูลใน เว็บไซต์ รูปแบบของสื่อที่มีการร่วมมือกัน รวมถึงวิกิพีเดีย (Comparison of wiki software) ​​และรูปแบบ Slashdot บางเว็บไซต์มีเนื้อหาบางส่วนสามารถเข้าถึงได้ ซึ่งอยู่บนพื้นฐานของซอฟต์แวร์เพื่อการร่วมมือ กัน คือ : WikiWikiWeb, Wikipedia and Everything2 โดยวิธีการใช้งาน สามารถแบ่งออกได้ดังนี้ :
สิ่งเหล่านี้ได้กลายเป็นเรื่องปกติในชีวิตประจำวัน ล่าสุดวิธีการเหล่านี้ได้ใช้ใน Second Life และ โลกเสมือน (virtual worlds) อื่นๆ นำไปสู่​​การพัฒนาของซอฟแวร์รูปแบบใหม่ที่ใช้ประโยชน์จากการ นำเสนอข้อมูลแบบ 3 มิติ บางส่วนของซอฟต์แวร์นี้ (3D Topicscape) ทำงานเป็นอิสระจากโลกเสมือน จริง (virtual worlds) และใช้ 3D เพื่อที่จะสนับสนุนผู้ใช้ "ในการสร้างแนวคิด การวางแผน การจัดการ การพัฒนาและการทำให้เป็นจริง" รูปแบบอื่นๆเพื่อสนับสนุนในการทำงานร่วมมือกันเมื่อใช้โลกเสมือน (virtual worlds) เป็นแพลตฟอร์มธุรกิจ ในขณะที่ยังซอฟต์แวร์ประเภทอื่น เช่น การจัดการความรู้ แบบร่วมมือกัน(Collaborative Knowledge Management :CKM) สะพานเชื่อมต่อระหว่างกันและ สามารถนำไปใช้ทั้งในSecond Lifeและในเว็บ
โดยแบ่งออกเป็นส่วนเราสามารถแบ่งซอฟต์แวร์เพื่อความร่วมมือเป็น: การเขียนโปรแกรมคอมพิวเตอร์
การเขียนโปรแกรมจะได้มาซึ่งซวอร์สโค้ดของโปรแกรมนั้นๆ โดยปกติแล้วจะอยู่ในรูปแบบของ ข้อความธรรมดา ซึ่งไม่สามารถนำไปใช้งานได้ จะต้องผ่านการคอมไพล์ตัวซอร์สโค้ดนั้นให้เป็นภาษาเครื่อง (Machine Language) เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งาน มาตรวัดซอฟต์แวร์
มาตรวัดซอฟต์แวร์ เป็นระเบียบขั้นตอนเพื่อใช้ระบุระดับของคุณลักษณะในมิติใดมิติหนึ่งของ ซอฟต์แวร์ มาตรวัดจำเป็นต้องมีค่าวัด (measure) ที่ได้จากการวัด (measurement) ซึ่งเป็นการทำให้อธิบายคุณลักษณะในเชิงปริมาณ มาตรวัดซอฟต์แวร์ทำให้เกิดการเปรียบเทียบคุณลักษณะในเชิงปริมาณซึ่งสามารถนำไปใช้ประกอบวิเคราะห์รวมทั้งปรับปรุงทั้งตัวซอฟต์แวร์ที่ผลิตขึ้นรวมทั้งกระบวนการในแต่ละขั้นตอนการพัฒนาได้  โปรแกรมคอมพิวเตอร์
วนหนึ่งของโปรแกรมคอมพิวเตอร์ที่กระทำงานงานหนึ่งที่นิยามไว้อย่างดี เรียกว่าขั้นตอนวิธี (algorithm) ชุดของโปรแกรมคอมพิวเตอร์ คลัง (library) และข้อมูลที่เกี่ยวข้องเรียกว่าซอฟต์แวร์ โปรแกรมคอมพิวเตอร์อาจจัดประเภทได้จากฟังก์ชันยาวหลายบรรทัด เช่น โปรแกรมประยุกต์ หรือซอฟต์แวร์ระบบ แมตแล็บ
แมตแล็บ () เป็นซอฟต์แวร์ในการคำนวณและการเขียนโปรแกรม โปรแกรมหนึ่ง ที่มีความสามารถครอบคลุมตั้งแต่ การพัฒนาอัลกอริธึม การสร้างแบบจำลองทางคณิตศาสตร์ และการทำซิมูเลชั่นของระบบ การสร้างระบบควบคุม และโดยเฉพาะเรื่อง image processing และ wavelet การสร้างเมตริกซ์ ผลิตโดยบริษัทแมตเวิรกส์ ตัวแทนจำหน่ายในประเทศไทยคือ บริษัท เทคซอร์ส ซิสเท็มส์ (ประเทศไทย) จำกัด  สถาบันวิทยาการสารสนเทศแห่งมหาวิทยาลัยศรีปทุม
กลุ่มวิศวกรรมซอฟต์แวร์ 
งานวิจัยและพัฒนาในด้านนี้จะศึกษาถึงกรรมวิธีการพัฒนาซอฟต์แวร์ในระดับบุคคล ระดับทีม และระดับโครงการ เทคโนโลยีการสร้างซอฟต์แวร์ตามกรรมวิธีสายการผลิต การบริหารการ พัฒนาซอฟต์แวร์ตามแนวทาง CMMi และการวิจัยการทดสอบซอฟต์แวร์แบบบูรณาการ การวิจัยเพื่อค้นหาซอฟต์แวร์ที่สามารถประกอบตัวเองได้ ซึ่งชิ้นส่วนซอฟต์แวร์จะต้องมีความฉลาดและมีกลไกที่จะปรับตนเองให้หล่อหลอมกับชิ้นส่วนอื่นๆ ภายในกรอบการออกแบบเดียวกัน นอกจากนั้นยังมุ่งเน้นในการค้นหากรรมวิธีที่มีประสิทธิภาพในการออกแบบหน้าจอยุคที่ 4 ในด้านการพัฒนาซอฟต์แวร์ สถาบันฯให้ความสำคัญงานวิจัยแบบ Demand Computing บนระบบ Cloud และ การทดสอบ นอกจากงานวิจัยและพัฒนาแล้ว ห้องปฏิบัติการ ISIS Software Engineering Lab สนับสนุน หลักสูตรวิศวกรรมซอฟต์แวร์ MSSE ที่แยกเป็น 4 เทคโนโลยี ประกอบด้วย Google Track, Apple Track, Microsoft Track, และ IBM Track ซึ่งนักศึกษาสามารถเลือกความชำนาญเฉพาะทางตั้งแต่วันแรกที่เข้าศึกษาในหลักสูตรระดับ ป. โท MSSE เทคโนโลยีสารสนเทศ
เทคโนโลยีสารสนเทศ หรือ ไอที (English: information technology: IT) คือการประยุกต์ใช้คอมพิวเตอร์และอุปกรณ์โทรคมนาคม เพื่อจัดเก็บ ค้นหา ส่งผ่าน และจัดดำเนินการข้อมูล [1] ซึ่งมักเกี่ยวข้องกับธุรกิจหนึ่งหรือองค์การอื่น ๆ [2] ศัพท์นี้โดยปกติก็ใช้แทนความหมายของเครื่องคอมพิวเตอร์และเครือข่ายคอมพิวเตอร์ และยังรวมไปถึงเทคโนโลยีการกระจายสารสนเทศอย่างอื่นด้วย เช่นโทรทัศน์และโทรศัพท์ อุตสาหกรรมหลายอย่างเกี่ยวข้องกับเทคโนโลยีสารสนเทศ ตัวอย่างเช่น ฮาร์ดแวร์ ซอฟต์แวร์ อิเล็กทรอนิกส์ อุปกรณ์กึ่งตัวนำ อินเทอร์เน็ต อุปกรณ์โทรคมนาคม การพาณิชย์อิเล็กทรอนิกส์ และบริการทางคอมพิวเตอร์ [3][4] = แคมฟรอก
แคมฟรอก (Camfrog) เป็นซอฟต์แวร์ของบริษัทแคมแชร์ (Camshare) สามารถให้ผู้ใช้สามารถแลกเปลี่ยนภาพจากเว็บแคมและเสียงผ่านทางอินเทอร์เน็ต โดยโปรแกรมนี้สามารถใช้ให้มีการประชุมออนไลน์ได้หลายคนพร้อมกัน แคมฟรอกแตกต่างจากโปรแกรมทั่วไปโดยผู้ใช้สามารถใช้โปรแกรมบนเซิร์ฟเวอร์ของตัวเองได้ ในปัจจุบัน แคมฟรอกมีการพูดคุย แลกเปลี่ยนความคิด และการแสดงวิดีโอ หลายอย่างรวมถึงเรื่อง การท่องเที่ยว กีฬา ภาษา วัฒนธรรม เล่นเกมตอบปัญหาออนไลน์ แม้แต่เรื่องทางเพศ หรือการร่วมเพศออนไลน์ ในแคมฟรอก การละเมิดลิขสิทธิ์ซอฟต์แวร์
ซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ คือสิ่งที่ได้รับความคุ้มครองภายใต้พระราชบัญญัติลิขสิทธิ์ พ.ศ. 2537 ("พ.ร.บ. ลิขสิทธิ์") โดยจัดเป็นงานอันมีลิขสิทธิ์ประเภทงานวรรณกรรม (Literary work) โปรแกรมประยุกต์
โปรแกรมประยุกต์ () หรือ ซอฟต์แวร์แอปพลิเคชัน () ในบางครั้งเรียกย่อว่า แอปพลิเคชัน หรือ แอป คือ โปรแกรมคอมพิวเตอร์ที่ถูกออกแบบให้รับรองการทำงานหรือกิจกรรมหลายด้านเพื่อประโยชน์ของผู้ใช้ ตัวอย่างแอปพลิเคชันได้แก่ โปรแกรมประมวลคำ (word processor), แผ่นตารางทำการ (spreadsheet), แอปพลิเคชันบัญชี (accounting application), เว็บเบราว์เซอร์, แอปพลิเคชันเล่นคลิปสื่อ (media player), โปรแกรมจำลองการบิน (flight simulator), เกมคอนโซล, หรือ โปรแกรมตัดต่อภาพ คำว่าซอฟต์แวร์แอปพลิเคชันหมายถึงแอปพลิเคชันทั้งหมด ส่วนคำว่าซอฟต์แวร์ระบบ (system software) มักหมายถึงซอฟต์แวร์ที่ใช้บนคอมพิวเตอร์ แอปพลิเคชันที่ถูกสร้างสำหรับใช้งานบนมือถือมักจะเรียกกันสั้นๆ ว่าแอปมือถือ (mobile app)  เซิร์ฟเวอร์
เซิร์ฟเวอร์ () หรือ เครื่องบริการ หรือ เครื่องแม่ข่าย คือ เครื่องหรือโปรแกรมคอมพิวเตอร์ซึ่งทำงานให้บริการ ในระบบเครือข่ายแก่ลูกข่าย (ซึ่งให้บริการผู้ใช้อีกทีหนึ่ง) เครื่องคอมพิวเตอร์ที่ทำหน้าที่เป็นเซิร์ฟเวอร์นี้ควรจะมีประสิทธิภาพสูง มีความเสถียร สามารถให้บริการแก่ผู้ใช้ได้เป็นจำนวนมาก ภายในเซิร์ฟเวอร์ให้บริการได้ด้วยโปรแกรมบริการ ซึ่งทำงานอยู่บนระบบปฏิบัติการอีกชั้นหนึ่ง เอจายล์ (การพัฒนาซอฟต์แวร์)
เอจายล์ () กลุ่มของกระบวนการวิธีพัฒนาซอฟต์แวร์ที่ความต้องการและผลลัพธ์เป็นไปโดยผ่านการร่วมมือระหว่างกลุ่มทำงานร่วมประสานที่จัดการตนเอง การพัฒนาแบบดังกล่าวเพิ่มระดับการวางแผนแบบประยุกต์ การพัฒนาเชิงวิวัฒน์ การส่งมอบก่อนกำหนด การปรับปรุงแบบต่อเนื่อง และสนับสนุนการตอบสนองแบบรวดเร็วและยืดหยุ่นเพื่อเปลี่ยนแปลง วิศวกรรมซอฟต์แวร์
ส่วนใหญ่ ซอฟต์แวร์วิศวกร ทำงานเป็นพนักงานหรือผู้รับเหมา วิศวกรซอฟต์แวร์ที่ทำงานร่วมกับธุรกิจหน่วยงานราชการ (พลเรือนหรือทหาร) และองค์กรที่ไม่แสวงหาผลกำไร บางซอฟต์แวร์วิศวกรสามารถทำงานด้วยตนเองได้ บางองค์กรมีผู้เชี่ยวชาญแต่ละดำเนินงานใน องค์กรอื่น ๆ ต้องทำวิศวกรซอฟต์แวร์จำนวนมากหรือทั้งหมดของพวกเขา มากในโครงการคนอาจชำนาญในเดียวบทบาท โครงการขนาดเล็กคนอาจกรอกหลายหรือทั้งหมดบทบาทในเวลาเดียวกัน Specializations ประกอบด้วย: ในอุตสาหกรรม (นักวิเคราะห์ สถาปนิก นักพัฒนา ทดสอบ การสนับสนุนทางเทคนิค ผู้จัดการ) และในด้านวิชาการ (นักวิชาการศึกษา นักวิจัย) การทดสอบซอฟต์แวร์
การทดสอบซอฟต์แวร์ คือการตรวจสอบหาความจริง เชิงประจักษ์ ที่ต้องทำตามข้อกำหนดของผู้รับผลประโยชน์ ในเรื่องของคุณภาพของผลิตภัณฑ์หรือบริการภายใต้การทดสอบ กับสารสนเทศในด้านคุณภาพ ของผลิตภัณฑ์ หรือการบริการบนการทดสอบ กับสิ่งที่กำหนดไว้ในบริบทให้ดำเนินการตามแผนที่กำหนดไว้ การทดสอบซอฟต์แวร์ กำหนดตรมวัตถุประสงค์แสดงการไม่ขึ้นต่อกันของซอฟต์แวร์ถึงการอนุญาต ทางธุรกิจคือการตระหนัก และเข้าใจการจัดทำความเสี่ยงของซอฟต์แวร์ การรวบรวมเทคนิคการทดสอบ แต่ไม่มีขอบเขต กระบวนการของการดำเนินการโปรแกรมหรือ โปรแกรมประยุกต์ กับการตั้งใจจากการค้นพบข้อบกพร่องของซอฟต์แวร์ สามารถกำหนดกระบวนการ จากการตรวจสอบว่าระบบสามารถทำงานตามความต้องการของผู้ใช้หรือไม่ หรือ การตรวจสอบว่าการพัฒนาสร้างระบบทำอย่างถูกต้องหรือไม่ โปรแกรมซอฟต์แวร์/โปรแกรมประยุกต์/ผลิตภัณฑ์ จัดประชุมทางธุรกิจและ เทคนิคและความต้องการเพื่อหาแนวทาง ในการออกแบบและการพัฒนา นั่นเป็นสิ่งที่คาดหวังและสามารถออกแบบเหมือนคุณลักษณะ
การทดสอบซอฟต์แวร์ ขึ้นอยู่กับวิธีการทดสอบของผู้จ้าง สามารถออกแบบหลายๆเวลาในการพัฒนากระบวนการ อย่างไรก็ตาม ผลกระทบในการทดสอบมากที่สุด คือ ผู้ว่าจ้าง หลังจากมี
การกำหนดความต้องการ และกระบวนการเขียนโค้ดอย่างสมบูรณ์ เหตุการณ์ (การคอมพิวเตอร์)
ในการคอมพิวเตอร์ เหตุการณ์ คือการกระทำที่ซอฟต์แวร์จดจำและจัดการ เหตุการณ์ในคอมพิวเตอร์สามารถสร้างหรือกระตุ้นได้โดยระบบ โดยผู้ใช้ หรือโดยวิธีการอื่น ๆ โดยปกติ เหตุการณ์จะจัดการพร้อมกันตามผังการทำงานของโปรแกรม กล่าวคือ ซอฟต์แวร์อาจมีตำแหน่งหนึ่งหรือหลายตำแหน่งที่ใช้จัดการเหตุการณ์ โดยมักจะเป็นวงวนเหตุการณ์ ที่มาของเหตุการณ์รวมถึงผู้ใช้ ซึ้งอาจกระทำกับซอฟต์แวร์โดยการเคาะปุ่มคีย์บอร์ด อีกแหล่งที่มาคืออุปกรณ์ฮาร์ดแวร์ เช่น ตัวจับเวลา ซอฟต์แวร์ยังสามารถกระตุ้นชุดเหตุการณ์ต่าง ๆ ให้อยู่ในวงวนเหตุการณ์ ซอฟต์แวร์ที่เปลี่ยนพฤติกรรมเพื่อตอบสนองเหตุการณ์เรียกว่า ซอฟต์แวร์เชิงเหตุการณ์ มักมีเป้าหมายเป็นการปฏิสัมพันธ์ ซอฟต์แวร์เพื่อความร่วมมือ
Collaborative software คือแนวคิดที่สอดคล้องกับ Computer-supported cooperative work (CSCW) โดย Carstensen และ Schmidt (1999) ได้ให้ความเห็นว่า Groupware เป็นส่วนหนึ่งของ CSCW โดย Groupware หมายถึง กิจกรรมที่ทำงานร่วมกันโดยใช้ระบบคอมพิวเตอร์ ผลิตภัณฑ์ซอฟต์แวร์อย่าง อีเมล์ ปฏิทิน ข้อความแชท วิกิ และการบุ๊คมาร์ก ซึ่งเป็นกลุ่มที่ถูกใช้ใน Groupwork และซอฟต์แวร์เหล่านี้ถูกใช้นอกสถานที่ทำงาน เช่น บริการหาคู่ออนไลน์, Social network อย่าง ทวิตเตอร์ และเฟซบุ๊ก ที่ถูกแนะนำโดยกฎของ Metcalfe ที่กล่าวถึง การที่ผู้คนจำนวนมากใช้บางอย่างเพื่อให้ได้มาซึ่งคุณค่า และประยุกต์ใช้ซอฟต์แวร์