Engineering design is an ill-structured problem solving and open-ended task (Dym et al., 2005) because design problems have ill-defined goals, states and solution steps. Engineering graduates are expected to design solutions to open-ended real world problems. Due to the complex nature of engineering design, the teaching and learning of this skill is reported to be difficult (Dym et al., 2005). Conceptual design is an important and critical step in design (Pahl et al., 2013). Conceptual design is described as a process in which the functional requirements of the design problem are transformed into descriptions of solution concepts (Chakrabarti & Bligh, 2001). Although all the processes in design are vital for the end result, a strong case can be made for selecting the conceptual design as most critical to the final design (Chakrabarti & Bligh, 2001). The conceptual phase of design thus becomes very significant, as designers tend to develop numerous early ideas and solutions in this phase.
Software design has several common activities with other design domains (Cross et al., 1996). However, the dynamic and intangible nature of software poses unique challenges in software conceptual design (SCD), specifically, components are logical and intangible, and behaviours of such intangible components need to be simulated along with simulation of end-users interactions (Petre et al., 2010). Experts create integrated solutions that fulfil the requirements. Novices find designing software solutions for open-ended problems daunting. There have been previous studies of novice difficulties (Eckerdal et al., 2006), however the underlying mechanism that causes these difficulties has yet to be unearthed. Moreover the ways to alleviate them in the context of SCD have not been reported. Current teachinglearning methods do not explicitly train students to overcome these difficulties (Armarego, 2009). There is a need to understand novices’ design processes and explicitly train computer-engineering students in SCD. This is the motivation of this thesis; firstly, to develop an understanding of novices’ design processes in SCD and secondly use this understanding to design supports for novices’ to create integrated SCD.
We used the function-behaviour-structure (FBS) design framework (Gero & Kannengeiser, 2014) as a lens to analyse novice processes as well as support the 6 creation of SCD. We followed a design based research methodology (Barab, 2014). We started with understanding novices’ design processes, the design strategies and cognitive processes. To identify these, we used protocol analysis (Gero et al., 2011) with novice computer engineering students (Study 1), to collect data, as they create software conceptual design for open-ended problems. We found that novices are fixated to a single view of the software solution and unable to utilize multiple formal representations of UML to model SCD. Additionally the solutions that novices create lack integration.
Guide Name: Prof. Sridhar Iyer
Click here to download PDF