170 likes | 293 Vues
This paper explores the effectiveness of Component-Based Development (CBD) as a training method for software design, addressing the current lack of exposure that computer science and software engineering students face in design principles. It posits that CBD can nurture design consciousness—a critical intuition and skill set for aspiring software designers. The study emphasizes CBD's advantages over traditional development methods, presenting a comparison of development processes and urging educational institutions to integrate CBD into their curricula to foster creative and systematic design thinking among students.
E N D
Component-Based Software Development: Nurturing the Inner Designers Hoang Bao CSC 509 – Winter 2005
Concern • Software design: conception of a new software • Current computer science and software engineer students do not have enough exposure to software design.
The most common response toward software design training: “I was trained to do some other job, but ended up doing software design.” (Winograd) • There are few software design programs out there. • London’s Royal College of Art – Computer Related Design • Stanford University – Human-Computer Interaction Design • MIT – Program in Media Arts and Sciences
One way students learn about software development is through the software development processes. • Some processes encourage more involvement in software design than others.
Hypothesis • Component-based development (CBD) provides better training for software design than other development methods.
Building Design Consciousness • CBD helps to build the design consciousness (intuition, unspoken knowledge, and gut reaction) in participants.
Goals • Analyze the hypothesis • Analyze how CBD build the design consciousness • Compare CBD with common development methods. Implication: If the hypothesis holds true, we can consider using CBD as a teaching tool to expose students to design.
CBD • Focus on composing software systems with existing components. • CBSE Process • Analysis and components acquisition • Components-Oriented design • Components Composition • Integration Test • System Test
Main Difference • CBD is component oriented • Component development – creation of parts as reusable entities.
Component Development • Extra level of design • Components are designed separately from the final systems. • High requirements on functionality and flexibility
Component Development (cont.) • Forces components developers to • Think of (possible) products the components might be a part of. • How the components fit into those products architecturally
Building Consciousness • Over time, such actions build up a developer’s creativity and create a designer mindset for him.
Current Literature • Haven’t been able to find many papers that directly relate CBD to software design. • The papers used in this research so far has been on the topics of: • Software engineering • Software design • CBD
Further Works • Explore the component development process in more details. • How each step of the process contributes to design activities • More detail comparison of CBD and other methods.
Bibliography • Aoyama, M. “New Age of Software Development: How Component-Based Software Engineering Changes the Way of Software Development?” International Workshop on CBSE. • Brown, AW., et Al. “The Current State of CBSE.” IEEE Software, 1998. • Crnkovic, I., and Larsson, M. “A Case Study: Demands on Component-based Development.” International Conference on Software Engineering, 2000. • Fredriksson, A. “Component-Based Systems Development” • Freeman, P., Wasserman, I. A., and Fairley E. R. “Essential elements of software engineering education.” Proceedings of the 2nd international conference on Software engineering, 1976. • Shaw, M. “Software engineering education: a road map.” Proceedings of the Conference on The Future of Software Engineering, 2000. • Vitharana, P. “Risks and Challenges of Component-Based Software Development.” Communication of the ACM, 2003. • Winograd, T. (1996). Bringing Design to Software. New York: ACM Press.