تضمین کیفیت نرم افزار پشتیبانی طراحی: بررسی و تجزیه و تحلیل از وضعیت هنر
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|5151||2002||21 صفحه PDF||سفارش دهید||12601 کلمه|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Computers in Industry, Volume 49, Issue 2, October 2002, Pages 195–215
In this paper, we review the state of the art and practice in the development and quality assurance of design support software (DSS) products. We first study and analyze the processes of development of DSS products, and then review risk-reducing techniques employed in their development. Based on the analysis and the reviews, we propose a comprehensive methodology for pre-implementation testing of DSS, and concisely present its main elements. One of the distinct characteristics of the processes of development of DSS is that they are heavily research oriented. They typically involve formulation of specification requirements, selection or creation of theories, formulation of methods, designing of algorithms, and writing codes for pilot implementations. Often the problems are unclear and the solution concepts are unknown. Usually the conventional software development models and testing techniques are used in the development of DSS. The problem is that they cover only a subset of the DSS development activities and they do not scale to exactly match the needs in these processes. Almost all software development concepts or mental models demand the developers to prepare specifications, then design software and finally write codes. Even tests and reviews are conducted to exclusively ensure consistency and completeness of requirement specifications, designs and codes. A more robust methodology is required to ensure effective development and testing of DSS. What is needed is systematic development and testing of all early implementations and various stakeholders must also be systematically involved in this.
Software began to be used as tools for designing products in 1950s  and . Numerous software tools for supporting designers have ever since been built, most of them dedicated for use in the late phases of the design process, namely for drafting, modeling and engineering analysis. Providers are releasing versions after versions of various design software packages in their efforts to improve services they offer. On the other hand, researchers continually develop new theories and computer-oriented methods, and numerous prototype design support software (DSS) tools have been built in various research institutions. Like in the development of other software products, the developers of DSS use systematic development models and testing techniques, and adhere to practices such as usage of good programming styles and safer programming languages to assure quality. Other techniques in the areas such as requirements engineering and software prototyping as well as standards are also out there, and can be used in the development of DSS. Conceptual design, engineering analysis, detail design, drafting and design documentation are typical design activities supported by DSS  and . We use the phrase ‘design support software’ or the acronym DSS in this article to refer to any software tools used in industrial or mechanical engineering design. And the process of development of DSS means development of either the elementary functions, modules, or the entire DSS package. The objectives of this review are three fold: (i) analysis of how the DSS evolve, (ii) reviewing the processes of development and assurance of quality of DSS, and (iii) concluding on a methodology for prototyping and testing of abstract implementations of DSS. The analysis is intended to reveal how DSS emerge, as well as how this differs from the processes of development of conventional software. Having known what it takes to develop DSS, we study various approaches used in search for their quality and eventually propose characteristic features for a new quality improvement methodology. This paper is organized as follows. In the following Section we analyze the processes of development of DSS systems. We briefly describe how these systems evolve and present various strategies used to assure their quality. Then, in Section 3 we present a review of various concepts used to shape and direct software development activities, and investigate how far they cover aspects of the processes of development of DSS. A review of various verification and validation (V&V) strategies is given in Section 4. In Section 5, we review other measures and activities that help assure quality. These include requirements engineering, involvement of various stakeholders in the development process, handling of knowledge, ensuring compliance to software quality standards, and measurement of software products. Finally, we discuss and give final words about the reviews and present the characteristic features of the projected methodology in Section 6.
نتیجه گیری انگلیسی
A review of the state of the art and practice in the development and testing of DSS has been made. The capabilities and limitations of various strategies used have been presented and discussed. As a conclusion, we can say that the existing development models and testing techniques are to a large extent either too local, partial, or too general, and therefore, do not scale to precisely match the needs during the development of DSS. A more systematic and rigorous methodology is required to ensure effective development and testing of these kinds of software. Tests need to be done at all levels of abstraction and various stakeholders must systematically be involved in the V&V processes. Enhancement of the existing development models and testing strategies to create a method that can provide adequate support is the main goal to achieve. What is needed is a structured development and testing framework for various abstract implementations, starting from the highest level of abstraction of the foundational theories, followed by the underlying methods, algorithms and pilot implementations. We are currently developing such a methodology in our research program.