Additional Information
Book Details
Abstract
In order to be able to write good software, students will need to be familiar with a range of techniques; good programming practice, experience of problem solving, familiarity with development methodologies, and knowledge of software processes. This book takes a new approach to the teaching of software development. Using a collection of case studies, it takes the student through the whole life cycle of building an application, starting at problem formulation, requirements analysis, system design, and the detail of the Java coding and testing. Each case study; -exploits object oriented concepts and techniques incrementally, with each case application getting more complex than the one before it-traces the path from problem statement through to implementation of the solution, giving guidance that is useful in subsequent case studies-gives a 'conceptual roadmap' where the student can follow the development of an application, and use those general principles in future software development-uses a different methodology, from a stand-alone application (computer simulator) to a distributed system (messaging server) through to a more complex system (workflow management system)
Table of Contents
Section Title | Page | Action | Price |
---|---|---|---|
Cover | Cover | ||
Software Development Case Studies in Java | iii | ||
Contents | vii | ||
Preface | xix | ||
Acknowledgements | xxi | ||
Reading guide | 1 | ||
Key concepts | 1 | ||
The process | 2 | ||
References | 6 | ||
PART I Objects and Classes | 7 | ||
Objects and classes | 9 | ||
Synthesis | 9 | ||
Development approach | 9 | ||
Basic building blocks | 10 | ||
Modelling notations | 11 | ||
Part overview | 11 | ||
References | 12 | ||
Scheduler | 13 | ||
Synthesis | 13 | ||
Specifications | 13 | ||
Problem analysis | 15 | ||
Architecture and planning | 20 | ||
Prototype 1: Decentralized scheduling | 20 | ||
Prototype 2: User interaction | 35 | ||
Extensions | 47 | ||
Assessment | 47 | ||
References | 50 | ||
Classifier | 51 | ||
Synthesis | 51 | ||
Specifications | 51 | ||
Problem analysis | 52 | ||
Architecture and planning | 56 | ||
Prototype 1: Classification | 56 | ||
Prototype 2: Criteria representation | 69 | ||
Prototype 3: Training | 73 | ||
Extensions | 81 | ||
Assessment | 81 | ||
References | 85 | ||
Hardware description language | 86 | ||
Synthesis | 86 | ||
Specifications | 86 | ||
Problem analysis | 88 | ||
Architecture and planning | 91 | ||
Prototype 1: Hard-wired program | 91 | ||
Prototype 2: Volatile programs | 103 | ||
Prototype 3: Persistent programs | 111 | ||
Extension | 117 | ||
Assessment | 118 | ||
Reference | 120 | ||
Multi-format calculator | 121 | ||
Synthesis | 121 | ||
Specifications | 121 | ||
Problem analysis | 122 | ||
Architecture and planning | 126 | ||
Prototype 1: Representation formats | 126 | ||
Prototype 2: Number bases | 145 | ||
Extension | 151 | ||
Assessment | 151 | ||
Reference | 154 | ||
PART II Object architectures | 155 | ||
Object architectures | 157 | ||
Synthesis | 157 | ||
Architectural styles | 157 | ||
Communication mechanisms | 158 | ||
Control flow models | 159 | ||
Part overview | 159 | ||
References | 160 | ||
Code documentation | 161 | ||
Synthesis | 161 | ||
Specifications | 161 | ||
Problem analysis | 162 | ||
Architecture and planning | 166 | ||
Prototype 1: Intermediate representation | 167 | ||
Prototype 2: Language front end | 178 | ||
Prototype 3: Graphical driver | 187 | ||
Extension | 193 | ||
Assessment | 193 | ||
References | 195 | ||
Manufacturing work cell | 196 | ||
Synthesis | 196 | ||
Specifications | 196 | ||
Problem analysis | 198 | ||
Architecture and planning | 205 | ||
Prototype 1: Event-based simulation | 206 | ||
Prototype 2: Work cell simulator | 215 | ||
Extension | 229 | ||
Assessment | 230 | ||
Reference | 232 | ||
Mobile robot exploration | 233 | ||
Synthesis | 233 | ||
Specifications | 233 | ||
Problem analysis | 239 | ||
Architecture and planning | 241 | ||
Prototype 1: Simulated environment | 242 | ||
Prototype 2: Dynamic behaviour | 252 | ||
Prototype 3: Map building | 267 | ||
Extension | 273 | ||
Assessment | 273 | ||
References | 276 | ||
Car parking | 277 | ||
Synthesis | 277 | ||
Specifications | 277 | ||
Problem analysis | 280 | ||
Architecture and planning | 282 | ||
Prototype 1: Event-based communication | 283 | ||
Prototype 2: Graphical animation | 289 | ||
Extension | 301 | ||
Assessment | 302 | ||
Reference | 304 | ||
PART III Distributed Architectures | 305 | ||
Distributed architectures | 307 | ||
Synthesis | 307 | ||
Reuse-based development | 307 | ||
Distributed architecture models | 308 | ||
Distributed computing paradigms | 309 | ||
Part overview | 311 | ||
References | 312 | ||
Supervisory control and data acquisition system | 313 | ||
Synthesis | 313 | ||
Specifications | 313 | ||
Problem analysis | 315 | ||
Architecture and planning | 318 | ||
Prototype 1: Work cell simulation | 319 | ||
Prototype 2: Tank controllers | 329 | ||
Prototype 3: The supervisory station | 340 | ||
Extension | 345 | ||
Assessment | 346 | ||
References | 347 | ||
Supermarket operation support system | 348 | ||
Synthesis | 348 | ||
Specifications | 348 | ||
Problem analysis | 349 | ||
Architecture and planning | 352 | ||
Prototype 1: Counter terminal | 353 | ||
Prototype 2: Centralized system | 361 | ||
Prototype 3: Distributed system | 372 | ||
Prototype 4: Data persistence | 382 | ||
Extension | 388 | ||
Assessment | 388 | ||
References | 390 | ||
Geographic information system | 391 | ||
Synthesis | 391 | ||
Specifications | 391 | ||
Problem analysis | 394 | ||
Architecture and planning | 396 | ||
Prototype 1: The graphical editor | 397 | ||
Prototype 2: The data linker | 407 | ||
Prototype 3: The web browser | 416 | ||
Extension | 425 | ||
Assessment | 425 | ||
Reference | 427 | ||
Ubiquitous email | 428 | ||
Synthesis | 428 | ||
Specifications | 428 | ||
Architecture and planning | 431 | ||
Prototype 1: Mail access | 433 | ||
Prototype 2: User profiles | 442 | ||
Prototype 3: WAP access | 453 | ||
Prototype 4: Mail notification | 458 | ||
Extension | 466 | ||
Assessment | 467 | ||
References | 468 | ||
PART IV Object Frameworks | 469 | ||
Object frameworks | 471 | ||
Synthesis | 471 | ||
Reuse-oriented development | 471 | ||
Framework scope | 473 | ||
Framework customization | 473 | ||
Part overview | 474 | ||
References | 475 | ||
Recoverable applications | 477 | ||
Synthesis | 477 | ||
Specifications | 477 | ||
Problem analysis | 478 | ||
Architecture and planning | 480 | ||
Prototype 1: Physical recording | 481 | ||
Prototype 2: Logical recording | 493 | ||
Extension | 499 | ||
Assessment | 500 | ||
References | 501 | ||
Multi-modal interaction framework | 502 | ||
Synthesis | 502 | ||
Specifications | 502 | ||
Problem analysis | 503 | ||
Architecture and planning | 508 | ||
Prototype 1: Synchronous communication | 509 | ||
Prototype 2: Asynchronous communication | 520 | ||
Prototype 3: Web communication | 526 | ||
Extension | 535 | ||
Assessment | 536 | ||
References | 537 | ||
Negotiation-based service configuration | 538 | ||
Synthesis | 538 | ||
Specifications | 538 | ||
Problem analysis | 539 | ||
Architecture and planning | 543 | ||
Prototype 1: Negotiation framework | 544 | ||
Prototype 2: Resource negotiation | 557 | ||
Prototype 3: Distributed negotiation | 568 | ||
Extension | 574 | ||
Assessment | 574 | ||
References | 575 | ||
Workflow management system | 576 | ||
Synthesis | 576 | ||
Specifications | 576 | ||
Problem analysis | 578 | ||
Architecture and planning | 581 | ||
Prototype 1: Process definition | 583 | ||
Prototype 2: Process enactment | 592 | ||
Prototype 3: User interface | 604 | ||
Prototype 4: Process data | 612 | ||
Extension | 619 | ||
Assessment | 620 | ||
References | 621 | ||
Index | 622 |