Infusing software architecture into software engineering curricula

Author(s):  
Michael Lutz ◽  
Arturo Sanchez
2021 ◽  
Vol 13 (2) ◽  
pp. 62-84
Author(s):  
Boudjemaa Boudaa ◽  
Djamila Figuir ◽  
Slimane Hammoudi ◽  
Sidi mohamed Benslimane

Collaborative and content-based recommender systems are widely employed in several activity domains helping users in finding relevant products and services (i.e., items). However, with the increasing features of items, the users are getting more demanding in their requirements, and these recommender systems are becoming not able to be efficient for this purpose. Built on knowledge bases about users and items, constraint-based recommender systems (CBRSs) come to meet the complex user requirements. Nevertheless, this kind of recommender systems witnesses a rarity in research and remains underutilised, essentially due to difficulties in knowledge acquisition and/or in their software engineering. This paper details a generic software architecture for the CBRSs development. Accordingly, a prototype mobile application called DATAtourist has been realized using DATAtourisme ontology as a recent real-world knowledge source in tourism. The DATAtourist evaluation under varied usage scenarios has demonstrated its usability and reliability to recommend personalized touristic points of interest.


2013 ◽  
Vol 336-338 ◽  
pp. 1983-1987
Author(s):  
Bei Bei Zhang ◽  
Guang Ming Sun

Introduced the characteristics of monitoring for the electric vehicle charging facilities, analysis of the model structure and the plug-in structure. Determined software architecture of platform and plugin for charging facilities monitoring configuration software. Elaborated on the interface design, workflow and application examples of plug-in in the configuration software. Engineering practice has proved that the configuration software through the use of plug-in technology to improve the degree of modular, a powerful expansion function, plug-and-play and to meet the needs of different users.


2009 ◽  
Vol 2009 ◽  
pp. 1-12 ◽  
Author(s):  
Alf Inge Wang ◽  
Bian Wu

This paper describes how a game development framework was used as a learning aid in a software engineering. Games can be used within higher education in various ways to promote student participation, enable variation in how lectures are taught, and improve student interest. In this paper, we describe a case study at the Norwegian University of Science and Technology (NTNU) where a game development framework was applied to make students learn software architecture by developing a computer game. We provide a model for how game development frameworks can be integrated with a software engineering or computer science course. We describe important requirements to consider when choosing a game development framework for a course and an evaluation of four frameworks based on these requirements. Further, we describe some extensions we made to the existing game development framework to let the students focus more on software architectural issues than the technical implementation issues. Finally, we describe a case study of how a game development framework was integrated in a software architecture course and the experiences from doing so.


Author(s):  
XUDONG HE ◽  
YI DENG

Software architecture has become one of the most active research topics in software engineering in recent years. One of the distinct features of software architecture research is to explicitly study the interconnections (connectors) among system components. In this paper, we show how to formally specify several well-known general connectors in a software architecture methodology called SAM. Related work is discussed and compared. Our results establish the basis for reusing these defined connectors and for building more sophisticated connectors from them.


2014 ◽  
Vol 701-702 ◽  
pp. 1071-1076
Author(s):  
Xiao Jian Li ◽  
Ying Zheng

Reuse of software architecture is a relatively difficult problem in the practice of software engineering realm. For solving the problem, this paper presents an approach which is based on architecture reflection. For the reflection mechanism, the main idea is separating system architecture into two levels – meta-level and base-level. And what’s more, this paper presents a formalization model for the approach by using Pi calculus.


2012 ◽  
Vol 433-440 ◽  
pp. 2372-2376 ◽  
Author(s):  
Mehdi Bahrami ◽  
Mohammad Bahrami

Software architecture has emerged as an important sub-discipline of software engineering; particularly in the realm of large system development. Collaboration software applications are inherently cooperative, requiring many software applications to coordinate their efforts to produce a software system application. Integral to this effort is developing shared understanding surrounding multiple artifacts, each artifact embodying its own model, over the entire development process. This focus on model collaboration embedded within a larger process is what distinguishes collaboration research in software engineering from broader collaboration research. This article first review a list of goals for software architecture, then collaboration software application, several possible future directions for collaboration in software engineering is presented. The article concludes by noting a problem in performing research on collaborative systems.


