Powiadomienia systemowe
- Sesja wygasła!
Identyfikatory
Warianty tytułu
Języki publikacji
Abstrakty
Managing software artifacts is one of the most essential aspects of computer science. It enables to develop, operate, and maintain software in an engineerlike manner. Therefore, numerous concrete strategies, methods, best practices, and concepts are available. A combination of such methods must be adequate, efficient, applicable, and effective for a concrete project. Eelsewise, the developers, managers, and testers should understand it to avoid chaos. Therefore, we exemplify the ßMACH method that provides software guidance. The method can point out missing management aspects (e.g., the V-model is not usable for software operation), identify problems of knowledge transfer (e.g., how is responsible for requirements), provide an understandable management description (e.g., the developers describe what they do), and some more. The method provides a unified, knowledge-based description strategy applicable to all software management strategies. It provides a method to create a minimal but complete description. In this paper, we apply ßMACH to the microservice concept to explain both and to test the applicability and the advantages of ßMACH.
Wydawca
Czasopismo
Rocznik
Tom
Strony
547--578
Opis fizyczny
Bibliogr. 93 poz., rys., tab., wykr.
Twórcy
autor
- Humboldt-Universität zu Berlin, Department of Computer Science, Berlin, Germany
autor
- Humboldt-Universität zu Berlin, Department of Computer Science, Berlin, Germany
Bibliografia
- [1] 4Soft GmbH in Zusammenarbeit mit dem Informationstechnikzentrum Bund: V-Modell XT Bund, Das Referenzmodell für Systementwicklungsprojekte in der Bundesverwaltung, Informationstechnikzentrum Bund im Auftrag des Beauftragten der Bundesregierung für die Informationstechnik, version: 2.3 ed., 2019.
- [2] Alagarasan V.: Seven Microservices Anti-patterns, 2015. www.infoq.com/articles/seven-uservices-antipatterns.
- [3] Anderson D., Anderson L.: Beyond Change Management: How to Achieve Breakthrough Results Through Conscious Change Leadership, John Wiley & Sons, 2010.
- [4] Armstrong D.J.: The quarks of object-oriented development, Communications of the ACM, vol. 49(2), pp. 123–128, 2006. doi: 10.1145/1113034.1113040.
- [5] Assadi A.: What are microservices?, 2016. https://www.linkedin.com/pulse/ what-microservices-abtin-assadi/.
- [6] Basili V.R.: Software modeling and measurement: the Goal/Question/Metric paradigm, Technical report, 1992.
- [7] Berges M.P.: Object-Oriented Programming through the Lens of Computer Science Education, Dissertation, Technische Universität München, München, 2015.
- [8] Bernard P.: Foundations of ITIL® 2011 Edition, Van Haren, 2011.
- [9] Bourque P., Fairley R.E. (eds.): Guide to the Software Engineering Body of Knowledge. Version 3. SWEBOK®. A project of the IEEE Computer Scociety, IEEE Computer Society Press, Washington, DC, USA, 2014.
- [10] Brewster E., Griffiths R., Lawes A., Sansbury J.: IT Service Management: A Guide for ITIL Foundation Exam Candidates, BCS, The Chartered Institute for IT, 2012.
- [11] Bucchiarone A., Dragoni N., Dustdar S., Lago P., Mazzara M., Rivera V., Sadovykh A. (eds.): Microservices – Science and Engineering, Springer, Cham, 2020. doi: 10.1007/978-3-030-31646-4.
- [12] Bungay S.: The Art of Action: How Leaders Close the Gaps between Pans, Actions and Results, Nicholas Brealey, 2010.
- [13] Cater-Steel A., Tan W.G.: itSMF Australia 2005 Conference: Summary of ITIL Adoption Survey Responses, Technical report, University of Southern Queensland, 2005. https://research.usq.edu.au/item/9y541/itsmf-australia-2005- conference-summary-of-itil-adoption-survey-responses.
- [14] Cechini F., Ice R., Binkley D.: Systems Engineering Guidebook for Intelligent Transportation Systems, Technical report, U.S. Department of Transportation, Federal Highway Administration, California Division, 2009.
- [15] Clarke P., Mesquida A.L., Ekert D., Ekstrom J.J., Gornostaja T., Jovanovic M., Johansen J., et al.: An Investigation of Software Development Process Terminology. In: P. Clarke, R.V. O’Connor, T. Rout, A. Dorling (eds.), Software Process Improvement and Capability Determination. SPICE 2016. Communications in Computer and Information Science, pp. 351–361, Springer, Cham, 2016. doi: 10.1007/978-3-319-38980-6_25.
- [16] Copei S., Zündorf A.: How to Synchronize Microservices. In: Proceedings of International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.conf-micro.services/2019/papers/ Microservices_2019_paper_16.pdf.
- [17] Crnkovic I., Sentilles S., Vulgarakis A., Chaudron M.R.V.: A Classification Framework for Software Component Models, IEEE Transactions on Software Engineering, vol. 37(5), pp. 593–615, 2011. doi: 10.1109/tse.2010.83.
- [18] Dennis A., Wixom B., Tegarden D.: Systems Analysis and Design with UML, Wiley, 2009.
- [19] Dragoni N., Giallorenzo S., Lafuente A.L., Mazzara M., Montesi F., Mustafin R., Safina L.: Microservices: Yesterday, Today, and Tomorrow. In: M. Mazzara, B. Meyer (eds.), Present and Ulterior Software Engineering, pp. 195–216, Springer, Cham, 2017. doi: 10.1007/978-3-319-67425-4_12.
- [20] Duell M., Goodsen J., Rising L.: Non-software examples of software design patterns. In: OOPSLA ’97: Addendum to the 1997 ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (Addendum), pp. 120–124, 1997. doi: 10.1145/274567.274592.
- [21] Dyck A., Penners R., Lichter H.: Towards Definitions for Release Engineering and DevOps. In: 2015 IEEE/ACM 3rd International Workshop on Release Engineering, pp. 3–3, 2015. doi: 10.1109/RELENG.2015.10.
- [22] Edwards D.W.: Out of the Crisis, 1986. doi: 10.7551/mitpress/11457.001.0001.
- [23] Elliott G.: Global Business Information Technology: An Integrated Systems Approach, Pearson Addison Wesley, 2004. https://books.google.ru/books?id= qGfzMlfgzEcC.
- [24] Everett G.D., Raymond McLeod J.: Software Testing; Testing Across the Entire Software Development Life Cycle, John Wiley & Sons, Ltd, 2006. doi: 10.1002/ 9780470146354.fmatter.
- [25] Fernández D.M., Wagner S.: Naming the pain in requirements engineering: A design for a global family of surveys and first results from Germany, Information and Software Technology, vol. 57, pp. 616–643, 2016. doi: 10.1016/j.infsof.2014.05.008.
- [26] Fowler M.: Patterns of Enterprise Application Architecture, Addison-Wesley, 2003.
- [27] Fowler M.: Domain-specific languages, Pearson Education, 2010.
- [28] Fritzsch J., Bogner J., Wagner S., Zimmermann A.: Microservices in the German Industry: Insights into Technologies, Characteristics, and Software Quality. In: Proceedings of International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.conf-micro.services/ 2019/papers/Microservices_2019_paper_25.pdf.
- [29] Gabbrielli M., Lanese I., Zingaro S.P.: Microservice-Oriented Computing for the Internet of Things. In: Proceedings of International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https:// www.conf-micro.services/2019/papers/Microservices_2019_paper_3.pdf.
- [30] Ginger L.: Embrace and Exploit Change as a Program Manager: Guidelines for Success, Journal of Change Management, vol. 10, pp. 2–13, 2012.
- [31] Hasselbring W.: Software Architecture: Past, Present, Future. In: V. Gruhn, R. Striemer (eds.), The Essence of Software Engineering, pp. 169–184, Springer International Publishing, Cham, 2018. doi: 10.1007/978-3-319-73897-0_10.
- [32] Hiatt J.M.: ADKAR: a model for change in business, government, and our community, Prosci, 2006.
- [33] Hilbrich M., Bountris V.: Are Workflows a Language to Solve Software Management Challenges? – A ßMACH Based Analysis. In: New Trends in Intelligent Software Methodologies, Tools and Techniques, Frontiers in Artificial Intelligence and Applications, vol. 355, pp. 221–232, IOS Press, 2022. doi: 10.3233/ FAIA220253.
- [34] Hilbrich M., Frank M.: Abstract Fog in the Bottle – Trends of Computing in History and Future. In: 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 519–522, 2018. doi: 10.1109/ SEAA.2018.00089.
- [35] Hilbrich M., Jakobs C., Werner M.: Do Microservices Prevent High Qualitative Code? In: Proceedings of International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.confmicro.services/2019/papers/Microservices_2019_paper_21.pdf.
- [36] Hilbrich M., Lehmann F.: Discussing Microservices: Definitions, Pitfalls, and their Relations. In: 2022 IEEE International Conference on Services Computing (SCC), pp. 39–44, IEEE Computer Society, Los Alamitos, CA, USA, 2022. doi: 10.1109/SCC55611.2022.00019.
- [37] Hilbrich M., Lehmann F.: ßMACH – A Software Management Guidance. In: D.G. Reichelt, R. Müller, S. Becker, W. Hasselbring, A. van Hoorn, S. Kounev, A. Koziolek, R. Reussner (eds.), Symposium on Software Performance 2021, CEUR-WS, 2022. http://ceur-ws.org/Vol-3043/.
- [38] Hui A.: Lean Change: Enabling Agile Transformation through Lean Startup, Kotter and Kanban: An Experience Report. In: 2013 Agile Conference, pp. 169–174, 2013. doi: 10.1109/agile.2013.22.
- [39] IEEE Standard for Developing a Software Project Life Cycle Process, IEEE Std 1074-2006 (Revision of IEEE Std 1074-1997), pp. 1–110, 2006. doi: 10.1109/ IEEESTD.2006.219190.
- [40] ISO/IEC 15504-1:2004 Information technology – Process assessment – Part 1: Concepts and vocabulary, 2004. https://www.iso.org/obp/ui/#iso:std:iso-iec: 15504:-1:ed-1:v1:en.
- [41] ISO/IEC TS 24748-1:2016 Systems and software engineering – Life cycle management – Part 1: Guidelines for life cycle management, 2016. https://www.iso.org/ obp/ui/#iso:std:iso-iec:ts:24748:-1:ed-1:v1:en.
- [42] ISO/IEC/IEEE 12207:2017 Systems and software engineering – Software life cycle processes, 2017. https://www.iso.org/obp/ui/en/#iso:std:iso-iec-ieee:12207: ed-1:v1:en.
- [43] Jabbari R., bin Ali N., Petersen K., Tanveer B.: What is DevOps? A Systematic Mapping Study on Definitions and Practices. In: XP ’16 Workshops: Proceedings of the Scientific Workshop Proceedings of XP2016, Association for Computing Machinery, New York, NY, USA, 2016. doi: 10.1145/2962695.2962707.
- [44] Johnson P., Ekstedt M., Jacobson I.: Where’s the Theory for Software Engineering?, IEEE Software, vol. 29(5), 96, 2012. doi: 10.1109/MS.2012.127.
- [45] Kroll P., Kruchten P.: The Rational Unified Process Made Easy: A Practitioner’s Guide to the RUP, Addison-Wesley Professional, 2003.
- [46] Lange M., Koschel A., Hausotter A.: Microservices in Higher Education – Migrating a Legacy Insurance Core Application. In: Proceedings of International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.conf-micro.services/2019/papers/ Microservices_2019_paper_8.pdf.
- [47] Lau K.K., Wang Z.: Software Component Models, IEEE Transactions on Software Engineering, vol. 33(10), pp. 709–724, 2007. doi: 10.1109/tse.2007.70726.
- [48] Lea G.: Why “Don’t Use Shared Libraries in Microservices” is Bad Advice, 2016. http://www.grahamlea.com/2016/04/shared-libraries-in-microservicesbad-advice/.
- [49] Lewis J., Fowler M.: Microservices: a definition of this new architectural term, 2014. http://martinfowler.com/articles/microservices.html.
- [50] Linthicum D.: Chapter 1: Service Oriented Architecture (SOA), 2016. https: //web.archive.org/web/20160206132542/https://msdn.microsoft.com/en -us/ library/bb833022.aspx#. Accessed 18.06.2020.
- [51] Lu N., Glatz G., Peuser D.: Moving mountains – practical approaches for moving monolithic applications to Microservices. In: International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.conf-micro.services/2019/papers/Microservices_- 2019_paper_30.pdf.
- [52] Marrone M., Kolbe L.M.: Impact of IT Service Management Frameworks on the IT Organization. An Empirical Study on Benefits, Challenges, and Processes, Business & Information Systems Engineering, vol. 3(1), pp. 5–18, 2011. doi: 10.1007/s12599-010-0141-5.
- [53] Martin R.C.: Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, Upper Saddle River, NJ, 2008. https://www.safaribooksonline.com/library/ view/clean-code/9780136083238/.
- [54] Maschio B.: Updating the current Jolie microservices based Document Management System to include electronic invoicing. In: International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.conf-micro.services/2019/papers/Microservices_2019_paper_15.pdf.
- [55] Mauro T.: Adopting Microservices at Netflix: Lessons for Architectural Design, 2015. https://www.nginx.com/blog/microservices-at-netflix-architectural-bestpractices/.
- [56] Microsoft: What are microservices?, 2022. https://azure.microsoft.com/en-us/ solutions/microservice-applications/. Accessed 30.08.2020.
- [57] Microsoft: Gründe für einen Microservice-Ansatz zum Erstellen von Anwendungen, Version: Jun 14, 2019. https://docs.microsoft.com/de-de/azure/servicefabric/service-fabric-overview-microservices.
- [58] Nadareishvili I., Mitra R., McLarty M., Amundsen M.: Microservice Architecture. Aligning principles, practices, and culture, O’Reilly Media, 2016.
- [59] Nash J., Ehrenfeld J.: Code Green: Business Adopts Voluntary Environmental Standards, Environment: Science and Policy for Sustainable Development, vol. 38(1), pp. 16–45, 1996. doi: 10.1080/00139157.1996.9930973.
- [60] Naur P., Randell B.: Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7–11 Oct. 1968, Brussels, Scientific Affairs Division, NATO. 1969.
- [61] Newman S.: Building Microservices, O’Reilly Media, 2015.
- [62] Object Management Group (OMG): Automated Function Points (AFP), https: //www.omg.org/spec/AFP/1.0/PDF, 2014. Accessed 17.08.2020.
- [63] Popper K.R.: Objective Knowledge: An Evolutionary Approach, Oxford, England: Oxford University Press, 1972.
- [64] Popper K.R., Eccles J.C.: The Self and its Brain: An Argument for Interactionism, Springer, 1977.
- [65] Pratt M.: Microservice Pitfalls & AntiPatterns, Part 1, 2016. https: / / homeadvisor.tech/software-antipatterns-microservices/.
- [66] Ralph P.: Toward Methodological Guidelines for Process Theories and Taxonomies in Software Engineering, IEEE Transactions on Software Engineering, vol. 45(7), pp. 712–735, 2019. doi: 10.1109/TSE.2018.2796554.
- [67] Rational Software: Rational Unified Process, Best Practices for Software Development Teams, 1998. https: / /www.ibm.com / developerworks / rational / library/content/03July/1000/1251/1251_bestpractices_TP026B.pdf. Accessed 18.06.2020.
- [68] Richards M.: Microservices Antipatterns and Pitfalls, O’Reilly Media, 2016.
- [69] Scacchi W.: Process models in software engineering, Encyclopedia of Software Engineering, 2001. doi: 10.1002/0471028959.sof250.
- [70] Schwaber K., Sutherland J.: The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game, 2020. https://scrumguides.org/docs/scrumguide/v2020/ 2020-Scrum-Guide-US.pdf.
- [71] Simon H.A.: The Sciences of the Artificial, MIT Press, 1996. doi: 10.7551/ mitpress/12107.001.0001.
- [72] Sjøberg D.I.K., Dybå T., Anda B.C.D., Hannay J.E.: Building Theories in Software Engineering, pp. 312–336, Springer London, London, 2008. doi: 10.1007/ 978-1-84800-044-5_12.
- [73] Sneed H.M.: Software Management, Verlagsgesellschaft Rudolf Müller, Köln, 1987.
- [74] Sommerville I.: Software Engineering, 10th edition, Pearson Education Limited, Boston, 2016.
- [75] Staples M.: Critical rationalism and engineering: ontology, Synthese, vol. 191(10), pp. 2255–2279, 2014. doi: 10.1007/s11229-014-0396-3.
- [76] Staples M.: Critical rationalism and engineering: methodology, Synthese, vol. 192(1), pp. 337–362, 2015. doi: 10.1007/s11229-014-0571-6.
- [77] Stein A., Zillekens M., Khan M.: A Microservice architecture for monitoring, processing and predicting climate data in animal husbandry. In: International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.conf-micro.services/2019/papers/ Microservices_2019_paper_28.pdf.
- [78] Steinacker G.: Why Microservices?, 2016. https://www.otto.de/jobs/en/technology/techblog/blogpost/why-microservices_2016-03-20.php. Accessed 08.2020.
- [79] Szyperski C., Gruntz D., Murer S.: Component Software: Beyond ObjectOriented Programming, Addison-Wesley Educational Publishers Inc, 2002.
- [80] The Standish Group International, Inc.: The CHAOS Report (1994). Technical report, 1994.
- [81] The Standish Group International, Inc.: Chaos Report 2015. Technical report, 2015.
- [82] Thompson M.: Why SaaS and Microservices are Critical to Developing in the Cloud, 2015. https://www.rightbrainnetworks.com/2015/01/29/why-saas-andmicroservices-are-critical-to-developing-in-the-cloud/.
- [83] Tilkov S.: Microservices: A Taxonomy. In: International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.conf-micro.services/2019/papers/Microservices_2019_paper _29.pdf.
- [84] Tracz W.: DSSA (Domain-Specific Software Architecture): Pedagogical Example, SIGSOFT Software Engineering Notes, vol. 20(3), pp. 49–62, 1995. doi: 10.1145/ 219308.219318.
- [85] Ullenboom C.: Java ist auch eine Insel, Galileo Computing, Bonn, 6., aktualisierte und erweiterte Auflage ed., 2007. https://openbook.rheinwerk-verlag.de/ javainsel/.
- [86] U.S. Environmental Protection Agency, Office of Atmospheric Programs, Climate Protection Partnerships Division: Clean Energy-Environment Guide to Action, Policies, Best Practices, and Action Steps for States, 2006. https:// web.archive.org/web/20120713125427/http://www.epa.gov/statelocalclimate/ documents/pdf/guide_action_full.pdf. Accessed 13.08.2020.
- [87] Vasanthapriyan S., Tian J., Xiang J.: A Survey on Knowledge Management in Software Engineering. In: 2015 IEEE International Conference on Software Quality, Reliability and Security – Companion, pp. 237–244, 2015. doi: 10.1109/ QRS-C.2015.48.
- [88] Vega N.: Answering Your Microservices Webinar Questions, 2015. https: / / www.ibm.com / blogs / bluemix / 2015 / 02 / answering -microservices - webinar - questions/#q1.
- [89] Wetherill J.: Microservices and PaaS (Part I), 2014. https://dzone.com/articles/ microservices-and-paas-part-1.
- [90] Wilde N., Gonen B., El-Sheikh E., Zimmermann A.: Approaches to the Evolution of SOA Systems. In: E. El-Sheikh, A. Zimmermann, L.C. Jain (eds.), Emerging Trends in the Evolution of Service-Oriented and Enterprise Architectures, pp. 5–21, Springer International Publishing, Cham, 2016. doi: 10.1007/ 978-3-319-40564-3_2.
- [91] Wohlin C., mite D., Moe N.B.: A general theory of software engineering: Balancing human, social and organizational capitals, Journal of Systems and Software, vol. 109, pp. 229–242, 2015. doi: 10.1016/j.jss.2015.08.009.
- [92] Wolff E.: Microservices: Grundlagen flexibler Softwarearchitekturen, dpunkt.verlag GmbH, Heidelberg, 2015.
- [93] Wolff E.: Why Microservices Fail: An Experience Report. In: International Conference on Microservices, University of Applied Sciences and Arts Dortmund, Germany, 2019. https://www.conf-micro.services/2019/papers/ Microservices_2019_paper_18.pdf.
Uwagi
Opracowanie rekordu ze środków MNiSW, umowa nr POPUL/SP/0154/2024/02 w ramach programu "Społeczna odpowiedzialność nauki II" - moduł: Popularyzacja nauki (2025).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-e1d94847-533a-439a-8211-39c8ddccfa89
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.