5,761 results on '"software design"'
Search Results
2. Insights from a dataset on behavioral intentions in learning information flow diagram capability for software design
- Author
-
Meennapa Rukhiran, Titiya Chomngern, and Paniti Netinant
- Subjects
Information design ,Requirement development ,Software design ,Software development ,TAM model ,Structural education model ,Computer applications to medicine. Medical informatics ,R858-859.7 ,Science (General) ,Q1-390 - Abstract
Developing complex software may be difficult for students or those with less technical expertise in software design due to the large number of diagrams and the complexity of their relationships. Unified modeling language (UML) provides conceptual software design as a system's blueprints, including programming statements, software processes, software components, deployment, design, and development, whereas database schemas use UML for an object-oriented database and entity relation model (ERD) for a relational database. An information flow diagram (IFD) is a technical tool for designing software that includes Infrastructure, data and information, and processing flow. IFD can benefit from examining a new paradigm that facilitates a more practical and rapid understanding of information designs. This data set contains the results of an investigation into the factors affecting the acceptance of IFD for software design by college students. Google forms are used to collect information from undergraduate and graduate computer science, IT, and software engineering students. The extended technology acceptance model (TAM) will focus on studying factors affecting acceptance or decision to use IFD, which includes the ability to create information flow diagrams, satisfaction with software design, and business requirement expectations. This study was carried out at four Thai universities. Research data collection for software design and development courses spanned the academic year 2021. Concerning the use of IFD in software design, 537 respondents were questioned regarding their perceptions, behavioral intentions, information flow diagram capability, software design satisfaction, and business requirement expectations. All students completed the survey. To ensure that participation was voluntary, each participant gave informed consent. Any collected information was rendered anonymous. The participants were given the information solely for research purposes. Ethical values, respect, autonomy, compassion, and confidentiality were guaranteed. The survey's primary questions correspond to the acceptance model's independent variables. Online distribution of the questionnaire yielded 537 valid responses. The dataset consists of 1) student demographics and 2) student perspectives on the factors influencing their intent to learn and apply IFD to software design. Partial Least Squares - Structural Equation Modelling was utilized to analyze the data (PLS-SEM). With the help of these data, researchers, software developers, and educators in various settings can use and analyze alternative software designs and validate models used to study and predict the acceptance of behaviors and factors.
- Published
- 2023
- Full Text
- View/download PDF
3. A Study: Design Patterns Detection Approaches and Impact on Software Quality
- Author
-
Shilintsev, Danil, Dlamini, Gcinizwe, Filipe, Joaquim, Editorial Board Member, Ghosh, Ashish, Editorial Board Member, Prates, Raquel Oliveira, Editorial Board Member, Zhou, Lizhu, Editorial Board Member, Succi, Giancarlo, editor, Ciancarini, Paolo, editor, and Kruglov, Artem, editor
- Published
- 2021
- Full Text
- View/download PDF
4. Designing and Developing a Game with Marketing Concepts
- Author
-
Khan, Towsif Zahin, Tusher, Shairil Hossain, Hasan, Mahady, Rokonuzzaman, M., Kacprzyk, Janusz, Series Editor, Pal, Nikhil R., Advisory Editor, Bello Perez, Rafael, Advisory Editor, Corchado, Emilio S., Advisory Editor, Hagras, Hani, Advisory Editor, Kóczy, László T., Advisory Editor, Kreinovich, Vladik, Advisory Editor, Lin, Chin-Teng, Advisory Editor, Lu, Jie, Advisory Editor, Melin, Patricia, Advisory Editor, Nedjah, Nadia, Advisory Editor, Nguyen, Ngoc Thanh, Advisory Editor, Wang, Jun, Advisory Editor, Bhatia, Sanjiv K., editor, Tiwari, Shailesh, editor, Ruidan, Su, editor, Trivedi, Munesh Chandra, editor, and Mishra, K. K., editor
- Published
- 2021
- Full Text
- View/download PDF
5. A "No-Code" App Design Platform for Mobile Health Research: Development and Usability Study.
- Author
-
Liu, Sam, La, Henry, Willms, Amanda, and Rhodes, Ryan E.
- Subjects
MOBILE health ,MEDICAL care ,MOBILE apps ,HEALTH promotion ,BEHAVIOR modification - Abstract
Background: A challenge facing researchers conducting mobile health (mHealth) research is the amount of resources required to develop mobile apps. This can be a barrier to generating relevant knowledge in a timely manner. The recent rise of "no-code" software development platforms may overcome this challenge and enable researchers to decrease the cost and time required to develop mHealth research apps. Objective: We aimed to describe the development process and the lessons learned to build Pathverse, a no-code mHealth app design platform. Methods: The study took place between November 2019 and December 2021. We used a participatory research framework to develop the mHealth app design platform. In phase 1, we worked with researchers to gather key platform feature requirements and conducted an exploratory literature search to determine needs related to this platform. In phase 2, we used an agile software framework (Scrum) to develop the platform. Each development sprint cycle was 4 weeks in length. We created a minimum viable product at the end of 7 sprint cycles. In phase 3, we used a convenience sample of adults (n=5) to gather user feedback through usability and acceptability testing. In phase 4, we further developed the platform based on user feedback, following the V-model software development process. Results: Our team consulted end users (ie, researchers) and utilized behavior change technique taxonomy and behavior change models (ie, the multi-process action control framework) to guide the development of features. The first version of the Pathverse platform included features that allowed researchers to (1) design customized multimedia app content (eg, interactive lessons), (2) set content delivery logic (eg, only show new lessons when completing the previous lesson), (3) implement customized participant surveys, (4) provide self-monitoring tools, (5) set personalized goals, and (6) customize app notifications. Usability and acceptability testing revealed that researchers found the platform easy to navigate and that the features were intuitive to use. Potential improvements include the ability to deliver adaptive interventions and add features such as community group chat. Conclusions: To our knowledge, Pathverse is the first no-code mHealth app design platform for developing mHealth interventions for behavior. We successfully used behavior change models and the behavior change technique taxonomy to inform the feature requirements of Pathverse. Overall, the use of a participatory framework, combined with the agile and hybrid-agile software development process, enabled our team to successfully develop the Pathverse platform. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
6. IET Software
- Subjects
software engineering ,software architecture ,software testing ,distributed computing ,software design ,software development ,Computer software ,QA76.75-76.765 - Published
- 2021
7. User participation in the design and development of Web 2.0 technologies for people with learning difficulties
- Author
-
Fanou, S. K.
- Subjects
600 ,disabilities ,people with disabilities ,learning disabilities ,cognitive disabilities ,learning difficulty ,accessibility ,software development ,Web 2.0 technologies ,user participation ,software design ,user centred design - Abstract
In the twenty-first century People with Learning Difficulties (PWLD) still face oppression, discrimination and exclusion from the mainstream of social life. Over recent decades the policy of the United Kingdom’s (UK) government and activist organisations regarding people with learning difficulties has been on enabling inclusion, ensuring rights, providing choice and developing advocacy and independence. People with learning difficulties have been moved out of institutions with the intention to be included and respected as equal members of society. During the same decades that the government and activist organisations have been striving for the inclusion and equality of people with learning difficulties, the use of Information Technology (IT) has reached pervasive levels, to the degree that it is almost impossible for individuals to socially function successfully, unless they have access to it. Unfortunately, most IT is not designed to be usable and accessible to people with learning difficulties and this is a major barrier for their social inclusion. Participatory Design (PD) methodologies which emphasise end-user involvement in the software development process are widely considered the key to system usability and accessibility. However, most researchers and software developers believe that people with learning difficulties are not capable of participating in the process of development as a result of their disabilities. Others, report that they do not know how to work with this specific group of disabled end-users. This discriminatory behaviour is a major reason why IT remains inaccessible to people with learning difficulties. The study described in this thesis combined Evolutionary Prototyping, a software development methodology and Participatory Action Research (PAR), a social science methodology, in order to involve a cohort of four Health Trainers with learning difficulties in the development of a Web 2.0 based system. The aims of the study were to explore how people with learning difficulties could be involved in the development of a software system and if they could use a system developed with their participation. A further aim was to explore how software developers can approach the field of Learning Disability, the issues they will face and how those issues can be overcome. Qualitative data was gathered during fourteen Participatory Action Research meetings, in which the Health Trainers were involved in research, software development and system use. The data was analysed using Thematic Content Analysis facilitated by the use of the NVivo software package. The findings were validated by the participating Health Trainers. The findings suggest that during software development participation, the Health Trainers faced a number of challenges. However, the Health Trainers indicated the type of support they needed from the researcher in order to overcome them. The support required was easy to provide and the Health Trainers managed to engage in the software development process. The study conducted a system use evaluation to explore if the developed system was usable and accessible to the Health Trainers. The Health Trainers managed to complete all the system tasks posed to them during the evaluation. This suggests that the developed system was usable and accessible to the Health Trainers. Further evidence suggests that a number of factors affected the participation of the Health Trainers during development and during the use of the system. Finally, the study explored how the developed system was used over the long run, in a period of eighteen months. The findings suggest that system use over time was affected by factors other than the system’s accessibility and usability. Concluding, the findings suggest that with easy to provide support, the Health Trainers with learning difficulties could be involved in software development and they could use a system developed with their participation. It is hoped that the findings be used by policy makers and advocacy groups, to make a case towards convincing researchers and software developers to involve more people with learning difficulties in software development, thus making systems accessible to this community of end-users.
- Published
- 2014
8. Developing collaborative environments - A Holistic software development methodology
- Author
-
MITCHINER, JOHN
- Published
- 2000
9. An approach to designing and developing an LMS framework appropriate for young pupils.
- Author
-
Kraleva, Radoslava, Sabani, Mehrudin, Kralev, Velin, and Kostadinova, Dafina
- Subjects
SCHOOL children ,SOFTWARE architecture ,EDUCATIONAL technology ,APPLICATION software ,STUDENTS ,SOFTWARE engineering - Abstract
The new people generation Z can be viewed in terms of software engineering as specific users who have high requirements regarding the functions and interface of the software applications, connectivity to social networks and instant communication via the Internet. In recent years, the number of electronic learning systems increased, but students are still not motivated to learn. This requires developing new conceptual models of training and learning software, tailored to the skills and preferences of the end-users. The young students: from kindergartens to preschools and primary schools are special users who have not been studied exhaustively. To present the problem related to the development of learning and training software thoroughly, the most commonly used standards and current trends, as well as the advantages and disadvantages of LMS platforms have been reviewed. The commonly used software design and development technologies have been discussed. We proposed a strategy for developing a web-based e-learning management system according to the possibilities of young pupils as a specific user. We described a software architecture, based on SCORM's specification, and we developed an LMS prototype. The basic methodology used in the design and creation of the system we propose is user-centered design. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF
10. Introduction
- Author
-
Dathan, Brahma, Ramnath, Sarnath, Mackie, Ian, Series editor, Abramsky, Samson, Advisory board, Breitman, Karin, Advisory board, Hankin, Chris, Advisory board, Kozen, Dexter C., Advisory board, Pitts, Andrew, Advisory board, Riis Nielson, Hanne, Advisory board, Skiena, Steven S, Advisory board, Stewart, Iain, Advisory board, Dathan, Brahma, and Ramnath, Sarnath
- Published
- 2015
- Full Text
- View/download PDF
11. Enabling changeability with typescript and microservices architecture in web applications
- Author
-
Lempiö, Aapo, Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences, and Tampere University
- Subjects
architecture ,Microservices ,software development ,web programming ,Modularity ,systems architecture ,Changeability ,Tietojenkäsittelyopin maisteriohjelma - Master's Programme in Computer Science ,applications (computer programmes) ,programming ,software design ,TypeScript - Abstract
Changeability is a non-functional property of software that affects the length of its lifecycle. In this work, the microservices architectural pattern and TypeScript are studied through a literature review, focusing on how they enable the changeability of a web application. The modularity of software is a key factor in enabling changeability. The micro-services architectural pattern and the programming language TypeScript can impact the changeability of web applications with modularity. Microservices architecture is a well-suited architectural pattern for web applications, as it allows for the creation of modular service components that can be modified and added to the system individually. TypeScript is a programming language that adds a type system and class-based object-oriented programming to JavaScript offering an array of features that enable modularity. Through discussion on relationships between the changeability of web applications and their three key characteristics, scalability, robustness, and security, this work demonstrates the importance of designing for change to ensure that web applications remain maintainable, extensible, restructurable, and portable over time. Combined, the micro-services architecture and TypeScript can enhance the modularity and thus changeability of web applications.
- Published
- 2023
12. The role of knowledge-based resources in Agile Software Development contexts
- Author
-
Raquel Ouriques, Krzysztof Wnuk, Tony Gorschek, and Richard Berntsson Svensson
- Subjects
Application programs ,Competition ,Programvaruteknik ,Resource management ,Knowledge management ,Software Engineering ,Software development ,Grounded theory ,Hardware and Architecture ,Knowledge-based resources ,Value chains ,ITS applications ,Competitive advantage ,Knowledge based systems ,Task planning ,Software design ,Grounded theory approach ,Agile software development ,Knowledge based ,Software ,Information Systems - Abstract
The software value chain is knowledge-based since it is highly dependant on people. Consequently, a lack of practice in managing knowledge as a resource may jeopardise its application in software development. Knowledge-Based Resources (KBRs) relate to employees’ intangible knowledge that is deemed to be valuable to a company's competitive advantage. In this study, we apply a grounded theory approach to examine the role of KBRs in Agile Software Development (ASD). To this aim, we collected data from 18 practitioners from five companies. We develop the Knowledge-Push theory, which explains how KBRs boost the need for change in ASD. Our results show that the practitioners who participated in the study utilise, as primary strategies, task planning, resource management, and social collaboration. These strategies are implemented through the team environment and settings and incorporate an ability to codify and transmit knowledge. However, this process of codification is non-systematic, which consequently introduces inefficiency in the domain of knowledge resource utilisation, resulting in potential knowledge waste. This inefficiency can generate negative implications for software development, including meaningless searches in databases, frustration because of recurrent problems, the unnecessary redesign of solutions, and a lack of awareness of knowledge sources. © 2022 The Authors open access
- Published
- 2023
13. Challenges and recommendations to improve the installability and archival stability of omics computational tools.
- Author
-
Mangul, Serghei, Mosqueiro, Thiago, Abdill, Richard J., Duong, Dat, Mitchell, Keith, Sarwal, Varuni, Hill, Brian, Brito, Jaqueline, Littman, Russell Jared, Statz, Benjamin, Lam, Angela Ka-Mei, Dayama, Gargi, Grieneisen, Laura, Martin, Lana S., Flint, Jonathan, Eskin, Eleazar, and Blekhman, Ran
- Subjects
- *
SOFTWARE development tools , *COMPUTATIONAL biology , *BIOINFORMATICS software , *SOFTWARE engineering , *COMPUTER networks , *UNIFORM Resource Locators , *BIOLOGICAL databases - Abstract
Developing new software tools for analysis of large-scale biological data is a key component of advancing modern biomedical research. Scientific reproduction of published findings requires running computational tools on data generated by such studies, yet little attention is presently allocated to the installability and archival stability of computational software tools. Scientific journals require data and code sharing, but none currently require authors to guarantee the continuing functionality of newly published tools. We have estimated the archival stability of computational biology software tools by performing an empirical analysis of the internet presence for 36,702 omics software resources published from 2005 to 2017. We found that almost 28% of all resources are currently not accessible through uniform resource locators (URLs) published in the paper they first appeared in. Among the 98 software tools selected for our installability test, 51% were deemed “easy to install,” and 28% of the tools failed to be installed at all because of problems in the implementation. Moreover, for papers introducing new software, we found that the number of citations significantly increased when authors provided an easy installation process. We propose for incorporation into journal policy several practical solutions for increasing the widespread installability and archival stability of published bioinformatics software. [ABSTRACT FROM AUTHOR]
- Published
- 2019
- Full Text
- View/download PDF
14. Securing the future of research computing in the biosciences.
- Author
-
Leng, Joanna, Shoura, Massa, McLeish, Tom C. B., Real, Alan N., Hardey, Mariann, McCafferty, James, Ranson, Neil A., and Harris, Sarah A.
- Subjects
- *
COMPUTER systems , *LIFE sciences , *LIFE sciences research , *PHYSICS research , *ASTRONOMICAL research - Abstract
Author summary Improvements in technology often drive scientific discovery. Therefore, research requires sustained investment in the latest equipment and training for the researchers who are going to use it. Prioritising and administering infrastructure investment is challenging because future needs are difficult to predict. In the past, highly computationally demanding research was associated primarily with particle physics and astronomy experiments. However, as biology becomes more quantitative and bioscientists generate more and more data, their computational requirements may ultimately exceed those of physical scientists. Computation has always been central to bioinformatics, but now imaging experiments have rapidly growing data processing and storage requirements. There is also an urgent need for new modelling and simulation tools to provide insight and understanding of these biophysical experiments. Bioscience communities must work together to provide the software and skills training needed in their areas. Research-active institutions need to recognise that computation is now vital in many more areas of discovery and create an environment where it can be embraced. The public must also become aware of both the power and limitations of computing, particularly with respect to their health and personal data. [ABSTRACT FROM AUTHOR]
- Published
- 2019
- Full Text
- View/download PDF
15. OpenCASA: A new open-source and scalable tool for sperm quality analysis.
- Author
-
Alquézar-Baeta, Carlos, Gimeno-Martos, Silvia, Miguel-Jiménez, Sara, Casao, Adriana, Cebrián-Pérez, José Álvaro, Muiño-Blanco, Teresa, Pérez-Pé, Rosaura, Santolaria, Pilar, Yániz, Jesús, and Palacín, Inmaculada
- Subjects
- *
SPERM count , *REPRODUCTION , *COMPUTER software , *BLAND-Altman plot , *FERTILITY - Abstract
In the field of assisted reproductive techniques (ART), computer-assisted sperm analysis (CASA) systems have proved their utility and potential for assessing sperm quality, improving the prediction of the fertility potential of a seminal dose. Although most laboratories and scientific centers use commercial systems, in the recent years certain free and open-source alternatives have emerged that can reduce the costs that research groups have to face. However, these open-source alternatives cannot analyze sperm kinetic responses to different stimuli, such as chemotaxis, thermotaxis or rheotaxis. In addition, the programs released to date have not usually been designed to encourage the scalability and the continuity of software development. We have developed an open-source CASA software, called OpenCASA, which allows users to study three classical sperm quality parameters: motility, morphodmetry and membrane integrity (viability) and offers the possibility of analyzing the guided movement response of spermatozoa to different stimuli (useful for chemotaxis, thermotaxis or rheotaxis studies) or different motile cells such as bacteria, using a single software. This software has been released in a Version Control System at Github. This platform will allow researchers not only to download the software but also to be involved in and contribute to further developments. Additionally, a Google group has been created to allow the research community to interact and discuss OpenCASA. For validation of the OpenCASA software, we analysed different simulated sperm populations (for chemotaxis module) and evaluated 36 ejaculates obtained from 12 fertile rams using other sperm analysis systems (for motility, membrane integrity and morphology modules). The results were compared with those obtained by Open-CASA using the Pearson’s correlation and Bland-Altman tests, obtaining a high level of correlation in all parameters and a good agreement between the different used methods and the OpenCASA. With this work, we propose an open-source project oriented to the development of a new software application for sperm quality analysis. This proposed software will use a minimally centralized infrastructure to allow the continued development of its modules by the research community. [ABSTRACT FROM AUTHOR]
- Published
- 2019
- Full Text
- View/download PDF
16. Ten simple rules for documenting scientific software.
- Author
-
Lee, Benjamin D.
- Subjects
- *
SOFTWARE engineering , *COMPUTER software development , *RESEARCH teams , *SCIENTIFIC software , *DOCUMENTATION software - Abstract
The article presents rules to make software that is impactful and usable by using software engineering best practices. It mentions that modern integrated development environments will frequently generate documentation strings automatically as researchers write code, that takes the burden of the need to remember to write comments. It states that people more probably to use it as part of their research if they can quickly start playing with the tool.
- Published
- 2018
- Full Text
- View/download PDF
17. A new method for detecting various variants of GoF design patterns using conceptual signatures
- Author
-
Somayeh Jafari Horestani, Zahra Purfallah, Zeinab Shahbazi, and Abbas Rasoolzadegan
- Subjects
Source code ,business.industry ,Computer science ,media_common.quotation_subject ,Software development ,Process (computing) ,computer.software_genre ,Software ,Software design pattern ,Software design ,Data mining ,Software system ,Safety, Risk, Reliability and Quality ,business ,computer ,media_common ,TRACE (psycholinguistics) - Abstract
Software design patterns are well-known solutions for solving commonly occurring problems in software design. Detecting design patterns used in the code can help to understand the structure and behavior of the software, evaluate the quality of the software, and trace important design decisions. To develop and maintain a software system, we need sufficient knowledge of design decisions and software implementation processes. However, the acquisition of knowledge related to design patterns used in complex software systems is a challenging, time-consuming, and costly task. Therefore, using a suitable method to detect the design patterns used in the code reduces software development and maintenance costs. In this paper, we proposed a new method based on conceptual signatures to improve the accuracy of design pattern detection. So we used the conceptual signatures based on the purpose of patterns to detect the patterns’ instances that conform to the standard structure of patterns, and cover more instances of patterns’ variants and implementation versions of the patterns and improve the accuracy of pattern detection. The proposed method is a specific process in two main phases. In the first phase, the conceptual signature and detection formula for each pattern is determined manually. Then in the second phase, each pattern in the code is detected in a semi-automatic process using the conceptual signature and pattern detection formula. To implement the proposed method, we focused on GoF design patterns and their variants. We evaluated the accuracy of our proposed method on five open-source projects, namely, Junit v3.7, JHotDraw v5.1, QuickUML 2001, JRefactory v2.6.24, and MapperXML v1.9.7. Also, we performed our experiments on a set of source codes containing the instances of GoF design patterns’ variants for a comprehensive and fair evaluation. The evaluation results indicate that the proposed method has improved the accuracy of design pattern detection in the code.
- Published
- 2021
18. Computer-generated code from a specification as a part of a software development process
- Author
-
Loisko, Petteri, Johtamisen ja talouden tiedekunta - Faculty of Management and Business, and Tampere University
- Subjects
software development ,code generation ,Johtamisen ja tietotekniikan DI-ohjelma - Master's Programme in Management and Information Technology ,software design ,software engineering - Abstract
Building software by using machines to create the code automatically is an old idea, and many automated code generation frameworks exist. These implementations are often very context-dependent because of the vast diversity of requirements placed on the desired applications. When the feature set of an application grows, the complexity of the application also grows. Naturally, the more complex the planned software needs to be, the harder it is to automatize its creation. Over the previous years, the zeitgeist of software architecture has turned towards microservices. Modern cloud service providers offer relatively cheap and robust possibilities for hosting small, special purpose software that communicates over networks. It enables the monolithic software of the past to be split into smaller self-contained, very specialized software. This development opens a door for utilizing more code generation as a part of a software development process as the scope of the generated applications gets more focused. In the thesis, the existing software development process in a company Peikko Group was observed and a proposal for a new process for creating software was designed to improve on the existing one. The improved process was designed to utilize code generation to form software components from a set of formally written specifications. The main idea behind the improved process was to design an automation pipeline so the Peikko Group's domain experts' knowledge in construction design could be turned into a cloud-hosted calculation engine applications in hopes to shorten the delivery time of the software, lowering the cost of prototyping and free software engineering resources. The proposed design was tested by creating a calculation engine that can be used to solve a real-life construction design problem. During the implementation phase, the desired calculation engine was specified using definition files that guide the code generation pipeline. The implementation also includes creating the automation pipeline and using it to generate the desired software components based on the specification. The improved process design and the implementation made based on the design were analyzed and found suitable for future development. Some issues regarding used technologies were identified, but the findings indicate promise and encourage for further improvement iterations. Sovellusten koneavusteinen luominen on teemana vanha ja koneavusteisen ohjelmakoodin luontiin tehtyjä ohjelmistokehyksiä on olemassa useita. Koneavusteinen sovelluskehitys on kuitenkin usein varsin syvästi sidoksissa sovellukseen, jonka kontekstissa koodigenerointi tapahtuu. Tämä on seurausta sovellusten koosta ja haluttujen ominaisuuksien määrästä. Kun sovelluksen ominaisuuksien määrä kasvaa, kasvaa myös sovelluksen kompleksisuus. Mitä monimutkaisempi sovellus on, sitä monimutkaisempia työkaluja tarvitaan sen automaattiseen generointiin. Ajan henki ohjelmistokehityksessä on kääntynyt kohti mikropalveluarkkitehtuuria. Modernit pilvipalvelualustat mahdollistavat verrattain halpoja ja robusteja mahdollisuuksia isännöidä pieniä kapean erikoisalan sovelluksia, jotka keskustelevat verkon yli. Mikrosovellusten yleistyminen mahdollistaa vanhantyylisten monoliittisovellusten pilkkomisen ja korvaamisen useilla pienillä itsenäisillä sovelluksilla. Tässä opinnäytetyössä käydään läpi Peikko Group -yhtiön sovelluskehitysprosessia ja suunnitellaan uudenlainen malli parantamaan tätä. Uudistettu sovelluskehitysmalli on suunniteltu hyödyntämään koodigeneraatiota sovelluskomponenttien luomisessa niin, että generointia ohyjaavat formaalit määrittelydokumentit. Uudentyyppisellä prosessilla pyritään tuomaan automaatiota Peikon asiantuntijoiden rakennesuunnitteluosaamisen siirtämiseen laskentapalveluiksi. Tämän toivotaan lyhentävän sovellusten kehitykseen kuluvaa aikaa, madaltavan kynnystä prototyyppien luomiseen sekä vapauttavan ohjelmistokehitysresursseja. Ohjelmistokehitysprosessiehdotelmaa testattiin luomalla laskentapalvelu, joka kykenee ratkaisemaan käytännön esimerkiksi valitun tosimaailman rakennesuunnitteluongelman. Toteutusvaiheen aikana luotiin määrittelydokumentit laskentasovellukselle ohjaamaan koodigeneraatiota. Toteutusvaiheessa luotiin myös tarvittava koodigenerointiautomaatio ja tätä käyttäen luontiin halutut sovelluskomponentit määrittelydokumenttien mukaisesti. Parannettu ohjelmistokehitysmalli ja sen toteutus analysoitiin ja todettiin kehityskelpoiseksi. Toteutusvaiheessa ja tuloksia analysoitaessa löydettiin haasteita, jotka juontavat juurensa käytettyihin teknologioihin. Tulokset täyttivät annetut tavoitteet ja olivat kaiken kaikkiaan lupaavia ja rohkaisevat jatkamaan prosessin ja automaation kehitystä seuraavalle kehitysiteraatiolle.
- Published
- 2022
19. Studies into interactive didactic approaches for learning software design using UML
- Author
-
Stikkolorum, D.R., Chaudron, M.R.V., Plaat, A., Putten, P.W.H. van der, Kleijn, H.C.M., Bäck, T.H.W., Ramackers, G.J., Robles, G., Kang, E., Visser, J.M.W., and Leiden University
- Subjects
Engagement ,Feedback agent ,Design principles ,Machine learning ,Guidance ,Software development ,Software design ,Gamification ,Computer science education ,UML - Abstract
The learning of software design is known to be a difficult and challenging task for students. This dissertation studies different didactic approaches for learning software design to improve the way we teach students software design. The research in the dissertation questions whether we can assess software design skills, what guidance is needed for the improvement of students’ understanding of software design and how to motivate and engage students for learning software design. The research explores the following: an instrument for measuring software design skills based on design principles, the gamification of learning software design, revealing students’ software design strategies, the use of peer-reflection for uncovering the difficulties students have during software design tasks, the use of teaching assistants as bridge between the lecturer and the students, the automation of grading software designs with machine learning, guiding feedback by a pedagogical agent and a workshop for engaging students into the process of software development. The research contributes to the future education of software design.
- Published
- 2022
20. Testing and simulation monitor for train systems : A case study in software engineering and design
- Author
-
Nyrhilä, Ville, Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences, and Tampere University
- Subjects
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology ,software development ,software technology ,software design ,software engineering - Published
- 2022
21. HighTeach: A Web-Based Teacher Evaluation System fora Higher Learning Institution inthePhilippines
- Author
-
Amboya, Judith M., Francisco, Rovie M., Hernandez, Rene Jay, Opeña, Justine S., Samson, Ignasius V., and Olipas, Cris Norman P.
- Subjects
Software Design ,Software Development Life Cycle ,Software Development ,Web-Based System ,Teacher Evaluation - Abstract
The study is primarily aimed at describing how to design and develop a teacher evaluation system for a higher learning institution in Nueva Ecija, Philippines. Specifically, it sought to describe the activities undertaken in the software development lifecycle stages, including planning and requirements analysis, design, development, and testing. Maintenance and deployment stages were not covered in this study. Using developmental research, proponents developed the system following the SDLC stages. The results show how the proponents successfully developed the system. Proponents suggested that future studies may be conducted which may focus on the assessment phase covering deployment and maintenance stages, to learn how end-users and information technology (IT) expertsview the developed system.
- Published
- 2022
- Full Text
- View/download PDF
22. Formal Ontologies in Information Systems Development: A Systematic Review
- Author
-
Martina Husáková and Vladimír Bureš
- Subjects
formal ontology ,information system ,conceptualisation ,software development ,software design ,semantic web ,uml ,owl ,Information technology ,T58.5-58.64 - Abstract
Computational ontologies are machine-processable structures which represent particular domains of interest. They integrate knowledge which can be used by humans or machines for decision making and problem solving. The main aim of this systematic review is to investigate the role of formal ontologies in information systems development, i.e., how these graphs-based structures can be beneficial during the analysis and design of the information systems. Specific online databases were used to identify studies focused on the interconnections between ontologies and systems engineering. One-hundred eighty-seven studies were found during the first phase of the investigation. Twenty-seven studies were examined after the elimination of duplicate and irrelevant documents. Mind mapping was substantially helpful in organising the basic ideas and in identifying five thematic groups that show the main roles of formal ontologies in information systems development. Formal ontologies are mainly used in the interoperability of information systems, human resource management, domain knowledge representation, the involvement of semantics in unified modelling language (UML)-based modelling, and the management of programming code and documentation. We explain the main ideas in the reviewed studies and suggest possible extensions to this research.
- Published
- 2020
- Full Text
- View/download PDF
23. Reflections on Significant Developments in Designing SimCalc Software
- Author
-
Burke, James, Hegedus, Stephen, Robidoux, Ryan, Hegedus, Stephen J., editor, and Roschelle, Jeremy, editor
- Published
- 2013
- Full Text
- View/download PDF
24. Towards a Concept for Building a Big Data Architecture with Microservices
- Author
-
Matthias Volk, Daniel Staegemann, Klaus Turowski, Naoum Jamous, and Aamir Shakir
- Subjects
Flexibility (engineering) ,business.industry ,Computer science ,Big data ,Software development ,Software design ,Microservices ,Software architecture ,Software engineering ,business ,Modularity ,Extensibility - Abstract
Microservices and Big Data are renowned hot topics in computer science that have gained a lot of hype. While the use of microservices is an approach that is used in modern software development to increase flexibility, Big Data allows organizations to turn today’s information deluge into valuable insights. Many of those Big Data architectures have rather monolithic elements. However, a new trend arises in which monolithic architectures are replaced with more modularized ones, such as microservices. This transformation provides the benefits from microservices such as modularity, evolutionary design and extensibility while maintaining the old monolithic product’s functionality. This is also valid for Big Data architectures. To facilitate the success of this transformation, there are certain beneficial factors. In this paper, those aspects will be presented and the transformation of an exemplary Big Data architecture with somewhat monolithic elements into a microservice favoured one is outlined.
- Published
- 2021
25. Introduction
- Author
-
Ramnath, Sarnath, Dathan, Brahma, Ramnath, Sarnath, editor, and Dathan, Brahma, editor
- Published
- 2011
- Full Text
- View/download PDF
26. Importance of software version for measurement of arterial stiffness: Arteriograph as an example.
- Author
-
Ring, Margareta, Eriksson, Maria J., Nyberg, Gunnar, and Caidahl, Kenneth
- Subjects
- *
ARTERIAL diseases , *SOFTWARE engineering , *BLOOD pressure , *ARTERIOGRAPHY , *COMPUTER algorithms , *DIAGNOSIS - Abstract
Background: Current guidelines recommend the measurement of arterial stiffness in terms of aortic pulse wave velocity (PWV) as an important cardio-vascular risk marker. Both aortic PWV and the aortic augmentation index (AIxao) can be measured using different techniques, e.g., the Arteriograph and SphygmoCor. A new version of the software for the Arteriograph (v. 3.0.0.1, TensioMed, Budapest, Hungary; Arteriograph II) is now available. We wanted to determine whether this improved software differs from the previous version (Arteriograph v. 1.9.9.12; Arteriograph I). We compared the estimated aortic PWV (ePWVao) and AIxao measured with both versions of Arteriograph software and analysed the agreement of these values with those measured by SphygmoCor (v. 7.01, AtCor Medical, Sydney, Australia). Methods: Eighty-seven subjects without known cardio-vascular disease (23 men and 64 women) aged 54.2 ± 8.7 years (mean ± standard deviation; range 33–68 years) were included in the study. Estimated PWVao and AIxao were measured by both Arteriograph and SphygmoCor. We compared Arteriograph I and Arteriograph II with each other and with SphygmoCor. Results: Estimated PWVao measured by Arteriograph II was lower than that measured by Arteriograph I, while the AIxao was higher. Divergence in ePWVao values was especially noted above 9 m/s. Estimated PWVao measured by Arteriograph II (7.2 m/s, 6.6–8.0 [median, 25th–75th percentile]) did not differ from that measured by SphygmoCor (7.1 m/s, 6.7–7.9 [median, 25th–75th percentile]). However, the AIao measured by Arteriograph II was significantly higher (P < 0.001). Conclusion: Regularly upgraded software versions resulting from continuous technical development are needed for quality improvement of methods. However, the changes in software, even if the basic patented operational algorithm has not changed, may influence the measured values as shown in the present study. Therefore, attention should be paid to the software version of the method used when comparing arterial stiffness results in clinical settings or when performing scientific studies. [ABSTRACT FROM AUTHOR]
- Published
- 2018
- Full Text
- View/download PDF
27. PROGame: A process framework for serious game development for motor rehabilitation therapy.
- Author
-
Amengual Alcover, Esperança, Jaume-i-Capó, Antoni, and Moyà-Alcover, Biel
- Subjects
- *
VIDEO game development , *NEUROREHABILITATION , *CEREBRAL palsy , *COGNITIVE neuroscience , *ACCIDENTAL falls - Abstract
Serious game development for rehabilitation therapy is becoming increasingly popular because of the motivational advantages that these types of applications provide. Consequently, the need for a common process framework for this category of software development has become increasingly evident. The goal is to guarantee that products are developed and validated by following a coherent and systematic method that leads to high-quality serious games. This paper introduces a new process framework for the development of serious games for motor rehabilitation therapy. We introduce the new model and demonstrate its application for the development of a serious game for the improvement of the balance and postural control of adults with cerebral palsy. The development of this application has been facilitated by two technological transfer contracts and is being exploited by two different organizations. According to clinical measurements, patients using the application improved from high fall risk to moderate fall risk. We believe that our development strategy can be useful not only for motor rehabilitation therapy, but also for the development of serious games in many other rehabilitation areas. [ABSTRACT FROM AUTHOR]
- Published
- 2018
- Full Text
- View/download PDF
28. TeamWATCH: Visualizing development activities using a 3-D city metaphor to improve conflict detection and team awareness.
- Author
-
Ye, En, Ye, Xin, and Liu, Chang
- Subjects
- *
AWARENESS , *CONFLICT management , *TEAMS in the workplace , *COMPUTER-supported cooperative work , *COMPUTER software development - Abstract
The awareness of others’ activities has been widely recognized as essential in facilitating coordination in a team among Computer-Supported Cooperative Work communities. Several field studies of software developers in large software companies such as Microsoft have shown that coworker and artifact awareness are the most common information needs for software developers; however, they are also two of the seven most frequently unsatisfied information needs. To address this problem, we built a workspace awareness tool named TeamWATCH to visualize developer activities using a 3-D city metaphor. In this paper, we discuss the importance of awareness in software development, review existing workspace awareness tools, present the design and implementation of TeamWATCH, and evaluate how it could help detect and resolve conflicts earlier and better maintain group awareness via a controlled experiment. The experimental results showed that the subjects using TeamWATCH performed significantly better with respect to early conflict detection and resolution. [ABSTRACT FROM AUTHOR]
- Published
- 2018
- Full Text
- View/download PDF
29. An Examination of the Effects of Offshore and Outsourced Development on the Delegation of Responsibilities to Software Components
- Author
-
Datta, Subhajit, van Engelen, Robert, van der Aalst, Will, Series editor, Mylopoulos, John, Series editor, Sadeh, Norman M., Series editor, Shaw, Michael J., Series editor, Szyperski, Clemens, Series editor, Berkling, Kay, editor, Joseph, Mathai, editor, Meyer, Bertrand, editor, and Nordio, Martin, editor
- Published
- 2009
- Full Text
- View/download PDF
30. A novel method for multifactorial bio-chemical experiments design based on combinational design theory.
- Author
-
Wang, Xun, Sun, Beibei, Liu, Boyang, Fu, Yaping, and Zheng, Pan
- Subjects
- *
COMBINATORICS , *SET theory , *EXPERIMENTAL design , *MACHINE learning , *COMPUTER science - Abstract
Experimental design focuses on describing or explaining the multifactorial interactions that are hypothesized to reflect the variation. The design introduces conditions that may directly affect the variation, where particular conditions are purposely selected for observation. Combinatorial design theory deals with the existence, construction and properties of systems of finite sets whose arrangements satisfy generalized concepts of balance and/or symmetry. In this work, borrowing the concept of “balance” in combinatorial design theory, a novel method for multifactorial bio-chemical experiments design is proposed, where balanced templates in combinational design are used to select the conditions for observation. Balanced experimental data that covers all the influencing factors of experiments can be obtianed for further processing, such as training set for machine learning models. Finally, a software based on the proposed method is developed for designing experiments with covering influencing factors a certain number of times. [ABSTRACT FROM AUTHOR]
- Published
- 2017
- Full Text
- View/download PDF
31. Project Delivery of Goods With Limited Resources and Minimum Time Using Fuzzy Logic Method
- Author
-
Paryati
- Subjects
Mathematical optimization ,Job shop scheduling ,business.industry ,Computer science ,General Mathematics ,Fuzzy set ,Probabilistic logic ,Software development ,Fuzzy logic ,Education ,Computational Mathematics ,Computational Theory and Mathematics ,Fuzzy number ,Software design ,business ,Gantt chart - Abstract
In solving the problem of fuzzy application for scheduling delivery of goods with a limited power source and minimal time, the problems that are still not considered in the RCPS problem modeling are the uncertainty characteristics of the parameters of the timing of activities in the delivery project. Even though this can be solved by using the PERT (Project Evaluation and Review Technoloque) method with a probabilistic approach, this technique still ignores the limitations of the supply of resources. Actually, a probabilistic approach can be used, if previously provided data about the experience in completing similar projects. But if the project is a new project or the techniques and methodologies used to complete a new project, such as new techniques and methodologies in software engineering, among others: object-oriented design and programming, computer-aided software design, user interface management systems, fourth generation languages, etc., then the probabilistic approach is not suitable. In this situation, the decision maker must be able to estimate the cost and time duration, of all activities in the project based on existing experience, related to the level of knowledge they have, about new techniques and methodologies to be applied, and the level of human resource expertise. which are available. This method of estimating project costs and time, which is more precise, uses representations in the form of fuzzy numbers, namely fuzzy sets in the set of real numbers that are normal, convex, and closed intervals. The delivery time is modeled as a fuzzy number of LR types IKiri, IKanan, α, β, with three values of α-cuts E = 0.3, L = 0.7, and I = 1.0. The fuzzy transformation model is based on three pairs of inferior and superior values from α-cuts. The priority for scheduling delivery of goods is based on the smallest early start time EST value. Resources are solved by serial and parallel models. The smallest makespan value is used to determine the best solution. Goods delivery settlement uses fuzzy operations, namely arithmetic operations and relation operations. Analysis of the output oftware based on testing with test scenarios (table ^ .50) for some input data shows that the parallel method is better than the serial method. This is indicated by the large difference in makespan value generated from the two methods. Based on input data from a software development project, the serial method gives makespan values in the range between 675.0 and 867.0, while the parallel method gives makespan values in the range between 116.0 and 259.0. The analysis of the output software in a fuzzy Gantt Chart representation shows that an activity can be scheduled with varying degrees of optimism. The degree of optimistic activity scheduling can be graded in linguistic terminology between two extreme pessimistic and optimistic values, namely very pessimistic, pessimistic, slightly pessimistic, slightly optimistic, optimistic, very optomistic.
- Published
- 2021
32. A Hybrid Prototyping Framework in a Virtual Platform Centered Design and Verification Flow
- Author
-
Leonard Masing, Fabian Lesniak, and Jürgen Becker
- Subjects
010302 applied physics ,General Computer Science ,Computer science ,business.industry ,Design flow ,Software development ,02 engineering and technology ,01 natural sciences ,020202 computer hardware & architecture ,Software ,Control and Systems Engineering ,Interfacing ,Embedded system ,0103 physical sciences ,Scalability ,0202 electrical engineering, electronic engineering, information engineering ,Software design ,Field-programmable gate array ,business ,Host (network) - Abstract
Future computing architectures will host increasing numbers of cores while also moving toward specialized architectures and accelerators. This development strains hardware and software design, verification, and system validation efforts. This letter introduces a virtual platform (VP) centered design flow that not only enables early software development but also considers a solution for the challenges on hardware and system level. As a core element, a hybrid prototyping framework targeting networks-on-chip (NoC) links for interfacing a VP and a field-programmable gate array provides scalability and accuracy for hardware verification and system validation.
- Published
- 2021
33. Metamodel based approach to generate user interface mockup from UML class diagram
- Author
-
Dimbisoa William Germain, Ilie Mihaela, Ilie Sorin, Rapatsalahy Miary Andrianjaka, and Mahatody Thomas
- Subjects
business.industry ,Computer science ,Programming language ,Model transformation ,Software development ,computer.software_genre ,Metamodeling ,ATLAS Transformation Language ,General Earth and Planetary Sciences ,Software design ,Class diagram ,Model-driven architecture ,User interface ,business ,computer ,General Environmental Science ,computer.programming_language - Abstract
Interface and interaction design take up most of the times in software creation. Human Computer Interaction (HCI) is mainly the best way to interact with a computer. During software development, class diagram is the only required step and process to design an information system according to UML notation. In addition, creating class diagram is a mandatory activity during the software creation process. The aim of this paper is to automatically generate the HCI mockup from class diagram to make easy and extremely fast software design. For example, the SEF (Schema d’Enchainement de Fenetre), is an interface model allowing to create a new interface mockup. It offers more widgets to design the HCI. And MACAO (Methode d’Analyse et de Conception d’Applications Orientees-objets) is one of the methods which helps computer scientist to easily create software. The model transformation is based on Model Driven Engineering (MDE). We use UML notation to design the class diagrams. We also adopt MDA architecture to create the model-based transformation process. Transformation rules are created using Atlas Transformation Language (ATL) to automatically generate a specific interface from the class diagram.
- Published
- 2021
34. Extreme Learning Machine Applied to Software Development Effort Estimation
- Author
-
Halcyon Davys Pereira De Carvalho, Roberta Andrade de Araújo Fagundes, and Wylliams Barbosa Santos
- Subjects
Estimation ,General Computer Science ,Extreme learning machine ,Computer science ,business.industry ,Process (engineering) ,effort estimation ,General Engineering ,Software development effort estimation ,Machine learning ,computer.software_genre ,TK1-9971 ,Support vector machine ,project management ,Software ,machine learning ,software development ,Software design ,General Materials Science ,Artificial intelligence ,Electrical engineering. Electronics. Nuclear engineering ,business ,computer ,Statistical hypothesis testing - Abstract
The project management process has been used in the area of Software Engineering to support project managers to keep projects under control. One of the essential processes in Software Engineering is to conduct an accurate and reliable estimation of the required effort to complete the project. This article’s objectives are: i) to identify the variables that influence the estimation based on the correlation, and ii) to apply the Extreme Learning Machine - ELM model for effort estimation and compare it with the literature models. Thus, it was investigated which technique has better effort prediction accuracy. The models were compared with each other based on predictive precision in the criterion of absolute mean residue (MAR) and statistical tests. The main findings in this study were: i) important variables for effort estimation and; ii) the results indicated that the ELM model presents the best results compared to the models in the literature for estimating software design effort. In this way, the use of Machine Learning techniques in the effort estimation process can increase the chances of success in the accuracy of the time estimates and the project’s costs.
- Published
- 2021
35. 'What is a method?' — an essay on some aspects of domain engineering
- Author
-
Bjørner, Dines, Gries, David, editor, Schneider, Fred B., editor, McIver, Annabelle, editor, and Morgan, Carroll, editor
- Published
- 2003
- Full Text
- View/download PDF
36. Prediksi Understandability Pada CK Metrics Object Oriented Menggunakan Fuzzy Inference System
- Author
-
Hylenarti Hertyana and Ahmad Fauzi
- Subjects
Measure (data warehouse) ,business.industry ,Computer science ,Software development ,Process (computing) ,computer.software_genre ,Software quality ,Software ,Entropy (information theory) ,Software design ,Data mining ,business ,computer ,Membership function - Abstract
The ability of the software to easily understand it is very important, to evaluate the performance of a system or process a certain mechanism is needed. So that the achievement level of software development is obtained, the assessment of code quality and design in the metrics have different contributions to the quality properties of software design. The assessment of software characteristics is described in a model based on the Chidamber Kemerer (CK) Entropy Metrics design property indicator. Measure specific properties of the software by mapping them into numbers according to objective and well-defined measurement rules. To be able to help perform the software quality calculation process based on CK metrics on the eclipse equinox data by using the Mamdani fuzzy inference system, pointing the classification into low which can be interpreted as having good quality. And the value affirmation of the deffuzzyfication method in this case is done by using the COA (center of area) method, to determine the crisp x value, obtained from the membership function formed from the composition process of all outputs.
- Published
- 2020
37. Application of high-level methods of compromise optimization for control of autonomous robotized open pit mining
- Author
-
S. A. Golovin, S. V. Zykov, Yu. P. Korablin, and D. A. Kryukov
- Subjects
quality attribute ,Business requirements ,Information theory ,Computer science ,02 engineering and technology ,01 natural sciences ,enterprise architecture matrix (eam) ,Software ,Architecture tradeoff analysis method ,0103 physical sciences ,functional requirements ,Use case ,Software requirements ,Q350-390 ,architecture of software solutions ,architecture-centric design method (acdm) ,General Environmental Science ,010302 applied physics ,business.industry ,Software development ,Functional requirement ,021001 nanoscience & nanotechnology ,method of architectural compromise analysis (atam) ,software development ,General Earth and Planetary Sciences ,Software design ,0210 nano-technology ,business ,Software engineering - Abstract
In most software engineering approaches, software design begins with defining functional requirements, which is well suited to web-based software development projects. When designing high-critical large-scale software intended for industrial use, accounting for non-functional software requirements is also required. The main idea of the proposed document-oriented approach is to design a stable architectural solution as early as possible, taking into account the nonfunctional characteristics of the software: reliability, security, maintainability and performance (quality attributes). At the same time, the key issue is the coordination of functional requirements, taking into account technical limitations and business requirements achieved during the steady interaction of customer and developer teams. To increase the flexibility of the designed solutions and prevent crisis situations when developing highly critical large-scale software, it is proposed to use the approach integrating the architecture-centric design method (ACDM), the architecture-tradeoff analysis method (ATAM) with a matrix enterprise architecture matrix (EAM). This allows getting a result that is adequate to the required level of responsibility and reliability. Consideration of quality attributes within the framework of the method of compromise analysis makes it possible to select and make certain decisions in software design taking into account the scale of the software and its scope. The main attributes of product quality are highlighted (ISO 25010 standard), critical scenarios are defined for each of them (templates and use cases). The use of these templates for detailed software design with the necessary parameters of functional requirements, business conditions and technological limitations reduces the risk of developing unpredictable and uncertain system behavior. Based on the proposed approach, an architectural solution is presented for highly critical, responsible, large-scale software for managing autonomous robotic open-pit mining of minerals. Critical attributes for creating the specified software were identified and ranked, and the architecture of the solution according to the SWEBOK software development standard was described. Further, taking into account the nature, scale and scope of the software solution, recommendations are given on high-level architectural templates for the system design, including layers, pipelines and microservices. The proposed architecture-oriented development method is suitable for industrial-level software in various subject areas.
- Published
- 2020
38. Landscape of Architecture and Design Patterns for IoT Systems
- Author
-
Hironori Washizaki, Nobukazu Yoshioka, Atsuo Hazeyama, Eduardo B. Fernandez, Takao Okubo, and Shinpei Ogata
- Subjects
Computer Networks and Communications ,business.industry ,Computer science ,Interoperability ,Maintainability ,Software development ,020206 networking & telecommunications ,02 engineering and technology ,Data science ,Computer Science Applications ,Software ,Hardware and Architecture ,Signal Processing ,Scalability ,Software design pattern ,0202 electrical engineering, electronic engineering, information engineering ,Software design ,020201 artificial intelligence & image processing ,Architecture ,business ,Information Systems - Abstract
Due to the widespread proliferation of today’s Internet of Things (IoT), a system designer needs the IoT system and software design patterns to assist in designing scalable and replicable solutions. Patterns are encapsulations of reusable common problems and solutions under specific contexts. Many IoT patterns have been published, such as IoT design patterns and IoT architecture patterns to document the successes (and failures) in IoT systems and software development. However, because these patterns are not well classified, their adoption does not live up to their potential. To understand the reasons, we conducted a systematic literature review. From the 32 identified papers, 143 IoT architecture and design patterns were extracted. We analyzed these patterns according to several characteristics and outlined directions for improvements when publishing and adopting IoT patterns. Of the extracted patterns, 57% are non-IoT patterns, suggesting that IoT systems and software are often designed via conventional architecture and design patterns that are not specific to IoT design. Although most IoT design patterns are applicable to any domain, IoT architecture patterns tend to be domain specific, implying that the unique nature of IoT adoption in specific domains appears at the architecture level. As more domains adopt IoT, the number of domain-specific IoT design patterns should increase. In terms of quality attributes, many IoT patterns address compatibility, security, and maintainability.
- Published
- 2020
39. Software engineering for IoT with safety aspects
- Author
-
Jayasri Kotti
- Subjects
Life-critical system ,business.industry ,Computer science ,Interface (computing) ,Systems development life cycle ,Software development ,Software design ,Cloud computing ,General Medicine ,Software requirements ,Software verification and validation ,business ,Software engineering - Abstract
IoT (Internet of Things) is an information network of significant objects (machines, Sensors, Actuators, etc.,) that allows interface and collaboration of these objects to reach general goals. More innovations of development environment are needed for Software Engineering (SE) for the Internet of Things. At present recent stimulating trend is expansion environments in the cloud computing to enable the extremely scalable V&V (verification and validation) techniques that will be needed for most large safety critical systems in the Internet of Things. This paper discusses necessary safety activities to Internet of Things (IoT) based software development. Incorporate the IoT with SE practices gives best research on safety Internet of Things (IoT) with SDLC (Software Development Life Cycle) in terms of software requirements, software Design, implementation, testing and maintenance, and afford safety and quality control and assurance actions to IoT(Internet of Things) support s/w development.
- Published
- 2020
40. Model-based re-engineering of control application : Code generation and verification
- Author
-
Rytinki, Tapio, Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences, and Tampere University
- Subjects
development (active) ,software development ,simulation ,verification ,programming ,software design ,Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering - Abstract
This thesis introduces a way to transform from traditional software development to model-based design in the control application domain, specifically PLC-based control systems. Traditional software development refers to a process where code is written directly based on system and module design after system requirements are defined. Model-based re-engineering refers to a process where old software is converted to new implementation using a model-based design methodology. Model-based design is a mathematical and visual method to address complex control system problems and is focused on the design phase of the development process. There are multiple reasons why there is a rising interest to use model-based design instead of traditional development but changing to this development model is problematic. The old codebase is usually done by handwritten code and transforming to model-based and new platforms can be complex. This thesis answers the presented problem by developing a systematic way how this transformation can be done. This is achieved by combining re-engineering with V-model. Furthermore, a case study is performed which uses the introduced process for transforming the reference code into a new implementation using model-based design. This case study focuses on how the verification process evolves when re-engineering is part of the V-model. This case study is completed using proprietary software for the model-based design process known as MathWorks’ Simulink and Simulink PLC-coder. Case study showed that it was possible to create a redesigned software using introduced re-engineering model. As a result of this case study, problems in the re-engineering process and the case study itself are explored and an idea for further study is presented.
- Published
- 2022
41. Understanding the Experience of Code Review : Misalignments, Attention, and Units of Analysis
- Author
-
Emma Söderberg, Luke Church, Jürgen Börstler, Diederick Niehorster, and Christofer Rydenfält
- Subjects
Programvaruteknik ,code review ,Extended analysis ,Software Engineering ,Review process ,Semi structured interviews ,Unit of analysis ,Mixed method ,Work environments ,user experience ,software development ,Multi-national companies ,Software design ,Process issues ,Users' experiences ,Alignment - Abstract
Code review is a common practice in software development and numerous studies have described different aspects of the process; its characteristics, the expectations on that process, issues around reviewer allocation, and more. However, one aspect that has not been studied to a large extent is the experience of the developers in the code review process. This is unfortunate given the significant amount of time that developers spend on this activity, where problems that degrade developers' experience on a daily basis can create work environment issues. In this paper, we present an extended analysis of an exploratory mixed-method study where we focus on developers' experience of code review. We use semi-structured interviews to gather data from two multi-national companies and conduct a follow-up survey. Our results suggest that developers are frequently bothered by misalignments in the code review tooling and process which is hindering them in carrying out their code review tasks effectively. We present an initial characterization of misalignments that may hamper the developer experience. Based on our findings, we propose directions for further exploration to improve the developer experience. © 2022 Owner/Author. open access
- Published
- 2022
42. The Decision View's Role in Software Architecture Practice
- Author
-
J.C. Dueas, Rafael Capilla, and Philippe Kruchten
- Subjects
Resource-oriented architecture ,Computer science ,3304.06 Arquitectura de Ordenadores ,Software walkthrough ,Maintenance engineering ,Long-term support ,Documentation ,Software ,1203.17 Informática ,Software system ,Social software engineering ,business.industry ,Software as a service ,Software development ,Software maintenance ,Software quality ,Software metric ,Engineering management ,Software crisis ,Software deployment ,Software design ,Software architecture ,business ,Software engineering - Abstract
A ¿decision view¿ provides a useful addition and complement to more traditional sets of architectural views and viewpoints; it gives an explanatory perspective that illuminates the reasoning process itself and not solely its results. This decision view documents aspects of the architecture that are hard to reverse-engineer from the software itself and that are often left tacit. The decision view and the decisions that it captures embody high-level architectural knowledge that can be transferred to other practitioners, merged when systems are merged, and offer useful support for the maintenance of large and long-lived software-intensive systems. This article leads the reader through a succession of epiphanies: from design to architecture, then architecture representation to architecture design methods, and finally to architectural design decisions Ciencias de la Computación
- Published
- 2022
43. Dr.seq2: A quality control and analysis pipeline for parallel single cell transcriptome and epigenome data.
- Author
-
Zhao, Chengchen, Hu, Sheng’en, Huo, Xiao, and Zhang, Yong
- Subjects
- *
EPIGENOMICS , *QUALITY control , *CELL communication , *DATA quality , *CELL analysis - Abstract
An increasing number of single cell transcriptome and epigenome technologies, including single cell ATAC-seq (scATAC-seq), have been recently developed as powerful tools to analyze the features of many individual cells simultaneously. However, the methods and software were designed for one certain data type and only for single cell transcriptome data. A systematic approach for epigenome data and multiple types of transcriptome data is needed to control data quality and to perform cell-to-cell heterogeneity analysis on these ultra-high-dimensional transcriptome and epigenome datasets. Here we developed Dr.seq2, a Quality Control (QC) and analysis pipeline for multiple types of single cell transcriptome and epigenome data, including scATAC-seq and Drop-ChIP data. Application of this pipeline provides four groups of QC measurements and different analyses, including cell heterogeneity analysis. Dr.seq2 produced reliable results on published single cell transcriptome and epigenome datasets. Overall, Dr.seq2 is a systematic and comprehensive QC and analysis pipeline designed for parallel single cell transcriptome and epigenome data. Dr.seq2 is freely available at: and . [ABSTRACT FROM AUTHOR]
- Published
- 2017
- Full Text
- View/download PDF
44. Singularity: Scientific containers for mobility of compute.
- Author
-
Kurtzer, Gregory M., Sochat, Vanessa, and Bauer, Michael W.
- Subjects
- *
COMPUTER software development , *MATHEMATICAL singularities , *WORKFLOW , *SOFTWARE engineering , *COMPUTER systems - Abstract
Here we present Singularity, software developed to bring containers and reproducibility to scientific computing. Using Singularity containers, developers can work in reproducible environments of their choosing and design, and these complete environments can easily be copied and executed on other platforms. Singularity is an open source initiative that harnesses the expertise of system and software engineers and researchers alike, and integrates seamlessly into common workflows for both of these groups. As its primary use case, Singularity brings mobility of computing to both users and HPC centers, providing a secure means to capture and distribute software and compute environments. This ability to create and deploy reproducible environments across these centers, a previously unmet need, makes Singularity a game changing development for computational science. [ABSTRACT FROM AUTHOR]
- Published
- 2017
- Full Text
- View/download PDF
45. Mining dynamic noteworthy functions in software execution sequences.
- Author
-
Zhang, Bing, Huang, Guoyan, Wang, Yuqian, He, Haitao, and Ren, Jiadong
- Subjects
- *
COMPUTER software development , *DATA mining , *SOFTWARE engineering , *COMPUTER simulation , *ALGORITHMS - Abstract
As the quality of crucial entities can directly affect that of software, their identification and protection become an important premise for effective software development, management, maintenance and testing, which thus contribute to improving the software quality and its attack-defending ability. Most analysis and evaluation on important entities like codes-based static structure analysis are on the destruction of the actual software running. In this paper, from the perspective of software execution process, we proposed an approach to mine dynamic noteworthy functions (DNFM)in software execution sequences. First, according to software decompiling and tracking stack changes, the execution traces composed of a series of function addresses were acquired. Then these traces were modeled as execution sequences and then simplified so as to get simplified sequences (SFS), followed by the extraction of patterns through pattern extraction (PE) algorithm from SFS. After that, evaluating indicators inner-importance and inter-importance were designed to measure the noteworthiness of functions in DNFM algorithm. Finally, these functions were sorted by their noteworthiness. Comparison and contrast were conducted on the experiment results from two traditional complex network-based node mining methods, namely PageRank and DegreeRank. The results show that the DNFM method can mine noteworthy functions in software effectively and precisely. [ABSTRACT FROM AUTHOR]
- Published
- 2017
- Full Text
- View/download PDF
46. Interactive reconstructions of cranial 3D implants under MeVisLab as an alternative to commercial planning software.
- Author
-
Egger, Jan, Gall, Markus, Tax, Alois, Ücal, Muammer, Zefferer, Ulrike, Li, Xing, von Campe, Gord, Schäfer, Ute, Schmalstieg, Dieter, and Chen, Xiaojun
- Subjects
- *
COMPUTER-aided design , *MEDICAL software , *ARTIFICIAL implants , *WORKFLOW , *PROTOTYPES - Abstract
In this publication, the interactive planning and reconstruction of cranial 3D Implants under the medical prototyping platform MeVisLab as alternative to commercial planning software is introduced. In doing so, a MeVisLab prototype consisting of a customized data-flow network and an own C++ module was set up. As a result, the Computer-Aided Design (CAD) software prototype guides a user through the whole workflow to generate an implant. Therefore, the workflow begins with loading and mirroring the patients head for an initial curvature of the implant. Then, the user can perform an additional Laplacian smoothing, followed by a Delaunay triangulation. The result is an aesthetic looking and well-fitting 3D implant, which can be stored in a CAD file format, e.g. STereoLithography (STL), for 3D printing. The 3D printed implant can finally be used for an in-depth pre-surgical evaluation or even as a real implant for the patient. In a nutshell, our research and development shows that a customized MeVisLab software prototype can be used as an alternative to complex commercial planning software, which may also not be available in every clinic. Finally, not to conform ourselves directly to available commercial software and look for other options that might improve the workflow. [ABSTRACT FROM AUTHOR]
- Published
- 2017
- Full Text
- View/download PDF
47. AZ AGILIS SZOFTVERFEJLESZTÉS ALKALMAZÁSÁNAK LEHETŐSÉGEI A MAGYAR HONVÉDSÉG SZÁMÁRA.
- Author
-
János, GEREVICH
- Abstract
Copyright of Military Engineer / Hadmérnök is the property of National University of Public Service and its content may not be copied or emailed to multiple sites or posted to a listserv without the copyright holder's express written permission. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
- Published
- 2017
48. Ten Simple Rules for Developing Usable Software in Computational Biology.
- Author
-
List, Markus, Ebert, Peter, and Albrecht, Felipe
- Subjects
- *
USER-centered system design , *COMPUTATIONAL biology , *SYSTEMS design , *COMPUTER software development , *BIOLOGICAL mathematical modeling - Abstract
The authors reflect on issues concerning software usability in computational biology. Topics discussed include a definition of usability, the ten rules for developing usability software, and the importance of usability in software design. Also mentioned is the impact of these rules on improving usability of scientific software.
- Published
- 2017
- Full Text
- View/download PDF
49. Real-Time Reliability Verification for UAV Flight Control System Supporting Airworthiness Certification.
- Author
-
Xu, Haiyang and Wang, Ping
- Subjects
- *
DRONE aircraft , *FLIGHT control systems , *AIRWORTHINESS certificates , *DYNAMIC models , *REAL-time control - Abstract
In order to verify the real-time reliability of unmanned aerial vehicle (UAV) flight control system and comply with the airworthiness certification standard, we proposed a model-based integration framework for modeling and verification of time property. Combining with the advantages of MARTE, this framework uses class diagram to create the static model of software system, and utilizes state chart to create the dynamic model. In term of the defined transformation rules, the MARTE model could be transformed to formal integrated model, and the different part of the model could also be verified by using existing formal tools. For the real-time specifications of software system, we also proposed a generating algorithm for temporal logic formula, which could automatically extract real-time property from time-sensitive live sequence chart (TLSC). Finally, we modeled the simplified flight control system of UAV to check its real-time property. The results showed that the framework could be used to create the system model, as well as precisely analyze and verify the real-time reliability of UAV flight control system. [ABSTRACT FROM AUTHOR]
- Published
- 2016
- Full Text
- View/download PDF
50. An Analysis of Metric-based Quality Design for Software Development
- Author
-
Mohit Kumar Sharma, Amardeep Gupta, and Neeraj Puri
- Subjects
Multidisciplinary ,Computer science ,business.industry ,Software development ,Software design ,Data mining ,business ,computer.software_genre ,computer ,Encapsulation (networking) - Abstract
Background/Objectives: The main purpose is to find the significance of Object-Oriented metrics on software design; metrics are related to minimizing class unused attributes and methods to maintain quality and complexity.Methods/Statistical analysis: Experimental analysis is utilized for validating findings. Mathematical properties are used for validation and evaluation outcomes. The purpose of experimental validation is to understand whether a measurement quantifies what it should quantify. MS-Excel is utilized as a metric computation and graph generation for fifteen project designs. Statistical analysis through SPSS tool of different inheritance categories as single, multiple, multilevel, hierarchical, and hybrid are utilized for metric results.Findings: SSAAM is suggested to give measurement results for counting public and protected attributes of all super and subclasses in the class inheritance hierarchy. SSMAM explores numeric value for computing public and protected methods of all super and sub classes in the class inheritance hierarchy. Higher results are computed of SSAAM and SSMAM, it shows more inheritance hierarchy utilized in the design. It assist in a controlled use of public/protected members in software design to minimize complications. Software design complications can be enhanced due to more use of protected and public members as well as decreased use of the concept of encapsulation. Keywords: Metrics; quality; protected and public specifiers
- Published
- 2020
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.