Author(s):  
Tahani Elfatih Babeker, Hany Ammar

  increase numbers and complexity of software development requires that learners of software engineering and software architecture or software architects who do not have sufficient practical experience must have the skills and abilities to perform their jobs. But there is a gap between academia and practical so the question why does not use one of the architecture description languages in teaching and learn software engineering and software architecture to fill this gap? The objective of this study to classification ADLs according to their domain, domain specific or general purpose languages, doing these systematic literature review flowing the steps from Ketchenham. As the result we find that most ADLs are Domain Specific ADLs (Aviation Systems, Distribution Systems, Mobile Systems, Product Lines …etc. ) none of these ADLs is used in the field of software architecture education, but most intended to deal with experts in the field, except general purpose ADLs, like ACME, which we make as start point to design Arabic ADL, so as to enrich Arabic content, also to be as helping language in teaching Software Architecture course, because most of ADLs need experience and high level of understanding to use, moreover, when student think and design with same language subject more understandable. So using software architecture description languages in educating purpose, help on understanding high level of abstraction of software architecture and software engineering courses, there are some studies that aimed to reduce the complexity of these courses using different methodologies and approaches, but none of them using architecture description languages as helping tool. So the use of architecture description languages is helpful in teaching software architecture and software engineering courses.  


Author(s):  
Bruno G. A. Lebtag ◽  
Valdemar Vicente Graciano Neto

Systems of Systems (SoS) are complex systems composed of managerially and operationally independent constituent systems (CS). Smart cities are examples of SoS. However, these types of systems impose challenges to traditional software architecture such as highly evolutionary architecture due to the evolution of individual CS and emergent behaviors that results from the interoperability of CS. Executable Models (ExM) are a class of models that can be executed and that can assist on architectural design of SoS. By using them, architects can predict the SoS structure and behavior by visualizing and simulating the SoS still at design-time. On the other hand, as any other emergent technologies, it suffers with absent scientific evidences of its benefits, mainly in industrial context. The main contribution of this master thesis project intends to be the presentation of evidences about the use of ExM to solve problems in the SoS software architecture design. For achieving such purpose, this project is structured in well-defined steps: (i) a systematic mapping study, (ii) elaboration of a conceptual map derived from the mapping study, (iii) a survey to obtain perceptions from software engineering professionals on the use of ExM in the context of engineering simple systems and (iv) a new survey expanding the previous study and to obtain perceptions from software engineering professionals on the use of ExM in the context of architectural design of SoS. Preliminary results reveal that ExM have been reported in diverse SoS domains, offering a dynamic and interactive view to the SoS. We also found that software engineering professionals see ExM as suitable solution for dealing with complex and critical systems as SoS.


Author(s):  
Stefan Gruner

This study outlines in some detail the semantic variety of the notion of ‘software architecture’ in the field of software engineering since the early 1970s. This paper shows that there are two schools of thought in software architecture, namely a material-substantialist and a formal-structuralist one. In the former school of thought, software architecture is basically regarded as a thing (device) on its own, whereas in the latter one, software architecture is basically considered a property, not a thing (device). From an ontological point of view, these two opinions are mutually exclusive. In their mutual exclusivity, however, they coincide with non-formalist versus formalist philosophies and interpretations of informatics or computer science in general, wherein software engineering –and, by implication, software architecture– is embedded. In this way, the field of software architecture mirrors an ongoing science-philosophical dispute about the characteristics and foundations of computer science or informatics as a scholarly and practical discipline. In summary it seems fair to say that the metaphor of ‘architecture’, with its distinct fine arts connotations, has been particularly attractive to software engineers because this metaphor has helped software engineers to circumvent the notorious scientific immaturity and shortage of classical engineering methods in the field of software engineering.


Sign in / Sign up

Export Citation Format

Share Document