Configuration
Collapse menu
Fixed sidebar
Top navbar
Top navbar v.2
*Primary layout
Boxed layout
Fixed footer
Skins
Introduction to Software Design with Java

AUTHOR: Martin P. Robillard

PUBLISHER: Martin P. Robillard

PAGES: 297

ISBN-10: 3030240932; ISBN-13: 978-3030240936

From the Back Cover
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. The design concepts and techniques covered include effective use of types and interfaces, encapsulation, composition, inheritance, design patterns, 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. Although 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 without a primary training 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.

About the Author
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).

Book Category

Android Developer / Asp.Net / Asp.Net MVC / Blockchain / C# / C++ / Computer Science / Database / Game Developer / Java / JavaScript / jQuery / Linux / Maven / MS Sql / MySQL / Networking / Oracle / PHP / Python / Spring / VB.Net / Visual Studio / Web Developer

LATEST BLOG POST

HRIS: Payroll Process

The payroll process involves calculating and disbursing employee salaries, wages, and benefits on a regular basis. Stay updated with employment laws, tax regulations, and other relevant compliance requirements to ensure accurate payroll processing and avoid penalties or legal issues.

HRIS: Timekeeping Process

Implementing an effective timekeeping process helps ensure accurate payroll calculations, compliance with labor laws, and fair compensation for employees' work hours. It also provides valuable data for analyzing workforce productivity and resource allocation.

HRIS: Recruitment and Training

Recruitment and training should be ongoing processes to attract and retain top talent and ensure the team is equipped with the necessary skills and knowledge to meet organizational goals.

HRIS: Human Resources

Human resources (HR) is a crucial department within an organization that focuses on managing and developing the people who work for the company. The HR department is responsible for various functions related to employee recruitment, hiring, training, performance management, benefits administration, and employee relations.

Understanding the Basics of Payroll Processing

Payroll processing is the administrative task of calculating and distributing employee salaries and benefits. It involves several steps, including collecting and verifying employee time and attendance data, calculating wages and deductions, and generating paychecks or direct deposits.

DTR Timekeeping Tips: Do's and Don'ts

Employers must keep accurate records of non-exempt employees work hours to comply state and local laws. This straightforward process can become complex when employees start work early or leave late, travel for business, participate in company trainings, and use mobile devices to remain connected to work after-hours.

Employee Timekeeping: Tool to Improve Efficiency and Accuracy

Overall, implementing a reliable timekeeping tool can significantly improve efficiency and accuracy in employee time tracking. It streamlines processes, reduces errors, ensures compliance, and provides valuable data for decision-making.

Automate Loans Deduction using Payroll Setup

By following these steps, you can automate loan deductions using payroll setup, saving time and ensuring accuracy in loan repayments for your employees.

Transforming HR into Digital Through Technology

By embracing technology and digitizing HR processes, organizations can streamline operations, improve employee experience, and enable HR professionals to focus on strategic initiatives that drive business success.

Timekeeping and Attendance Setup

Specific setup and configuration of your timekeeping and attendance system will depend on the unique needs and requirements of your organization. It's important to adapt these steps to fit your specific circumstances and consult with HR professionals or software providers for guidance.