The Design Process

Author(s):  
Bruce I. Blum

we have arrived at the last layer of the foundation. I now can begin a systematic analysis of design. As a brief reminder, this really is a book about the development of software applications. My thesis is that we can expect only limited improvement to software application and productivity by working within the current design paradigm (i.e, technological design). I believe that we must shift paradigms to exploit the special characteristics of software. But paradigm shifts are revolutions, and one cannot comprehend any new paradigm by extrapolating from the concepts and methods of the present paradigm. Thus, we must destroy before we can rebuild. In the physical sciences, the justification for destruction comes from outside the paradigm; phenomena are observed that are at variance with the models of normal science, and new theories are needed to explain them. Computer science and software engineering, however, are formalizations for free phenomena. In a sense, they are self-defining; they establish their own criteria for relevance and evaluation. If we are to replace those criteria, therefore, we must begin outside normal computer science. And that is the justification for these first two parts. Part I examines the meaning and limitations of science and provides an interpretation of design: the modification of the environment (or “changing existing conditions into preferred ones”). Part II looks at design from the perspective of those who make and use the designs. I deliberately remain outside the domain of computer science in my search for the knowledge that will be relevant to the subsequent examination of software. Once this knowledge has been assembled, Part III can enter into a less biased consideration of software and its role in the next millennium. Thus, the first two parts construct the context within which a new computer science can be defined, and Part III offers adaptive design as an illustration of what this new computer science can accomplish. where are we now in this odyssey? Chapter 1 begins with the traditional view in which the maturity of software engineering as a discipline is related to its utilization of computer science principles.

Author(s):  
Bonnie K. MacKellar ◽  
Mihaela Sabin ◽  
Allen B. Tucker

Too often, computer science programs offer a software engineering course that emphasizes concepts, principles, and practical techniques, but fails to engage students in real-world software experiences. The authors have developed an approach to teaching undergraduate software engineering courses that integrates client-oriented project development and open source development practice. They call this approach the Client-Oriented Open Source Software (CO-FOSS) model. The advantages of this approach are that students are involved directly with a client, nonprofits gain a useful software application, and the project is available as open source for other students or organizations to extend and adapt. This chapter describes the motivation, elaborates the approach, and presents the results in substantial detail. The process is agile and the development framework is transferrable to other one-semester software engineering courses in a wide range of institutions.


2012 ◽  
Vol 433-440 ◽  
pp. 2372-2376 ◽  
Author(s):  
Mehdi Bahrami ◽  
Mohammad Bahrami

Software architecture has emerged as an important sub-discipline of software engineering; particularly in the realm of large system development. Collaboration software applications are inherently cooperative, requiring many software applications to coordinate their efforts to produce a software system application. Integral to this effort is developing shared understanding surrounding multiple artifacts, each artifact embodying its own model, over the entire development process. This focus on model collaboration embedded within a larger process is what distinguishes collaboration research in software engineering from broader collaboration research. This article first review a list of goals for software architecture, then collaboration software application, several possible future directions for collaboration in software engineering is presented. The article concludes by noting a problem in performing research on collaborative systems.


Electronics ◽  
2021 ◽  
Vol 11 (1) ◽  
pp. 21
Author(s):  
Tiago Custódio ◽  
Cristiano Alves ◽  
Pedro Silva ◽  
Jorge Silva ◽  
Carlos Rodrigues ◽  
...  

The current design paradigm of car cabin components assumes seats aligned with the driving direction. All passengers are aligned with the driver that, until recently, was the only element in charge of controlling the vehicle. The new paradigm of self-driving cars eliminates several of those requirements, releasing the driver from control duties and creating new opportunities for entertaining the passengers during the trip. This creates the need for controlling functionalities that must be closer to each user, namely on the seat. This work proposes the use of low-cost capacitive touch sensors for controlling car functions, multimedia controls, seat orientation, door windows, and others. In the current work, we have reached a proof of concept that is functional, as shown for several cabin functionalities. The proposed concept can be adopted by current car manufacturers without changing the automobile construction pipeline. It is flexible and can adopt a variety of new functionalities, mostly software-based, added by the manufacturer, or customized by the end-user. Moreover, the newly proposed technology uses a smaller number of plastic parts for producing the component, which implies savings in terms of production cost and energy, while increasing the life cycle of the component.


