Software engineering has been taught at many institutions as individual course for many years. Recently, many higher education institutions offer a BSc degree in Software Engineering. Software engineers are required, ...Software engineering has been taught at many institutions as individual course for many years. Recently, many higher education institutions offer a BSc degree in Software Engineering. Software engineers are required, especially at the small enterprises, to play many roles, and sometimes simultaneously. Beside the technical and managerial skills, software engineers should have additional intellectual skills such as domain-specific abstract thinking. Therefore, software engineering curriculum should help the students to build and improve their skills to meet the labor market needs. This study aims to explore the perceptions of software engineering students on the influence of learning software modeling and design on their domain-specific abstract thinking. Also, we explore the role of the course project in improving their domain-specific abstract thinking. The study results have shown that, most of the surveyed students believe that learning and practicing modeling and design concepts contribute to their ability to think abstractly on specific domain. However, this finding is influenced by the students’ lack of the comprehension of some modeling and design aspects (e.g., generalization). We believe that, such aspects should be introduced to the students at early levels of software engineering curriculum, which certainly will improve their ability to think abstractly on specific domain.展开更多
In this paper, a formal specification language and a tool systembased on it are presented. With the tool system, the new model of softwaredevelopment─“specification plus transformation to program” can be im-pleme...In this paper, a formal specification language and a tool systembased on it are presented. With the tool system, the new model of softwaredevelopment─“specification plus transformation to program” can be im-plemented.展开更多
This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system w...This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system with high level of variety and supports SPL development with delta modeling. The case study of this thesis is a digital library system called Library Automation and Digital Archive (LONTAR). Originally, LONTAR only uses SOAP-based web service. With ABS, LONTAR will be converted into SPL and implement another web service called REST. The motivation of this conversion of LONTAR from object oriented into SPL is because it is easier to develop system with ABS than using regular object oriented. Product definition in ABS is relatively easier than creating a new subclass and do customization to make it works well.展开更多
A software requirements specification(SRS)is a detailed description of a software system to be developed.This paper proposes and evaluates a lightweight review approach called value-oriented review(VOR)to detect defec...A software requirements specification(SRS)is a detailed description of a software system to be developed.This paper proposes and evaluates a lightweight review approach called value-oriented review(VOR)to detect defects in SRS.This approach comprises setting core values based on SRS and detecting the defects disturbing the core values.To evaluate the effectiveness of the proposed approach,we conducted a controlled experiment to investigate whether reviewers could identify and record the core values based on SRS and find defects disturbing the core values.Results of the evaluation with 56 software engineers showed that 91%of the reviewers identified appropriate core values and 82%of the reviewers detected defects based on the identified core values.Furthermore,the average number of defects detected using the proposed approach was slightly smaller than that detected using perspective-based reading(PBR);however,PBR requires defining review scenarios before attempting to detect any defects.The results also demonstrated that the proposed approach helped reviewers detect the omission defects,which are more difficult to detect from SRS than defects because of ambiguity or incorrect requirements.展开更多
Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specifica...Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specification/modeling and the design, and try to find a good match between them. The key task done by designers is to convert a natural language based requirement specification (or corresponding UML based representation) into a predominantly computer language based design model—thus the process is very complex as there is a very large gap between our natural language and computer language. Moreover, this is not just a simple language conversion, but rather a complex knowledge conversion that can lead to meaningful design implementation. In this paper, we describe an automated method to map Requirement Model to Design Model and thus automate/partially automate the Structured Design (SD) process. We believe, this is the first logical step in mapping a more complex requirement specification to design model. We call it IRTDM (Intelligent Agent based requirement model to design model mapping). The main theme of IRTDM is to use some AI (Artificial Intelligence) based algorithms, semantic representation using Ontology or Predicate Logic, design structures using some well known design framework and Machine Learning algorithms for learning over time. Semantics help convert natural language based requirement specification (and associated UML representation) into high level design model followed by mapping to design structures. AI method can also be used to convert high level design structures into lower level design which then can be refined further by some manual and/or semi automated process. We emphasize that automation is one of the key ways to minimize the software cost, and is very important for all, especially, for the “Design for the Bottom 90% People” or BOP (Base of the Pyramid People).展开更多
On the software module, this paper proposes a visual specification language(VSL). Based on decomposition, the language imitates men's thinking procedure that decomposes aproblem into smaller ones, then independent...On the software module, this paper proposes a visual specification language(VSL). Based on decomposition, the language imitates men's thinking procedure that decomposes aproblem into smaller ones, then independently solves the results of every small problem to get theresult of original problem (decomposition and synthesis). Besides, the language mixes visual withspecification. With computer supporting, we can implement the software module automatically. It willgreatly improve the quality of software and raise the efficiency of software development. Thesimple definition of VSL, the principle of auto-generation, an example and the future research areintroduced.展开更多
Under a broad comprehension of Software Engineering, it is preferred the term software life cycle instead of just software production. The reason is that cycle starts at software conception and stops when the software...Under a broad comprehension of Software Engineering, it is preferred the term software life cycle instead of just software production. The reason is that cycle starts at software conception and stops when the software is relegated. Given contemporary companies’ market strategies of focusing on their competitive advantages, most of them have externalized their software production to outsourced services. Therefore, the call for software tenders has become a common step in the software life cycle. In this paper, we present a tool which aids non-experts to specify call for software tenders. The motivation was Chile situation of most of rural and semi-urban city halls which do not have engineering teams to build call for software tenders. We describe the problem in terms of lack of competitiveness and empty biddings generated by low quality calls for tenders. As a second step, we show the technical considerations to develop the proposed tool and its features. We include an initial tool perception from a first group of users.展开更多
UML Diagrams are considered as a main component in requirement engineering process and these become an industry standard in many organizations. UML diagrams are useful to show an interaction, behavior and structure of...UML Diagrams are considered as a main component in requirement engineering process and these become an industry standard in many organizations. UML diagrams are useful to show an interaction, behavior and structure of the system. Similarly, in requirement engineering, formal specification methods are also being used in crucial systems where precise information is required. It is necessary to integrate System Models with such formal methods to overcome the requirements errors i.e. contradiction, ambiguities, vagueness, incompleteness and mixed values of abstraction. Our objective is to integrate the Formal Specification Language (Z) with UML Sequence diagram, as sequence diagram is an interaction diagram which shows the interaction and proper sequence of components (Methods, procedures etc.) of the system. In this paper, we focus on components of UML Sequence diagram and then implement these components in formal specification language Z. And the results of this research papers are complete integrated components of Sequence diagram with Z schemas, which are verified by using tools and model based testing technique of Formal Specifications. Results can be more improved by integrating remaining components of Sequence and other UML diagrams into Formal Specification Language.展开更多
In service-oriented computing, process model may serve as a link to connect users’ requirements with Web Services. In this paper, we propose an approach and related key techniques to generate process-oriented require...In service-oriented computing, process model may serve as a link to connect users’ requirements with Web Services. In this paper, we propose an approach and related key techniques to generate process-oriented requirements specification from user’s goal. For this purpose, a requirements description language named SORL will be provided to capture users’ requirements. Then, a unified requirements meta-modeling frame RPGS will be used to construct reusable domain assets, which is the basis of generating requirements specifications. Finally, a set of rules are defined to extract process control structures from users’ requirements described with SORL, so that we can convert requirements description into process-oriented requirements specification smoothly.展开更多
The quality of the software product is a crucial factor that contributes to its success. Therefore, it is important to specify the right software quality requirements that will establish the basis for desired quality ...The quality of the software product is a crucial factor that contributes to its success. Therefore, it is important to specify the right software quality requirements that will establish the basis for desired quality of the final system/software product. There are several known methodologies/ processes that support the specification of the system/software functional requirements starting from the user needs to finally obtain the system requirements that the developers can implement through their development process. System/software quality requirements are interdependent with functional requirements, which means that the system/software quality requirements are meant to be specified in parallel with the latter. The ISO/IEC 25000 [1] SQuaRE series of standards include the standard ISO/IEC 25030—Software engineering—Software Quality Requirements and Evaluation—Quality requirements [2], which has as main goal to help specify software quality requirements. As to date, this standard does not offer clear and concise steps that a software quality engineer could follow in order to specify them. This article presents modifications recommended for ISO/IEC 25030 standard, with, among the others, a new requirements definition process that allows for specifying the system/software quality requirements taking into account the existing published system and software quality model ISO/IEC 25010 [3] as well as all the stake- holders of the project.展开更多
随着嵌入式软件系统在汽车、核工业、航空、航天等安全关键领域的广泛应用,其失效将会导致财产的损失、环境的破坏甚至人员的伤亡,使得保障软件安全性成为系统开发过程中的重要部分.传统的安全性分析方法主要应用在软件的需求分析阶段...随着嵌入式软件系统在汽车、核工业、航空、航天等安全关键领域的广泛应用,其失效将会导致财产的损失、环境的破坏甚至人员的伤亡,使得保障软件安全性成为系统开发过程中的重要部分.传统的安全性分析方法主要应用在软件的需求分析阶段和设计阶段,然而需求与设计之间的鸿沟却一直是软件工程领域的一大难题.正是由于这一鸿沟的存在,使得需求分析阶段的安全性分析结果难以完整而详尽地反映在软件设计中.其根本原因是:当前的软件需求主要通过自然语言描述,存在二义性与模糊性,且难以进行自动化处理.为了解决这一问题,面向构件化嵌入式软件,首先提出了一种半结构化的限定自然语言需求模板用于需求规约,能够有效地降低自然语言需求的二义性与模糊性;然后,为了降低自动化处理的复杂性,采用需求抽象语法图作为中间模型,实现基于限定自然语言需求模板规约的软件需求与AADL模型之间的转换,并在此过程中自动记录两者之间的可追踪关系;最后,基于AADL开源工具OSATE对所提出方法进行了插件实现,并通过航天器导航、制导与控制系统(guidance,navigation and control,简称GNC)进行了实例性验证.展开更多
文摘Software engineering has been taught at many institutions as individual course for many years. Recently, many higher education institutions offer a BSc degree in Software Engineering. Software engineers are required, especially at the small enterprises, to play many roles, and sometimes simultaneously. Beside the technical and managerial skills, software engineers should have additional intellectual skills such as domain-specific abstract thinking. Therefore, software engineering curriculum should help the students to build and improve their skills to meet the labor market needs. This study aims to explore the perceptions of software engineering students on the influence of learning software modeling and design on their domain-specific abstract thinking. Also, we explore the role of the course project in improving their domain-specific abstract thinking. The study results have shown that, most of the surveyed students believe that learning and practicing modeling and design concepts contribute to their ability to think abstractly on specific domain. However, this finding is influenced by the students’ lack of the comprehension of some modeling and design aspects (e.g., generalization). We believe that, such aspects should be introduced to the students at early levels of software engineering curriculum, which certainly will improve their ability to think abstractly on specific domain.
文摘In this paper, a formal specification language and a tool systembased on it are presented. With the tool system, the new model of softwaredevelopment─“specification plus transformation to program” can be im-plemented.
文摘This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system with high level of variety and supports SPL development with delta modeling. The case study of this thesis is a digital library system called Library Automation and Digital Archive (LONTAR). Originally, LONTAR only uses SOAP-based web service. With ABS, LONTAR will be converted into SPL and implement another web service called REST. The motivation of this conversion of LONTAR from object oriented into SPL is because it is easier to develop system with ABS than using regular object oriented. Product definition in ABS is relatively easier than creating a new subclass and do customization to make it works well.
基金This study was supported by the 2020 TSUBAME project of Tokyo Institute of Technology(Grant No.20D10597).
文摘A software requirements specification(SRS)is a detailed description of a software system to be developed.This paper proposes and evaluates a lightweight review approach called value-oriented review(VOR)to detect defects in SRS.This approach comprises setting core values based on SRS and detecting the defects disturbing the core values.To evaluate the effectiveness of the proposed approach,we conducted a controlled experiment to investigate whether reviewers could identify and record the core values based on SRS and find defects disturbing the core values.Results of the evaluation with 56 software engineers showed that 91%of the reviewers identified appropriate core values and 82%of the reviewers detected defects based on the identified core values.Furthermore,the average number of defects detected using the proposed approach was slightly smaller than that detected using perspective-based reading(PBR);however,PBR requires defining review scenarios before attempting to detect any defects.The results also demonstrated that the proposed approach helped reviewers detect the omission defects,which are more difficult to detect from SRS than defects because of ambiguity or incorrect requirements.
文摘Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specification/modeling and the design, and try to find a good match between them. The key task done by designers is to convert a natural language based requirement specification (or corresponding UML based representation) into a predominantly computer language based design model—thus the process is very complex as there is a very large gap between our natural language and computer language. Moreover, this is not just a simple language conversion, but rather a complex knowledge conversion that can lead to meaningful design implementation. In this paper, we describe an automated method to map Requirement Model to Design Model and thus automate/partially automate the Structured Design (SD) process. We believe, this is the first logical step in mapping a more complex requirement specification to design model. We call it IRTDM (Intelligent Agent based requirement model to design model mapping). The main theme of IRTDM is to use some AI (Artificial Intelligence) based algorithms, semantic representation using Ontology or Predicate Logic, design structures using some well known design framework and Machine Learning algorithms for learning over time. Semantics help convert natural language based requirement specification (and associated UML representation) into high level design model followed by mapping to design structures. AI method can also be used to convert high level design structures into lower level design which then can be refined further by some manual and/or semi automated process. We emphasize that automation is one of the key ways to minimize the software cost, and is very important for all, especially, for the “Design for the Bottom 90% People” or BOP (Base of the Pyramid People).
文摘On the software module, this paper proposes a visual specification language(VSL). Based on decomposition, the language imitates men's thinking procedure that decomposes aproblem into smaller ones, then independently solves the results of every small problem to get theresult of original problem (decomposition and synthesis). Besides, the language mixes visual withspecification. With computer supporting, we can implement the software module automatically. It willgreatly improve the quality of software and raise the efficiency of software development. Thesimple definition of VSL, the principle of auto-generation, an example and the future research areintroduced.
文摘Under a broad comprehension of Software Engineering, it is preferred the term software life cycle instead of just software production. The reason is that cycle starts at software conception and stops when the software is relegated. Given contemporary companies’ market strategies of focusing on their competitive advantages, most of them have externalized their software production to outsourced services. Therefore, the call for software tenders has become a common step in the software life cycle. In this paper, we present a tool which aids non-experts to specify call for software tenders. The motivation was Chile situation of most of rural and semi-urban city halls which do not have engineering teams to build call for software tenders. We describe the problem in terms of lack of competitiveness and empty biddings generated by low quality calls for tenders. As a second step, we show the technical considerations to develop the proposed tool and its features. We include an initial tool perception from a first group of users.
文摘UML Diagrams are considered as a main component in requirement engineering process and these become an industry standard in many organizations. UML diagrams are useful to show an interaction, behavior and structure of the system. Similarly, in requirement engineering, formal specification methods are also being used in crucial systems where precise information is required. It is necessary to integrate System Models with such formal methods to overcome the requirements errors i.e. contradiction, ambiguities, vagueness, incompleteness and mixed values of abstraction. Our objective is to integrate the Formal Specification Language (Z) with UML Sequence diagram, as sequence diagram is an interaction diagram which shows the interaction and proper sequence of components (Methods, procedures etc.) of the system. In this paper, we focus on components of UML Sequence diagram and then implement these components in formal specification language Z. And the results of this research papers are complete integrated components of Sequence diagram with Z schemas, which are verified by using tools and model based testing technique of Formal Specifications. Results can be more improved by integrating remaining components of Sequence and other UML diagrams into Formal Specification Language.
文摘In service-oriented computing, process model may serve as a link to connect users’ requirements with Web Services. In this paper, we propose an approach and related key techniques to generate process-oriented requirements specification from user’s goal. For this purpose, a requirements description language named SORL will be provided to capture users’ requirements. Then, a unified requirements meta-modeling frame RPGS will be used to construct reusable domain assets, which is the basis of generating requirements specifications. Finally, a set of rules are defined to extract process control structures from users’ requirements described with SORL, so that we can convert requirements description into process-oriented requirements specification smoothly.
文摘The quality of the software product is a crucial factor that contributes to its success. Therefore, it is important to specify the right software quality requirements that will establish the basis for desired quality of the final system/software product. There are several known methodologies/ processes that support the specification of the system/software functional requirements starting from the user needs to finally obtain the system requirements that the developers can implement through their development process. System/software quality requirements are interdependent with functional requirements, which means that the system/software quality requirements are meant to be specified in parallel with the latter. The ISO/IEC 25000 [1] SQuaRE series of standards include the standard ISO/IEC 25030—Software engineering—Software Quality Requirements and Evaluation—Quality requirements [2], which has as main goal to help specify software quality requirements. As to date, this standard does not offer clear and concise steps that a software quality engineer could follow in order to specify them. This article presents modifications recommended for ISO/IEC 25030 standard, with, among the others, a new requirements definition process that allows for specifying the system/software quality requirements taking into account the existing published system and software quality model ISO/IEC 25010 [3] as well as all the stake- holders of the project.
文摘随着嵌入式软件系统在汽车、核工业、航空、航天等安全关键领域的广泛应用,其失效将会导致财产的损失、环境的破坏甚至人员的伤亡,使得保障软件安全性成为系统开发过程中的重要部分.传统的安全性分析方法主要应用在软件的需求分析阶段和设计阶段,然而需求与设计之间的鸿沟却一直是软件工程领域的一大难题.正是由于这一鸿沟的存在,使得需求分析阶段的安全性分析结果难以完整而详尽地反映在软件设计中.其根本原因是:当前的软件需求主要通过自然语言描述,存在二义性与模糊性,且难以进行自动化处理.为了解决这一问题,面向构件化嵌入式软件,首先提出了一种半结构化的限定自然语言需求模板用于需求规约,能够有效地降低自然语言需求的二义性与模糊性;然后,为了降低自动化处理的复杂性,采用需求抽象语法图作为中间模型,实现基于限定自然语言需求模板规约的软件需求与AADL模型之间的转换,并在此过程中自动记录两者之间的可追踪关系;最后,基于AADL开源工具OSATE对所提出方法进行了插件实现,并通过航天器导航、制导与控制系统(guidance,navigation and control,简称GNC)进行了实例性验证.