Skip to main content

Implementierung von Softwaresystemen

  • 9128 Accesses

Part of the Xpert.press book series (XPERT.PRESS)

Zusammenfassung

Eine der Kernaufgaben in der Entwicklung von Software ist die Implementierung des Softwaresystems mit Hilfe einer oder mehrerer passend gewählter Programmiersprachen. Dadurch wird ein ablauffähiges Programmsystem geschaffen. Abhängig vom gewählten Vorgehensmodell wird mit der Implementierung vergleichsweise früh begonnen, etwa bei Scrum, oder nach Abschluss der wesentlichen Entwurfsarbeiten, etwa bei der Nutzung des V-Modells. Folgt die Entwicklung einem modellbasierten Ansatz, kann ablauffähiger Programmcode auch aus Modellen generiert werden. Insbesondere bei manuell entwickeltem Code ist es entscheidend, den Code lesbar zu halten und angemessen zu dokumentieren und dabei gute, „sprechende“ sowie systematisch aufgebaute Identifikatoren zu wählen und eine Reihe methodischer Vorgaben einzuhalten, sodass gut strukturierter, leicht verifizierbarer, verständlicher Code entsteht. In diesem Kapitel werden die wesentlichen Aufgaben bei der Implementierung von Software beschrieben. Dies umfasst auch die Richtlinien und Empfehlungen zur Erstellung hochqualitativen Programmcodes und seiner Organisation und Verwaltung in Versionskontrollsystemen. Ferner gewährt dieses Kapitel einen Einblick in die Schritte und Aufgaben in der modellbasierten Softwareentwicklung.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-662-50263-1_11
  • Chapter length: 36 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   54.99
Price excludes VAT (USA)
  • ISBN: 978-3-662-50263-1
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Hardcover Book
USD   69.99
Price excludes VAT (USA)
Abb. 11.1
Abb. 11.2
Abb. 11.3
Abb. 11.4
Abb. 11.5
Abb. 11.6
Abb. 11.7
Abb. 11.8
Abb. 11.9
Abb. 11.10
Abb. 11.11
Abb. 11.12
Abb. 11.13

(In Anlehnung an Chacon [8])

Abb. 11.14

Notes

  1. 1.

    Ausnahmen bilden hier sprachunabhängige Bibliotheken, wie beispielsweise die .NET Klassenbibliothek. Diese ist nicht an eine Programmiersprache gebunden, sondern an die Infrastrukturplattform, insbesondere an die Virtuelle Maschine. Die Klassenbibliothek steht damit allen für die .NET Runtime kompatiblen Sprachen offen und kann in der gleichen Weise, etwa aus C#, Visual Basic.NET, Managed C++ oder F# und auf allen Plattformen, auf denen eine passende virtuelle Maschine verfügbar ist, genutzt werden.

  2. 2.

    Eclipse Papyrus, Online: https://www.eclipse.org/papyrus.

  3. 3.

    AutoFOCUS. 3, Online: https://www.fortiss.org/veroeffentlichungen/software/autofocus-3.

