Software Engineering Body of Knowledge (v3) (2014) (811503), страница 52
Текст из файла (страница 52)
1028-2008[16*]Sommerville 2011[9*]c2s3.5Naik and Tripathy 2008[8*]c1s4Galin 2004[7*]Bott et al. 2000[6*]1. SoftwareQualityFundamentals1.1. SoftwareEngineeringCulture andEthics1.2. Value andCost of Quality1.3. Modelsand QualityCharacteristics1.4. SoftwareQualityImprovement1.5. SoftwareSafety2. SoftwareQualityManagementProcesses2.1. SoftwareQualityAssuranceKan 2002[3*]MATRIX OF TOPICS VS. REFERENCE MATERIALMoore 2006[17*]Wiegers 2003[18*]IEEE Std.
1028-2008[16*]Voland 2003[10*]Sommerville 2011[9*]Naik and Tripathy 2008[8*]Galin 2004[7*]Bott et al. 2000[6*]Kan 2002[3*]Software Quality 10-15c15s3.2.2,c15s3.3.1,c16s9.10c123. SoftwareQuality PracticalConsiderations3.1. SoftwareQualityRequirements3.2. DefectCharacterizationc11s1c3s3,c8s8,c10s23.3. SQMTechniques3.4. SoftwareQualityMeasurement4. SoftwareQuality Toolsc7s3c4c17c12s5,c15s1,p417c17p90*10-16 SWEBOK® Guide V3.0FURTHER READINGSN.
Leveson, Safeware: System Safety andComputers [20].K.E. Wiegers, Peer Reviews in Software: APractical Guide [23].This book describes the importance of softwaresafety practices and how these practices can beincorporated into software development projects.This book provides clear, succinct explanationsof different peer review methods distinguished bylevel of formality and effectiveness. Pragmaticguidance for implementing the methods and howto select which methods are appropriate for givencircumstances is provided.T.
Gilb, Principles of Software EngineeringManagement [21].This is one of the first books on iterative andincremental development techniques. The EvoMethod defines quantified goals, frequent timeboxed iterations, measurements of progresstoward goals, and adaptation of plans based onactual results.T. Gilb and D. Graham, Software Inspection[22].This book introduces measurement and statistical sampling for reviews and defects. It presentstechniques that produce quantified results forreducing defects, improving productivity, tracking projects, and creating documentation.N.R. Tague, The Quality Toolbox, 2nd ed., [24].Provides a pragmatic how-to explanation of acomprehensive set of methods, tools, and techniques for solving quality improvement problems.
Includes the seven basic quality controltools and many others.IEEE Std. P730-2013 Draft Standard forSoftware Quality Assurance Processes [5].This draft standard expands the SQA processesidentified in IEEE/ISO/IEC 12207-2008. P730establishes standards for initiating, planning,controlling, and executing the software qualityassurance processes of a software developmentor maintenance project. Approval of this draftstandard is expected in 2014.Software Quality 10-17REFERENCES[1] P.B. Crosby, Quality Is Free, McGraw-Hill,1979.[2] W.
Humphrey, Managing the SoftwareProcess, Addison-Wesley, 1989.[3*] S.H. Kan, Metrics and Models in SoftwareQuality Engineering, 2nd ed., AddisonWesley, 2002.[4] ISO/IEC 25010:2011 Systems and SoftwareEngineering—Systems and SoftwareQuality Requirements and Evaluation(SQuaRE)—Systems and Software QualityModels, ISO/IEC, 2011.[13] IEEE Std. 12207-2008 (a.k.a. ISO/IEC12207:2008) Standard for Systems andSoftware Engineering—Software Life CycleProcesses, IEEE, 2008.[14] ISO 9000:2005 Quality ManagementSystems—Fundamentals and Vocabulary,ISO, 2005.[15] IEEE Std.
1012-2012 Standard for Systemand Software Verification and Validation,IEEE, 2012.[16*] IEEE Std. 1028-2008, Software Reviewsand Audits, IEEE, 2008.[5] IEEE P730™/D8 Draft Standard forSoftware Quality Assurance Processes,IEEE, 2012.[17*] J.W. Moore, The Road Map to SoftwareEngineering: A Standards-Based Guide,Wiley-IEEE Computer Society Press, 2006.[6*] F. Bott et al., Professional Issues inSoftware Engineering, 3rd ed., Taylor &Francis, 2000.[18*] K.E. Wiegers, Software Requirements, 2nded., Microsoft Press, 2003.[7*] D. Galin, Software Quality Assurance:From Theory to Implementation, PearsonEducation Limited, 2004.[8*] S. Naik and P.
Tripathy, Software Testingand Quality Assurance: Theory andPractice, Wiley-Spektrum, 2008.[9*] P. Clements et al., Documenting SoftwareArchitectures: Views and Beyond, 2nd ed.,Pearson Education, 2010.[10*] G. Voland, Engineering by Design, 2nded., Prentice Hall, 2003.[11] RTCA DO-178C, Software Considerationsin Airborne Systems and EquipmentCertification, Radio Technical Commissionfor Aeronautics, 2011.[12] IEEE Std. 15026.1-2011 Trial-Use StandardAdoption of ISO/IEC TR 15026-1:2010Systems and Software Engineering—Systems and Software Assurance—Part 1:Concepts and Vocabulary, IEEE, 2011.[19] ISO/IEC/IEEE 24765:2010 Systems andSoftware Engineering—Vocabulary, ISO/IEC/IEEE, 2010.[20] N. Leveson, Safeware: System Safety andComputers, Addison-Wesley Professional,1995.[21] T.
Gilb, Principles of Software EngineeringManagement, Addison-Wesley Professional,1988.[22] T. Gilb and D. Graham, SoftwareInspection, Addison-Wesley Professional,1993.[23] K. Wiegers, Peer Reviews in Software: APractical Guide, Addison-WesleyProfessional, 2001.[24] N.R. Tague, The Quality Toolbox, 2nd ed.,ASQ Quality Press, 2010.CHAPTER 11SOFTWARE ENGINEERINGPROFESSIONAL PRACTICEACRONYMSAssociation for ComputingMachineryBCSBritish Computer SocietyCertified Software DevelopmentCSDAAssociateCertified Software DevelopmentCSDPProfessionalInternational ElectrotechnicalIECCommissionIEEE CS IEEE Computer SocietyInternational. Federation forIFIPInformation ProcessingIPIntellectual PropertyInternational Organization forISOStandardizationNDANon-Disclosure AgreementWorld Intellectual PropertyWIPOOrganizationWTOWorld Trade OrganizationACMINTRODUCTIONThe Software Engineering Professional Practice knowledge area (KA) is concerned with theknowledge, skills, and attitudes that softwareengineers must possess to practice software engineering in a professional, responsible, and ethical manner.
Because of the widespread applications of software products in social and personallife, the quality of software products can haveprofound impact on our personal well-beingand societal harmony. Software engineers musthandle unique engineering problems, producingsoftware with known characteristics and reliability. This requirement calls for software engineerswho possess a proper set of knowledge, skills,training, and experience in professional practice.The term “professional practice” refers to away of conducting services so as to achieve certain standards or criteria in both the process ofperforming a service and the end product resulting from the service.
These standards and criteria can include both technical and nontechnicalaspects. The concept of professional practice canbe viewed as being more applicable within thoseprofessions that have a generally accepted bodyof knowledge; codes of ethics and professionalconduct with penalties for violations; acceptedprocesses for accreditation, certification, andlicensing; and professional societies to provideand administer all of these. Admission to theseprofessional societies is often predicated on a prescribed combination of education and experience.A software engineer maintains a professionalpractice by performing all work in accordancewith generally accepted practices, standards, andguidelines notably set forth by the applicable professional society.
For example, the Association forComputing Machinery (ACM) and IEEE Computer Society (IEEE CS) have established a Software Engineering Code of Ethics and ProfessionalPractice. Both the British Computer Society (BCS)and the International Federation for InformationProcessing (IFIP) have established similar professional practice standards. ISO/IEC and IEEE havefurther provided internationally accepted softwareengineering standards (see Appendix B of thisGuide). IEEE CS has established two internationalcertification programs (CSDA, CSDP) and a corresponding Guide to the Software Engineering Bodyof Knowledge (SWEBOK Guide). All of these are11-111-2 SWEBOK® Guide V3.0Figure 11.1.
Breakdown of Topics for the Software Engineering Professional Practice KAelements that lay the foundation for of the professional practice of software engineering.BREAKDOWN OF TOPICS FORSOFTWARE ENGINEERINGPROFESSIONAL PRACTICEThe Software Engineering Professional PracticeKA’s breakdown of topics is shown in Figure11.1. The subareas presented in this KA are professionalism, group dynamics and psychology,and communication skills.1. ProfessionalismA software engineer displays professionalismnotably through adherence to codes of ethicsand professional conduct and to standards andSoftware Engineering Professional Practice 11-3practices that are established by the engineer’sprofessional community.The professional community is often represented by one or more professional societies;those societies publish codes of ethics and professional conduct as well as criteria for admittanceto the community. Those criteria form the basisfor accreditation and licensing activities and maybe used as a measure to determine engineeringcompetence or negligence.1.1. Accreditation, Certification, and Licensing[1*, c1s4.1, c1s5.1–c1s5.4]1.1.1. AccreditationAccreditation is a process to certify the competency, authority, or credibility of an organization.Accredited schools or programs are assured toadhere to particular standards and maintain certain qualities.
In many countries, the basic meansby which engineers acquire knowledge is throughcompletion of an accredited course of study.Often, engineering accreditation is performed bya government organization, such as the ministryof education. Such countries with governmentaccreditations include China, France, Germany,Israel, Italy, and Russia.In other countries, however, the accreditation process is independent of government andperformed by private membership associations.For example, in the United States, engineering accreditation is performed by an organization known as ABET. An organization known asCSAB serving as a participating body of ABETis the lead society within ABET for the accreditation of degree programs in software engineering.While the process of accreditation may be different for each country and jurisdiction, the generalmeaning is the same. For an institution’s course ofstudy to be accredited means that “the accreditation body recognizes an educational institution asmaintaining standards that qualify the graduatesfor admission to higher or more specialized institutions or for professional practice” [2].1.1.2. CertificationCertification refers to the confirmation of a person’s particular characteristics.