Abstract
Previous chapters explained how pervasive computing systems work. As we are secretly hoping you would also like to build such a system, the story would not be complete without an attempt to show you how this is done in real life. We enter now the field of systems engineering, an interdisciplinary, team-based approach that means to enable the realization of successful systems. In a pervasive computing system, software and hardware are working together, in order to enable the desired functionality. For example, a smart car is a system of interconnected sensors (gyroscopes, odometers , cameras, and LIDARs ), actuators (displays, speakers, brakes, and motors) and software agents (map matching, shortest-path planning, traffic light recognition, pedestrians recognition, and automatic cruise control) that work together with other systems (GPS, traffic control systems, and digital map databases), with the purpose of a safe navigation of its passengers to their destination. In many pervasive computing systems, the physical devices, and even some of the software toolboxes, are ready-made. Therefore, the main challenge consists of developing the complete software application and integrating it with the existing hardware. This is why the main focus in this chapter will be on software. Software is nowadays the product of a team of software engineers. The first thing this software team does is, not as you might think, directly jump into programming. The team first writes down what the product should do, who and how will use it, how much time it will take to build it, what is its architecture, how it will be tested, what can go wrong, etc. This disciplined, engineering-like approach of “making” software, called software engineering , is proved to increase the project success and is benefic when it comes to maintainability and accident analysis. Software engineering is thus a part of system engineering , concerned with all aspects of software production, from system specification to maintenance. This chapter highlights the best practices in system engineering in general, and in software development process, in particular.
Build a system that even a fool can use, and only a fool will use it.
A Murphy Law
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Beck, K.: Test Driven Development: By Example. Addison Wesley Professional (2002)
Suckale, J., Solimena, M.: Pancreas islets in metabolic signaling-focus on the beta-cell. Front. Biosci. 1(12), 7156–7171 (2008)
System Engineering for Intelligent Transportation Systems, U.S.D.o. Transportation, Editor (2007)
Laplante, P.A.: Requirements Engineering for Software and Systems. CRC Press (2014)
Sommerville, I.: Software Engineering. Pearson (2004)
Kassab, M., Neill, C., Laplante, P.A.: State of practice in requirements engineering: contemporary data. Innovations Syst. Softw. Eng. 10, 235–241 (2014)
29148-2011—ISO/IEC/IEEE International Standard—Systems and software engineering. Available from: https://standards.ieee.org/findstds/standard/29148-2011.html
Volere requirements resources. Available from: http://www.volere.co.uk/
Robertson, S.: Mastering the Requirements Process. Addison-Wesley Professional (2012)
Zhang, Y., et al.: Generic Safety Requirements for Developing Safe Insulin Pump Software. J. Diab. Sci. Technol. 5(6), 1402–1419 (2011)
UML website. Available from: http://www.uml.org/#UML2.0
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley Professional (2005)
Seidl, M., et al.: UML@Classroom: An introduction to Object-Oriented Modeling. Undergraduate Topics in Computer Science, ed. Springer. Springer International Publishing (2015)
Weiser, M.: The computer for the 21st century. Sci. Am. (Special Issue on Communications, Computers and Networks). September, 94–104 (1991)
Heinemann, L., et al.: Insulin pump risks and benefits: a clinical appraisal of pump safety standards, adverse event reporting, and research needs. A Joint Statement of the European Association for the Study of Diabetes and the American Diabetes Association Diabetes Technology Working Group (2015)
Boehm, B., Basili, V.R.: Software defect reduction top 10 list. Computer 34(1), 135–137 (2001)
McConnell, S.: Code Complete. Microsoft Press (2004)
Pezze, M., Young, M.: Software Testing and Analysis. Wiley (2008)
Kaner, C.: The power of ‘What If…’ and nine ways to fuel your imagination. Softw. Test. Qual. Eng. Mag. 5(5), 16–22 (2003)
Rogers, Y., Sharp, H., Preece, J.: Interaction Design: Beyond Human-Computer Interaction. Wiley (2011)
Leveson, N.G.: Engineering a Safer World: Systems Thinking Applied to Safety. MIT press (2011)
Zhang, Y., Jones, P.L., Jetley, R.: A hazard analysis for a generic insulin infusion pump. J. Diab. Sci. Technol. 4(2), 263–283 (2010)
Arney, D.E., et al.: Generic Infusion Pump Hazard Analysis and Safety Requirements Version 1.0. University of Pennsylvania Department of Computer and Information Science (2009)
Tunnel problem. Available from: https://en.wikipedia.org/wiki/Tunnel_problem
Asimov, I.: I, Robot. Doubleday & Company, New York (1950)
Tzafestas, S.G.: Roboethics: A Navigating Overview. Intelligent Systems, Control and Automation: Science and Engineering, vol. 79. Springer International Publishing (2016)
Gross, H.-M., Müller, St., Schröter, Ch., Volkhardt, M., Scheidig, A., Debes, K., Richter, K., Döring, N.: Robot companion for domestic health assistance: implementation, test and case study under everyday conditions in private apartments. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, Hamburg, Germany (2015)
Mori, M.: The Uncanny Valley. IEEE Spectrum (2012)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Silvis-Cividjian, N. (2017). Systems Engineering. In: Pervasive Computing. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-319-51655-4_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-51655-4_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-51654-7
Online ISBN: 978-3-319-51655-4
eBook Packages: Computer ScienceComputer Science (R0)