Literatur

  1. E. Arisholm, H. Gallis, T. Dybå, and D. I. K. Sjoberg. Evaluating pair programming with respect to system complexity and programmer expertise. IEEE Transactions on Software Engineering, 33(2):65–86, February 2007.

    Google Scholar 

  2. J. Atwood. Code Smells. Online: https://blog.codinghorror.com/code-smells (abgerufen: 2019-12-29), May 2006.

  3. K. Beck. Test Driven Development. By Example. Addison-Wesley Longman, 2002.

    Google Scholar 

  4. K. Beck. Extreme Programming. Addison-Wesley, 2003.

    Google Scholar 

  5. S. Beydeda, M. Book, and V. Gruhn, editors. Model-Driven Software Development. Springer, October 2010.

    Google Scholar 

  6. M. Broy and M. Kuhrmann. Projektorganisation und Management im Software Engineering. Number 978-3-642-29289-7 in Xpert.press. Springer Verlag, Berlin Heidelberg, 1 edition, 2013.

    Google Scholar 

  7. P. Burden and C. Tapp. MISRA Compliance: 2016 – Achieving compliance with MISRA Coding Guidelines. Motor Industry Research Association, April 2016.

    Google Scholar 

  8. S. Chacon. Pro Git. Apress, August 2009.

    Google Scholar 

  9. E. M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. MIT Press, 1999.

    Google Scholar 

  10. P. Coad, J. de Luca, and E. Lefebvre. Java Modeling In Color With UML: Enterprise Components and Process. Java Series. Prentice Hall, June 1999.

    Google Scholar 

  11. S. Cook, G. Jones, S. Kent, and A. C. Wills. Domain-Specific Development with Visual Studio DSL Tools. Addison-Wesley, 2007.

    Google Scholar 

  12. F. Deissenböck, E. Jürgens, B. Hummel, S. Wagner, B. M. Parareda, and M. Pizka. Tool support for continuous quality control. IEEE Software, 25(5):60–67, September 2008.

    Google Scholar 

  13. M. Fowler and R. Parsons. Domain-Specific Languages. Addison Wesley, (to appear), 2010.

    Google Scholar 

  14. E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Prentice Hall, October 1994.

    Google Scholar 

  15. GitLab Inc. Gitlab version 13.3.0. Online: https://about.gitlab.com (abgerufen: 2020-09-13), August 2020.

  16. F. Hölzl, H. P. de Leon, and S. Voss. AutoFOCUS (af3, version 2.16). Online: https://af3.fortiss.org (abgerufen: 2020-01-03), October 2019.

  17. IEC 62304:2006. Medical device software – Software life cycle processes. International Electrotechnical Commission, May 2006.

    Google Scholar 

  18. ISO 13485:2016. Medical devices – Quality management systems – Requirements for regulatory purposes. International Organization for Standardization, March 2016.

    Google Scholar 

  19. ISO 26262:2018. Road vehicles – Functional safety. International Organization for Standardization, 2018.

    Google Scholar 

  20. R. Ivanov and R. Veach. Eclipse checkstyle plugin (version 8.27.0). Online: https://checkstyle.org/eclipse-cs (abgerufen: 2020-01-05), December 2019.

  21. G. Karsai, H. Krahn, C. Pinkernell, B. Rumpe, M. Schindler, and S. Völkel. Design Guidelines for Domain Specific Languages. In Proceedings of the 9th OOPSLA Workshop on Domain-Specific Modeling (DSM’ 09), 2009.

    Google Scholar 

  22. A. Magana and J. Muli. Version Control with Git and GitHub. Packt Publishing, December 2018.

    Google Scholar 

  23. R. C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008.

    Google Scholar 

  24. R. C. Martin and M. Marin. Agile Principles, Patterns, and Practices in C#. Prentice Hall, 2007.

    Google Scholar 

  25. M. Mernik, J. Heering, and A. M. Sloane. When and how to develop domain-specific languages. ACM Computing Surveys, Vol. 37, 2005.

    Google Scholar 

  26. A. Mishra. Common Code Smells in C# (Part 1). Online: https://www.c-sharpcorner.com/article/common-code-smell-mistakes-in-c-sharp-part-1 (abgerufen: 2019-12-29), July 2019.

  27. J. T. Nosek. The case for collaborative programming. Commun. ACM, 41(3):105–108, Mar. 1998.

    Google Scholar 

  28. B. O’Sullivan. Mercurial: The Definitive Guide. O’Reilly and Associates, July 2009.

    Google Scholar 

  29. S. R. Palmer and J. M. Felsing. A Practical Guide to Feature-Driven Development. Prentice Hall, February 2002.

    Google Scholar 

  30. O. Pastor and J. C. Molina. Model-Driven Architecture in Practice: A Software Production Environment Based on Conceptual Modeling. Springer, June 2007.

    Google Scholar 

  31. C. M. Pilato, B. Collins-Sussman, and B. W. Fitzpatrick. Version Control with Subversion. O’Reilly and Associates, 2 edition, October 2008.

    Google Scholar 

  32. K. Pohl, H. Hönninger, R. Achatz, and M. Broy, editors. Model-Based Engineering of Embedded Systems: The SPES 2020 Methodology. Springer, December 2014.

    Google Scholar 

  33. B. Pugh and A. Loskutov. Findbugs. Online: http://findbugs.sourceforge.net (abgerufen: 2019-12-28), June 2015.

  34. G. Samarthyam. Smells in java code: Do you recognize them? Online: https://dzone.com/articles/smells-in-java-code-do-you-recognize-them (abgerufen: 2019-12-29), August 2018.

  35. SonarSource S.A, Switzerland. Sonarqube. Online: https://www.sonarqube.org (abgerufen: 2019-12-28), 2019.

  36. T. Stahl, M. Völter, S. Efftinge, and A. Haase. Modellgetriebene Softwareentwicklung: Techniken, Engineering, Management. dpunkt.verlag, 2 edition, May 2007.

    Google Scholar 

  37. J. Vesperman. Essential CVS. O’Reilly and Associates, 2 edition, November 2006.

    Google Scholar 

  38. L. Williams, R. R. Kessler, W. Cunningham, and R. Jeffries. Strengthening the case for pair programming. IEEE Softw., 17(4):19–25, July 2000.

    Google Scholar 

  39. ZEN PROGRAM LTD. Ndepend. Online: https://www.ndepend.com (abgerufen: 2019-12-28), 2019.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Manfred Broy .

Rights and permissions

Reprints and Permissions

Copyright information

© 2021 Springer-Verlag GmbH Deutschland, ein Teil von Springer Nature

About this chapter

Verify currency and authenticity via CrossMark

Cite this chapter

Broy, M., Kuhrmann, M. (2021). Implementierung von Softwaresystemen. In: Einführung in die Softwaretechnik. Xpert.press. Springer Vieweg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-50263-1_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-50263-1_11

  • Published:

  • Publisher Name: Springer Vieweg, Berlin, Heidelberg

  • Print ISBN: 978-3-662-50262-4

  • Online ISBN: 978-3-662-50263-1

  • eBook Packages: Computer Science and Engineering (German Language)