The Disc Shop
Computer science graduates often find software engineering knowledge and skills are more in demand after they join the industry. However, given the lecture-based curriculum present in academia, it is not an easy undertaking to deliver industry-standard knowledge and skills in a software engineering classroom as such lectures hardly engage or convince students. Overcoming Challenges in Software Engineering Education: Delivering Non-Technical Knowledge and Skills combines recent advances and best practices to improve the curriculum of software engineering education. This book is an essential reference source for researchers and educators seeking to bridge the gap between industry expectations and what academia can provide in software engineering education.
Software components and component-based software development (CBSD) are acknowledged as the best approach for constructing quality software at reasonable cost. Composing Software Components: A Software-testing Perspective describes a 10-year investigation into the underlying principles of CBSD. By restricting attentionto the simplest cases, startling results are obtained:
. Components are tested using only executable code. Their behavior is recorded and presented graphically.
. Functional and non-functional behavior of systems synthesized from components are calculated from component tests alone. No access to components themselves is required.
. Fast, accurate tools support every aspect of CBSD from design through debugging.
Case studies of CBSD also illuminate software testing in general, particularly an expanded role for unit testing and the treatment of non-functional software properties.
This unique book:
. Contains more than a dozen case studies of fully worked-out component synthesis, with revealing insights into fundamental testing issues.
. Presents an original, fundamental theory of component composition that includes persistent state and concurrency, based on functional software testing rather than proof-of-programs.
. Comes with free supporting software with tutorial examples and data for replication of examples. The Perl software has been tested on Linux, Macintosh, and Windows platforms. Full documentation is provided.
. Includes anecdotes and insights from the author's 50-year career in computing as systems programmer, manager, researcher, and teacher.
Composing Software Components: A Software-testing Perspective will help software researchers and practitioners to understand the underlying principles of component testing. Advanced students in computer science, engineering, and mathematics can also benefit from the book as a supplemental text and reference.
From the simple applications that people use every day to specialized professional software, all computer programs are the result of hard work and creativity. Readers will find out how the members of a software development team work together to create todays top programs. They will also learn how the earliest computer software was created, where the field is headed in the future, and much more.
In clear, easy-to-grasp language, the author covers many of the topics that you will need to know in order to win your dream job and be the first in line for a promotion.
The use of domain specific software frameworks can significantly speed up application development because they provide ready made components as well as a reusable design. This book presents the Java framework JStatCom which evolved from experiences made during the development of JMulTi, a popular software for time series analysis. It describes in detail the requirements for such a framework and offers solutions to all recurring tasks, for example, the internal data representation of complex statistical models, the interaction between the data model and the graphical user interface, and the management of computing tasks in a multithreaded environment. Furthermore, it is described how the process of interfacing external software packages for specific numerical calculations can be standardized. An abstract interface is presented that may be used to hide the underlying complexities of data type conversions and specific calling semantics from the user of the framework. The text comes with many code examples and UML diagrams that help to understand each subsystem. Developers planning to develop data analysis software in Java can greatly benefit from this book.
The Disc Shop Articles
The Disc Shop Books
The Disc Shop