Highlighted text? Practice this concept. Highlighted passages and figures open related questions.
Practice related questions (4)Progress & bookmarks
Current section
2-1-3 Software Reuse
p. 281
Practice this section 4 linked exam questions with default filters
Progress
Not marked complete
Related questions in this lesson 4
Reverse engineering from existing programs4p. 281 · PDF 285
2-1-3 Software Reuse
Software reuse is the concept of using developed software, commercially available software packages, and others to efficiently develop new software. In addition, the reuse of software packages may require customization.
- • Partitioning into components
This is the concept of developing modules (i.e., componentware) on the precondition of reuse. Development on the precondition of reuse requires standardization in the development phase, improvement of module independence, and management of module-based units, and therefore, man-hours and cost are increased in comparison with development of the same scale. However, modules created as components have high reliability and can be expected to improve development productivity (i.e., shortening of the development period) and quality. In general, using a large component has a greater effect on reducing development man-hours, but caution must be taken in that the component may be difficult to reuse. - • Re-engineering
This is to acquire technology for the creation of new software from software that is already running, and to perform some customization. Within re-engineering, reverse engineering and forward engineering are performed. - • Reverse engineering
This is technology for analyzing existing programs and for creating call graphs (i.e., directed graphs indicating the relationships among procedures) and specifications. · 4 questions - • Forward engineering
This is technology for creating new programs by changing specifications taken from existing programs. - • Mashups
This is technology for constructing new services by combining APIs from multiple providers. It is used as technology for Web2.0, a newer manner of using the Web. - • Architecture pattern
This is a pattern of software construction that supports structures, such as packages, subsystems, and layers, and their connection and interaction. It uses existing architecture patterns and can improve software development efficiency. - • MVC (Model-View-Controller) model
This is a design model that implements software by combining “models” that form the core of processing, “views” for display or output, and “controllers” that control the views and models according to input content.
p. 282 · PDF 286
- • Design pattern
This is a design pattern that is used in object-oriented design, and is composed of three types of patterns: creational pattern, structural pattern, and behavioral pattern.
Section progress
Original chapter exercises
Original chapter exercises →New FE Textbook Vol.2 · First Edition, April 2015