June 18, 2006
June 18, 2006
June 21, 2006
Software Engineering Constituent Committee
11.159.1 - 11.159.13
Adding Systems Engineering Activities to the Software Curriculum
This paper motivates the need for introducing systems engineering activities into the software curriculum and describes the changes made to an embedded software course to support systems engineering concepts. While still a hotly debated topic, the role of what some consider traditional software techniques are useful and becoming established activities during the systems engineering of large, complex systems. As software engineers play a larger role in the systems engineering activity, understanding those activities and their role in systems engineering are vital for software engineering education.
The addition of systems engineering activities in and embedded software course has led to many successful outcomes. Students understand the approach for solving complex systems. They also observed first hand the benefits of modeling a solution before committing to an implementation. In fact, student remark that once their model is correct, building for the target platform is relatively simple. Finally, the value of showing UML notation and the various diagrams in the context of systems development is vital for students, as these activities are becoming common in the systems engineering community.
Systems engineering activities are responsible for many decisions in complex systems. They specify the system’s behavior, partition behavior into hardware and software components, define the communication between components, establish the assembly and deployment strategies for components, and specify the associated hardware and software architectures. In practice, systems engineering teams have historically been under-represented by software advocates and their results have been historically weak in areas of software concerns, particularly lifecycle development process, tools, and architecture.
Systems are more commonly selecting off-the-shelf hardware resulting in less need for application-specific hardware solutions and therefore more demand on software specifications. At the same time, system integration responsibilities have become more prevalent, requiring interface and control though means such as networking and the web. For example, the Object Management Group’s (OMG) Common Object Request Broker Architecture (CORBA) is now commonly used to abstract communication across different processors in embedded systems ( as an example). In fact, most OMG meetings are now dominated by embedded systems developers in contrast with the information technology (IT) developers who dominated meetings less than a decade ago. Embedded systems are also employing other IT strategies such as web services and enterprise service bus architectures to handle their integration requirements ( as an example).
In addition, system size and complexity have changed dramatically over the past several years. While still a hotly debated topic, the role of what some consider traditional software techniques
Koehnemann, H. (2006, June), Adding Systems Engineering Activities To The Software Curriculum Paper presented at 2006 Annual Conference & Exposition, Chicago, Illinois. 10.18260/1-2--1013
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2006 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015