| RELATED DISCIPLINES OF SOFTWARE ENGINEERING
INTRODUCTIONIn order to circumscribe software engineering, it is necessary to identify the disciplines with which software engineering shares a common boundary. This chapter identifies, in alphabetical order, these Related Disciplines. Of course, the Related Disciplines also share many common boundaries between themselves. Using a consensus-based recognized source, this chapter identifies for each Related Discipline:
LIST OF RELATED DISCIPLINES AND THEIR KNOWLEDGE AREASFigure 1 gives a graphical representation of these Related Disciplines. Figure 1 Related Disciplines of Software Engineering
Computer EngineeringThe draft report of the volume on computer engineering of the Computing Curricula 2001 project (CC2001)1 states that “computer engineering embodies the science and technology of design, construction, implementation and maintenance of software and hardware components of modern computing systems and computer-controlled equipment.” This report identifies the following Knowledge Areas (known as areas in the report) for computer engineering:
Computer ScienceThe final report of the volume on computer science of the Computing Curricula 2001 project (CC2001)2 identifies the following list of knowledge areas (identified as areas in the report) for computer science:
ManagementThe European MBA Guidelines defined by the European association of national accreditation bodies (EQUAL)3 states that the Master of Business Administration degree should include coverage of and instruction in 1) Accounting
MathematicsTwo sources are selected to identify the list of knowledge areas for mathematics. The report titled “Accreditation Criteria and Procedures”4 of the Canadian Engineering Accreditation Board identifies that appropriate elements of the following areas should be present in an undergraduate engineering curriculum:
A more focused list of mathematical topics (called units and topics in the report) that underpin software engineering can be found in the draft report of the volume on software engineering of the Computing Curricula 2001 project (CC2001).5
Project ManagementProject management is defined in the 2000 Edition of A Guide to the Project Management Body of Knowledge (PMBOK® Guide6) published by the Project Management Institute and adopted as IEEE Std 1490-2003, as “the application of knowledge, skills, tools, and techniques to project activities to meet project requirements.” The Knowledge Areas identified in the PMBOK Guide for project management are
Quality ManagementQuality management is defined in ISO 9000-2000 as “coordinated activities to direct and control an organization with regard to quality.” The three selected reference on quality management are
The American Society for Quality identifies the following Knowledge Areas (first-level breakdown topics in their outline) in their Body of Knowledge for certification as a Quality Engineer:7 2) Management and Leadership in Quality Engineering
Software ErgonomicsThe field of ergonomics is defined by ISO Technical Committee 159 on Ergonomics as follows: “Ergonomics or (human factors) is the scientific discipline concerned with the understanding of the interactions among human and other elements of a system, and the profession that applies theory, principles, data and methods to design in order to optimize human well-being and overall system performance.”8 A list of Knowledge Areas for ergonomics as it applies to software is proposed below:9
A more focused list of topics on human-computer interface design (called units and topics in the report) for software engineering curriculum purposes can be found in the draft report of the volume on software engineering of the Computing Curricula 2001 project (CC2001).10
Systems EngineeringThe International Council on Systems Engineering (INCOSE)11 states that “Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem: operations performance, test, manufacturing, cost and schedule, training and support and disposal.” Systems engineering integrates all the disciplines and specialty groups into a team effort forming a structured development process that proceeds from concept to production to operation. Systems engineering considers both the business and the technical needs of all customers with the goal of providing a quality product that meets user needs. The International Council on Systems Engineering (INCOSE, www.incose.org) is working on a Guide to the Systems Engineering Body of Knowledge. Preliminary versions include the following first-level competency areas:
|
