2.4 Maintainability
Maintainability in general refers to the ability to maintain the system over a period of time. This will include ease of detecting, isolating and removing defects. Additionally, factors such as ease of addition of new functionality, interface to new components, programmers ability to understand existing code and test team’s ability to test the system (because of option like test instructions and test points) will enhance the maintainability of a system. Maintenance is a huge cost driver in software projects. OSS is downloaded and used by a global community of users. There are no face-to-face interactions among the maintainers of the software. They have to rely upon the documentation with in the source code and on communication through message boards. Therefore OSS is required to be highly maintainable. Lack of proper interface definition, structural complexity and insufficient documentation in
an existing version of OSS can discourage new contributions. Since participation is voluntary, low maintainability will generate minimum participation of active users and hence will have a negative effect on quality.
2.5 Reusability
In CSS there is use of existing modules for multiple projects. Development costs are a major factor affecting this quality characteristic in CSS domain. In OSS, there is no development or maintenance cost. OSS communities encourage development and use of reusable modules that can be shared and implemented easily. OSS that employs reusable modules will attract more contributions and maintain a high quality.
3. SOFTWARE MAINTENANCE IN OSS
Software maintenance is the modification of a software product after completion of development, to correct faults, improve performance, or to adapt to a changed environment (ANSI/IEEE, 1983). According to Lehman et al. “e-type programs1 will be perceived as of declining quality unless rigorously maintained and adapted to a changing operational environment;” hence system quality is at constant decay [14-16]. One of the major contributors to this decline is lifecycle maintenance activity [16]. In software developed and maintained through conventional methodologies, the effort spent on maintenance represents a majority of the costs incurred during the useful life of a system. Researchers studying lifecycle software costs have shown that software maintenance activities account for as much as 90% of the lifecycle cost of a software system [17]. Extensive research has been done on how maintenance effort increases as a system ages [14]. As more and more organizations are adapting OSS at various levels, it is critical to investigate the factors that affect the maintenance activities in OSS domain. Unlike PSS, there are no contractual obligations for maintenance; hence maintenance costs could be significant in the form of lost business and non-availability of functions, if the project fails to grow. Maintenance activities can be divided into the following four categories.
3.1 Corrective maintenance
Corrective Maintenance is performed to remove a defect. It is performed once a defect has occurred. It is performed at unpredictable time, since there is no prior knowledge of the presence of defect.
3.2 Adaptivemaintenance
Adaptive maintenance is the change in the software to accommodate changes to the environment in which it operates (e.g. new hardware platforms or new business rules).
3.3 PerfectiveMaintenance
Perfective maintenance is the addition of new functionality It involves making changes to improve some aspect of the system, even when the changes are not suggested by faults.
1 E-type programs are programs that continually change, updated and evolved [13]
2.4 maintainabilityMaintainability โดยทั่วไปหมายถึงความสามารถในการบำรุงรักษาระบบเป็นระยะเวลา นี้จะรวมถึงความง่ายในการตรวจสอบ การแยก และลบข้อบกพร่อง นอกจากนี้ ปัจจัยเช่นความสะดวกในการเพิ่มฟังก์ชันใหม่ ส่วนติดต่อกับส่วนประกอบใหม่ โปรแกรมเมอร์สามารถเข้าใจรหัสเดิม และทดสอบความสามารถของทีมเพื่อทดสอบระบบ (เนื่องจากตัวเลือกเช่นคำแนะนำในการทดสอบและทดสอบจุด) จะเพิ่ม maintainability ของระบบ บำรุงรักษาคือการ ควบคุมต้นทุนขนาดใหญ่ในโครงการซอฟต์แวร์ OSS จะดาวน์โหลด และใช้ โดยชุมชนผู้ใช้ทั่วโลก ไม่โต้ตอบแบบพบปะระหว่าง maintainers ที่ซอฟต์แวร์ได้ พวกเขาต้องถือเอกสารด้วยรหัสแหล่งที่มา และการสื่อสารผ่านทางกระดานข้อความ ดังนั้น OSS จำเป็นต้องสูง maintainable ขาดการกำหนดอินเทอร์เฟซที่เหมาะสม ความซับซ้อนของโครงสร้าง และเอกสารไม่เพียงพอในเวอร์ชันของ OSS สามารถกีดกันการจัดสรรใหม่ เนื่องจากมีส่วนร่วมเป็นความสมัครใจ maintainability ต่ำจะสร้างการมีส่วนร่วมต่ำสุดของผู้ใช้งาน และดังนั้น จะมีผลกระทบกับคุณภาพ2.5 reusabilityใน CSS จะใช้โมดูลที่มีอยู่หลายโครงการ ต้นทุนพัฒนาเป็นปัจจัยสำคัญที่ส่งผลกระทบต่อลักษณะคุณภาพนี้ในโดเมนของ CSS ใน OSS มีต้นทุนไม่พัฒนาหรือบำรุงรักษา ชุมชน OSS ส่งเสริมพัฒนาและการใช้โมดูลประกอบการที่สามารถใช้ร่วมกัน และดำเนินการได้อย่างง่ายดาย OSS ที่มีโมดูลที่สามารถจะดึงดูดเงินสมทบเพิ่มเติม และรักษาคุณภาพ3. SOFTWARE MAINTENANCE IN OSSSoftware maintenance is the modification of a software product after completion of development, to correct faults, improve performance, or to adapt to a changed environment (ANSI/IEEE, 1983). According to Lehman et al. “e-type programs1 will be perceived as of declining quality unless rigorously maintained and adapted to a changing operational environment;” hence system quality is at constant decay [14-16]. One of the major contributors to this decline is lifecycle maintenance activity [16]. In software developed and maintained through conventional methodologies, the effort spent on maintenance represents a majority of the costs incurred during the useful life of a system. Researchers studying lifecycle software costs have shown that software maintenance activities account for as much as 90% of the lifecycle cost of a software system [17]. Extensive research has been done on how maintenance effort increases as a system ages [14]. As more and more organizations are adapting OSS at various levels, it is critical to investigate the factors that affect the maintenance activities in OSS domain. Unlike PSS, there are no contractual obligations for maintenance; hence maintenance costs could be significant in the form of lost business and non-availability of functions, if the project fails to grow. Maintenance activities can be divided into the following four categories.3.1 Corrective maintenanceCorrective Maintenance is performed to remove a defect. It is performed once a defect has occurred. It is performed at unpredictable time, since there is no prior knowledge of the presence of defect.3.2 AdaptivemaintenanceAdaptive maintenance is the change in the software to accommodate changes to the environment in which it operates (e.g. new hardware platforms or new business rules).3.3 PerfectiveMaintenancePerfective maintenance is the addition of new functionality It involves making changes to improve some aspect of the system, even when the changes are not suggested by faults.1 E-type programs are programs that continually change, updated and evolved [13]
การแปล กรุณารอสักครู่..