100 likes | 273 Views
CPSC 871. John D. McGregor M12S2 Related disciplines. RELATED DISCIPLINES. These disciplines provide input into software engineering practices Computer Engineering Computer Science Management Mathematics Project Management Quality Management Software Ergonomics Systems Engineering.
E N D
CPSC 871 John D. McGregor M12S2 Related disciplines
RELATED DISCIPLINES These disciplines provide input into software engineering practicesComputer EngineeringComputer ScienceManagementMathematicsProject ManagementQuality ManagementSoftware ErgonomicsSystems Engineering
Computer Engineering • The hardware guys. • They are interested in some of the same non-functional attributes • The system engineer may allocate product requirements here or to the software engineers
Computer Science • Computer science is to software engineering as physics is to civil engineering • Establishes basic “laws” such as computability • Defines and proves algorithms
Management • At the strategic level in most organizations you will find management types. • They make strategic decisions • They are responsible for the product roadmaps • They are looking long term. • Licensing/IP ownership
Mathematics • We did not take time this semester to get into issues such as the growth rate of various algorithms. • That is, we use a notation referred to as “big o” notation to express what happens to runtime performance as the amount of data increases. • An algorithm might have O(n) which is linear growth; O(n2) which is quadratic growth • There are numerous other uses of math
Project Management • The PMBoK is the project management equivalent of the SWEBoK. • Project managers monitor the development process • They do not have technical knowledge or responsibility • They control the risk management process
Quality Management • The quality management function monitors everyone’s activities to ensure the quality of the final product • They monitor based on quality standards • ISO 9000:2000 Quality management systems -- Fundamentals and vocabulary • ISO 9001:2000 Quality management systems – Requirements • ISO 9004:2000 Quality management systems -- Guidelines for performance improvements
Software Ergonomics • “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.” • Foundations of Cognitive Science • Information Extraction from Speech and Text • Lexical Processing • Computational Language Acquisition • The Nature of HCI
Systems Engineering • We have already had much to say about this topic. • Essentially this is the upstream activity from software engineering when it exists in an organization.