Project-Based Software Engineering is the first book to provide hands-on process and practice in software engineering essentials for the beginner. The book presents steps through the software development life cycle and two running case studies that develop as the steps are presented. Running parallel to the process presentation and case studies, the book supports a semester-long software development project. This book focuses on object-oriented software development, and supports the conceptualization, analysis, design and implementation of an object-oriented project. It is mostly language-independent, with necessary code examples in Java. A subset of UML is used, with the notation explained as needed to support the readers' work. Two running case studies a video game and a library check out system show the development of a software project. Both have sample deliverables and thus provide the reader with examples of the type of work readers are to create. This book is appropriate for readers looking to gain experience in project analysis, design implementation, and testing.
Project-Based Software Engineering is the first textbook to provide hands-on process and practice in software engineering essentials for the beginner, enabling students without experience to gain real-world practice and see first-hand the benefits of utilizing software engineering techniques. The book presents steps through the software development life cycle, which are then realized via two running case studies that follow through the conceptualization, analysis, design, and implementation stages of the process. These case studies, which show the deliverables for each stage, can be worked through by a small software development team. A full software development project is also included so students can apply their understanding of and experience with the various phases of the process.
Project-Based Software Engineering focuses on object-oriented software development, and is structured for this paradigm. It takes a mostly language-independent approach (necessary code examples are in Java) and uses a subset of the Unified Modeling Language (UML) to model the software, explaining the notation as needed to support the students' work. This book is written for students and professionals alike whose goal is to gain hands-on experience in software project analysis, design, implementation, and testing.