Author(s):  
Bonnie K. MacKellar ◽  
Mihaela Sabin ◽  
Allen B. Tucker

Too often, computer science programs offer a software engineering course that emphasizes concepts, principles, and practical techniques, but fails to engage students in real-world software experiences. The authors have developed an approach to teaching undergraduate software engineering courses that integrates client-oriented project development and open source development practice. They call this approach the Client-Oriented Open Source Software (CO-FOSS) model. The advantages of this approach are that students are involved directly with a client, nonprofits gain a useful software application, and the project is available as open source for other students or organizations to extend and adapt. This chapter describes the motivation, elaborates the approach, and presents the results in substantial detail. The process is agile and the development framework is transferrable to other one-semester software engineering courses in a wide range of institutions.


2015 ◽  
pp. 710-733
Author(s):  
Bonnie K. MacKellar ◽  
Mihaela Sabin ◽  
Allen B. Tucker

Too often, computer science programs offer a software engineering course that emphasizes concepts, principles, and practical techniques, but fails to engage students in real-world software experiences. The authors have developed an approach to teaching undergraduate software engineering courses that integrates client-oriented project development and open source development practice. They call this approach the Client-Oriented Open Source Software (CO-FOSS) model. The advantages of this approach are that students are involved directly with a client, nonprofits gain a useful software application, and the project is available as open source for other students or organizations to extend and adapt. This chapter describes the motivation, elaborates the approach, and presents the results in substantial detail. The process is agile and the development framework is transferrable to other one-semester software engineering courses in a wide range of institutions.


2015 ◽  
pp. 1927-1950 ◽  
Author(s):  
Bonnie K. MacKellar ◽  
Mihaela Sabin ◽  
Allen B. Tucker

Too often, computer science programs offer a software engineering course that emphasizes concepts, principles, and practical techniques, but fails to engage students in real-world software experiences. The authors have developed an approach to teaching undergraduate software engineering courses that integrates client-oriented project development and open source development practice. They call this approach the Client-Oriented Open Source Software (CO-FOSS) model. The advantages of this approach are that students are involved directly with a client, nonprofits gain a useful software application, and the project is available as open source for other students or organizations to extend and adapt. This chapter describes the motivation, elaborates the approach, and presents the results in substantial detail. The process is agile and the development framework is transferrable to other one-semester software engineering courses in a wide range of institutions.


2010 ◽  
pp. 115-132 ◽  
Author(s):  
S. Agibalov ◽  
A. Kokorin

Copenhagen summit results could be called a failure. This is the failure of UN climate change policy management, but definitely the first step to a new order as well. The article reviews main characteristics of climate policy paradigm shifts. Russian interests in climate change policy and main threats are analyzed. Successful development and implementation of energy savings and energy efficiency policy are necessary and would sufficiently help solving the global climate change problem.


Electronics ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 1181
Author(s):  
Juanan Pereira

(1) Background: final year students of computer science engineering degrees must carry out a final degree project (FDP) in order to graduate. Students’ contributions to improve open source software (OSS) through FDPs can offer multiple benefits and challenges, both for the students, the instructors and for the project itself. This work reports on a practical experience developed by four students contributing to mature OSS projects during their FDPs, detailing how they addressed the multiple challenges involved, both from the students and teachers perspective. (2) Methods: we followed the work of four students contributing to two established OSS projects for two academic years and analyzed their work on GitHub and their responses to a survey. (3) Results: we obtained a set of specific recommendations for future practitioners and detailed a list of benefits achieved by steering FDP towards OSS contributions, for students, teachers and the OSS projects. (4) Conclusion: we find out that FDPs oriented towards enhancing OSS projects can introduce students into real-world, practical examples of software engineering principles, give them a boost in their confidence about their technical and communication skills and help them build a portfolio of contributions to daily used worldwide open source applications.


Sign in / Sign up

Export Citation Format

Share Document