Introduction to Software Design with Java
暫譯: Java 軟體設計入門
Robillard, Martin P.
- 出版商: Springer
- 出版日期: 2019-07-17
- 售價: $2,490
- 貴賓價: 9.5 折 $2,366
- 語言: 英文
- 頁數: 297
- 裝訂: Quality Paper - also called trade paper
- ISBN: 3030240932
- ISBN-13: 9783030240936
-
相關分類:
Java 程式語言
-
相關翻譯:
軟件設計:Java語言實踐 (簡中版)
商品描述
This textbook provides an in-depth introduction to software design, with a focus on object-oriented design, and using the Java programming language. Its goal is to help readers learn software design by discovering the experience of the design process. To this end, a narrative is used that introduces each element of design know-how in context, and explores alternative solutions in that context. The narrative is supported by hundreds of code fragments and design diagrams.
The first chapter is a general introduction to software design. The subsequent chapters cover design concepts and techniques, which are presented as a continuous narrative anchored in specific design problems, including types and interfaces, encapsulation, inheritance, patterns, composition, unit testing, and many more. A major emphasis is placed on coding and experimentation as a necessary complement to reading the text. To support this aspect of the learning process, a companion website with practice problems is provided, and three sample applications that capture numerous design decisions are included. Guidance on these sample applications is provided in a section called "Code Exploration" at the end of each chapter. Though the Java language is used as a means of conveying design-related ideas, the book's main goal is to address concepts and techniques that are applicable in a host of technologies.
This book is intended for readers who have a minimum of programming experience and want to move from writing small programs and scripts to tackling the development of larger systems. This audience naturally includes students in university-level computer science and software engineering programs. As the prerequisites to specific computing concepts are kept to a minimum, the content is also accessible to programmers with no previous background in computing. In a similar vein, understanding the code fragments requires only a minimal grasp of the language, such as would be taught in an introductory programming course.
The first chapter is a general introduction to software design. The subsequent chapters cover design concepts and techniques, which are presented as a continuous narrative anchored in specific design problems, including types and interfaces, encapsulation, inheritance, patterns, composition, unit testing, and many more. A major emphasis is placed on coding and experimentation as a necessary complement to reading the text. To support this aspect of the learning process, a companion website with practice problems is provided, and three sample applications that capture numerous design decisions are included. Guidance on these sample applications is provided in a section called "Code Exploration" at the end of each chapter. Though the Java language is used as a means of conveying design-related ideas, the book's main goal is to address concepts and techniques that are applicable in a host of technologies.
This book is intended for readers who have a minimum of programming experience and want to move from writing small programs and scripts to tackling the development of larger systems. This audience naturally includes students in university-level computer science and software engineering programs. As the prerequisites to specific computing concepts are kept to a minimum, the content is also accessible to programmers with no previous background in computing. In a similar vein, understanding the code fragments requires only a minimal grasp of the language, such as would be taught in an introductory programming course.
商品描述(中文翻譯)
本教科書深入介紹了軟體設計,重點在於物件導向設計,並使用 Java 程式語言。其目標是幫助讀者透過發現設計過程的經驗來學習軟體設計。為此,書中採用敘述方式,將每個設計知識要素置於上下文中介紹,並探討該上下文中的替代解決方案。這種敘述方式由數百個程式碼片段和設計圖表支持。
第一章是對軟體設計的一般介紹。隨後的章節涵蓋設計概念和技術,這些內容以連貫的敘述方式呈現,並以特定的設計問題為基礎,包括類型和介面、封裝、繼承、模式、組合、單元測試等許多主題。特別強調編碼和實驗作為閱讀文本的必要補充。為了支持這一學習過程的這一方面,提供了一個伴隨網站,裡面有練習題,並包含三個捕捉多個設計決策的範例應用程式。每章結尾的「程式碼探索」部分提供了對這些範例應用程式的指導。雖然使用 Java 語言來傳達與設計相關的概念,但本書的主要目標是探討適用於多種技術的概念和技術。
本書適合具有最低程式設計經驗的讀者,並希望從編寫小型程式和腳本轉向開發更大型系統。這一受眾自然包括大學計算機科學和軟體工程課程的學生。由於對特定計算概念的先決條件保持在最低限度,內容對於沒有計算背景的程式設計師也同樣可及。類似地,理解程式碼片段僅需對語言有最基本的掌握,例如在入門程式設計課程中所教授的內容。
作者簡介
Martin Robillard is a Professor of Computer Science at McGill University. He has been teaching software design with Java since 2005, and has over two decades of programming experience in Java. His current research focuses on problems related to software evolution, architecture and design, and software reuse. Martin served as the Program Co-Chair for the 20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2012) and the 39th ACM/IEEE International Conference on Software Engineering (ICSE 2017).
作者簡介(中文翻譯)
馬丁·羅比拉德是麥吉爾大學的計算機科學教授。他自2005年以來一直教授使用Java的軟體設計,並擁有超過二十年的Java程式設計經驗。他目前的研究重點是與軟體演化、架構與設計以及軟體重用相關的問題。馬丁曾擔任第20屆ACM SIGSOFT國際軟體工程基礎研討會(FSE 2012)和第39屆ACM/IEEE國際軟體工程會議(ICSE 2017)的程式共同主席。