AntiPatterns: refactoring software, architectures, and projects in crisis

21 ноября 2010
If patterns are good ideas that can be re-applied to new situations, AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis looks at what goes wrong in software development, time and time again.Показать полностьюIf patterns are good ideas that can be re-applied to new situations, AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis looks at what goes wrong in software development, time and time again. This entertaining and often enlightening text defines what seasoned developers have long suspected: despite advances in software engineering, most software projects still fail to meet expectations — and about a third are cancelled altogether. The authors of AntiPatterns draw on extensive industry experience, their own and others, to help define what’s wrong with software development today. They outline reasons why problem patterns develop (such as sloth, avarice, and greed) and proceed to outline several dozen patterns that can give you headaches or worse. Their deadliest hit list begins with the Blob, where one object does most of the work in a project, and Continuous Obsolescence, where technology changes so quickly that developers can't keep up. Some of the more entertaining antipatterns include the Poltergeist (where do-nothing classes add unnecessary overhead), the Boat Anchor (a white elephant piece of hardware or software bought at great cost) and the Golden Hammer (a single technology that is used for every conceivable programming problem). The authors then proceed to define antipatterns oriented toward management problems with software (including Death by Planning and Project Mismanagement, along with several miniature antipatterns, that help define why so many software projects are late and overbudget). The authors use several big vendors' technologies as examples of today’s antipatterns. Luckily, they suggest ways to overcome antipatterns and improve software productivity in “refactored solutions” that can overcome some of these obstacles. However, this is a realistic book, a mix of “Dilbert” and software engineering. A clever antidote to getting too optimistic about software development, AntiPatterns should be required reading for any manager facing a large-scale development project.
автор новостиroot разделВычислительная техника Просмотров: 124 Коментариев: 0

Writing Effective Use Cases

21 ноября 2010
Alistair Cockburn’s Writing Effective Use Cases is an approachable, informative, and very intelligent treatment of an essential topic of software design.Показать полностьюAlistair Cockburn’s Writing Effective Use Cases is an approachable, informative, and very intelligent treatment of an essential topic of software design. “Use cases” describe how “actors” interact with computer systems and are essential to software-modeling requirements. For anyone who designs software, this title offers some real insight into writing use cases that are clear and correct and lead to better and less costly software. The focus of this text is on use cases that are written, as opposed to modeled in UML. This book may change your mind about the advantages of writing step-by-step descriptions of the way users (or actors) interact with systems. Besides being an exceptionally clear writer, the author has plenty to say about what works and what doesn't when it comes to creating use cases. There are several standout bits of expertise on display here, including excellent techniques for finding the right “scope” for use cases. (The book uses a color scheme in which blue indicates a sea-level use case that’s just right, while higher-level use cases are white, and overly detailed ones are indigo. Cockburn also provides notational symbols to document these levels of detail within a design.) This book contains numerous tips on the writing style for use cases and plenty of practical advice for managing projects that require a large number of use cases. One particular strength lies in the numerous actual use cases (many with impressive detail) that are borrowed from real-world projects, and demonstrate both good and bad practices. Even though the author expresses a preference for the format of use cases, he presents a variety of styles, including UML graphical versions. The explanation of how use cases fit into the rest of the software engineering process is especially good. The book concludes with several dozen concrete tips for writing better use cases. Software engineering books often get bogged down in theory. Not so in Writing Effective Use Cases, a slender volume with a practical focus, a concise presentation style, and something truly valuable to say. This book will benefit most anyone who designs software for a living.
автор новостиroot разделВычислительная техника Просмотров: 121 Коментариев: 0

Architecting Enterprise Solutions: Patterns for High-Capability Internet-based Systems

21 ноября 2010
Based on real world problems and systems, this book takes a practical approach to architectural solutions, giving step-by-step advice on how to design high performance, controllable and flexible systems.
автор новостиroot разделВычислительная техника Просмотров: 169 Коментариев: 0

Refactoring: Improving the Design of Existing Code

21 ноября 2010
As the application of object technology — particularly the Java programming language — has become commonplace, a new problem has emerged to confront the software development community.Показать полностьюAs the application of object technology — particularly the Java programming language — has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, "non-optimal" applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as "refactoring," these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use. . .until now. In Refactoring: Improving the Design of Existing Code, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process. With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple — seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. While these individual steps may seem elementary, the cumulative effect of such small changes can radically improve the design. Refactoring is a proven way to prevent software decay. In addition to discussing the various techniques of refactoring, the author provides a detailed catalog of more than seventy proven refactorings with helpful pointers that teach you when to apply them; step-by-step instructions for applying each refactoring; and an example illustrating how the refactoring works. The illustrative examples are written in Java, but the ideas are applicable to any object-oriented programming language.
автор новостиroot разделВычислительная техника Просмотров: 116 Коментариев: 0

PMP Practice Questions Exam Cram 2

21 ноября 2010
The PMP Practice Questions Exam Cram 2 offers you a solid opportunity to drill and practice for the highly critical professional exam. The book features 500 questions based on the 9 Project Management Processes described in the PMI PMBOK and in our PMP Exam Cram 2.Показать полностьюThe PMP Practice Questions Exam Cram 2 offers you a solid opportunity to drill and practice for the highly critical professional exam. The book features 500 questions based on the 9 Project Management Processes described in the PMI PMBOK and in our PMP Exam Cram 2. All questions found in the book will also be on the accompanying CD in a test engine powered by MeasureUp. The questions will have full explanations of correct and incorrect answers so you can use this manual to review and brush-up on weak areas. It features relevant Exam Notes to help you score better on the test, plus the ever popular “Cram Sheet” tear card, to use for last-minute cramming. Join the ranks of readers that have chosen Exam Cram 2 as part of their preparation for their certification exams!
автор новостиroot разделВычислительная техника Просмотров: 147 Коментариев: 0

Design Patterns CD. Elements of reusable object-oriented software

21 ноября 2010
Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design.Показать полностьюDesign Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design. It describes patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects. The book provides numerous examples where using composition rather than inheritance can improve the reusability and flexibility of code. Note, though, that it’s not a tutorial but a catalog that you can use to find an object-oriented design pattern that’s appropriate for the needs of your particular application — a selection for virtuoso programmers who appreciate (or require) consistent, well-engineered object-oriented designs.
автор новостиroot разделВычислительная техника Просмотров: 117 Коментариев: 0

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

21 ноября 2010
The architects of the Software Factories method provide a detailed look at this faster, less expensive, and more reliable approach to application development.Показать полностьюThe architects of the Software Factories method provide a detailed look at this faster, less expensive, and more reliable approach to application development. Software Factories significantly increase the level of automation in application development at medium to large companies, applying the time tested pattern of using visual languages to enable rapid assembly and configuration of framework based components.Unlike other approaches to Model Driven Development (MDD), such as Model Driven Architecture (MDA) from the Object Management Group (OMG), Software Factories do not use the Unified Modeling Language (UML), a general purpose modeling language designed for models used as documentation. They go beyond models as documentation, using models based on highly tuned Domain Specific Languages (DSLs) and the Extensible Markup Language (XML) as source artifacts, to capture life cycle metadata, and to support high fidelity model transformation, code generation and other forms of automation.
автор новостиroot разделВычислительная техника Просмотров: 118 Коментариев: 0

Object-Oriented Software Engineering: A Use Case Driven Approach

21 ноября 2010
How can software developers, programmers and managers meet the challenges of the 90s and begin to resolve the software crisis? This book is based on Objectory which is the first commercially available comprehensive object-oriented process for developing large-scale industrial systems.Показать полностьюHow can software developers, programmers and managers meet the challenges of the 90s and begin to resolve the software crisis? This book is based on Objectory which is the first commercially available comprehensive object-oriented process for developing large-scale industrial systems. Ivar Jacobson developed Objectory as a result of 20 years of experience building real software-based products. The approach takes a global view of system development and focuses on minimizing the systems life cycle cost. Objectory is an extensible industrial process that provides a method for building large industrial systems. This revised printing has been completely updated to make it as accessible and complete as possible. New material includes the revised Testing chapter, in which new product developments are discussed.
автор новостиroot разделВычислительная техника Просмотров: 114 Коментариев: 0

Aspect-oriented software development with use cases

21 ноября 2010
Aspect-oriented programming (AOP) is a revolutionary new way to think about software engineering. AOP was introduced to address crosscutting concerns such as security, logging, persistence, debugging, tracing, distribution, performance monitoring, and exception handling in a more effective manner.Показать полностьюAspect-oriented programming (AOP) is a revolutionary new way to think about software engineering. AOP was introduced to address crosscutting concerns such as security, logging, persistence, debugging, tracing, distribution, performance monitoring, and exception handling in a more effective manner. Unlike conventional development techniques, which scatter the implementation of each concern into multiple classes, aspect-oriented programming localizes them. Aspect-oriented software development (AOSD) uses this approach to create a better modularity for functional and nonfunctional requirements, platform specifics, and more, allowing you to build more understandable systems that are easier to configure and extend to meet the evolving needs of stakeholders. In this highly anticipated new book, Ivar Jacobson and Pan-Wei Ng demonstrate how to apply use casesa mature and systematic approach to focusing on stakeholder concernsand aspect-orientation in building robust and extensible systems. Throughout the book, the authors employ a single, real-world example of a hotel management information system to make the described theories and practices concrete and understandable. The authors show how to identify, design, implement, test, and refactor use-case modules, as well as extend them. They also demonstrate how to design use-case modules with the Unified Modeling Language (UML)emphasizing enhancements made in UML 2.0and how to achieve use-case modularity using aspect technologies, notably AspectJ.
автор новостиroot разделВычислительная техника Просмотров: 109 Коментариев: 0

Awaken Your Interior Designer

21 ноября 2010
Awaken Your Interior Designer uses style information as a reference tool to help you make great decorating decisions. It also offers techniques showing how styles can be mixed together effectively.Показать полностьюAwaken Your Interior Designer uses style information as a reference tool to help you make great decorating decisions. It also offers techniques showing how styles can be mixed together effectively. In Awaken Your Interior Designer, you’ll find extended information for these and hundreds of your other decorating questions. The answers here have been condensed, but EVERYTHING is covered further in the book.
автор новостиroot разделВычислительная техника Просмотров: 109 Коментариев: 0

EJB Design Patterns. Advanced Pattern, Processes and Idioms

21 ноября 2010
Highly recommended for all but beginners.
автор новостиroot разделВычислительная техника Просмотров: 99 Коментариев: 0

Moodle E-Learning Course Development

21 ноября 2010
A complete guide to successful learning using Moodle — Straight-forward coverage of installing and using the Moodle system — Working with Moodle features in all learning environments — A unique course-based approach focuses your attention on designing well structured, interactive, and successful courses A complete guide to successful learning using Moodle, focused on course development and delivery and using the best educational practices.Показать полностьюA complete guide to successful learning using Moodle — Straight-forward coverage of installing and using the Moodle system — Working with Moodle features in all learning environments — A unique course-based approach focuses your attention on designing well structured, interactive, and successful courses A complete guide to successful learning using Moodle, focused on course development and delivery and using the best educational practices. Moodle is relatively easy to install and use, but the real challenge is to develop a learning process that leverages its power and maps effectively onto the content established learning situation. This book guides you through meeting that challenge. This unique book gives you more than just a guide to the Moodle software; it uses Moodle as a route to better teaching, more motivated students, and more successful courses. Moodle is the leading Open Source learning management system. Using Moodle, teachers can easily construct richly textured web based courses. A course can consist of a number of lessons, with each lesson including reading materials; activities such as quizzes, tests, surveys, and projects; and social elements that encourage interaction and group work between students.Moodle E-Learning Course Development shows you how to use Moodle as a tool to enhance your teaching. It will help you analyse your students' requirements, and come to an understanding of what Moodle can do for them. After that you'll see how to use every feature of Moodle to meet your course goals. The social constructionist learning philosophy is at the heart of Moodle: we all “construct” knowledge through interation with one another and with learning materials in a social way. Moodle E-Learning Course Develelopment will show you how to add static learning material, interactive activities, and social features to your courses so that students reach their learning potential. Whether you want to support traditional class teaching or lecturing, or provide complete online and distance learning courses, this book will prove a powerful resource throughout your use of Moodle. - Understand what Moodle can do, how it compares to other e-learning packages, and how it can support your teaching strategies — Install the Moodle software on your own computer or a server, and understand your way around it — Know how to create different kinds of courses. Moodle can support courses where the group works through the classes with a shared schedule, or where individual students work through at their own pace, or courses where students are free to explore the different topics in their own time. This book will show you how. - Understand all of Moodle’s learning features. Moodle provides features for managing course content, interactive resources, and social activities such as forums and wikis. This book explains what each of these features are, how they work, and most importantly how and when to use them effectively. - Manage students — so that you can ensure that the right students are going to the right classes; allow students to enrol themselves, or invite students to join a course. You can even set up commercial courses where students pay to sign William Rice is an experienced trainer and expert on learning and teaching practices. This experience and expertise forms the foundation of his approach: What do we want to teach? How would this best translate into a course? How best can Moodle support these course objectives?Of course, the book contains everything you'd expect from an introduction to Moodle: clear step-by-step instructions, plenty of screenshots, explanations and guides through the many features and options that you have to choose from. Throughout the book, William develops an example course. He uses this example to explore the sort of decisions, design considerations, and thought that goes into developing a successful course. This book is written for everyone who wants to get the most from Moodle. Beginners to the software will get a thorough guide to how the software works, and some great ideas for getting to a good start with their first course. More experienced Moodlers will find powerful insights into developing more successful and educational courses.
автор новостиroot разделВычислительная техника Просмотров: 109 Коментариев: 0

Designing for Interaction: Creating Smart Applications and Clever Devices

21 ноября 2010
Explore the new design discipline that is behind such products as the iPod and innovative Web sites like Flicer. While other books on this subject are either aimed at more seasoned practitioners or else are too focused on a particular medium like software, this guide will take a more holistic approach to the discipline, looking at interaction design for the Web, software, and devices.Показать полностьюExplore the new design discipline that is behind such products as the iPod and innovative Web sites like Flicer. While other books on this subject are either aimed at more seasoned practitioners or else are too focused on a particular medium like software, this guide will take a more holistic approach to the discipline, looking at interaction design for the Web, software, and devices. It is the only interaction design book that is coming from a designers point of view rather than that of an engineer. This much-needed guide is more than just a how-to manual. It covers interaction design fundamentals, approaches to designing, design research, and more, and spans all mediums—Internet, software, and devices. Even robots! Filled with tips, real-world projects, and interviews, you’ll get a solid grounding in everything you need to successfully tackle interaction design.
автор новостиroot разделВычислительная техника Просмотров: 97 Коментариев: 0

Применение шаблонов проектирования

21 ноября 2010
Данная книга предназначена для разработчиков программного обеспечения, использующих в своей работе шаблоны проектирования. Шаблоны по праву считаются сегодня одной из наиболее популярных концепций объектно-ориентированного программирования.Показать полностьюДанная книга предназначена для разработчиков программного обеспечения, использующих в своей работе шаблоны проектирования. Шаблоны по праву считаются сегодня одной из наиболее популярных концепций объектно-ориентированного программирования. В этой книге на многочисленных примерах рассматриваются важные аспекты применения шаблонов проектирования, которые не были должным образом освещены в знаменитой книге «Design Patterns» (Джон Влиссидес является одним из ее соавторов). Здесь представлены вариации уже известных шаблонов, а также новые шаблоны. Кроме того автор изложил свое понимание процесса разработки шаблонов и предложил ряд рекомендаций начинающим разработчикам. Книга предназначена для специалистов и предполагает определенный уровень знакомства с шаблонами проектирования и языком C++.
автор новостиroot разделВычислительная техника Просмотров: 119 Коментариев: 0

Приемы объектно-ориентированного проектирования. Паттерны проектирования

21 ноября 2010
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ.Показать полностьюВ предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения. Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
автор новостиroot разделВычислительная техника Просмотров: 112 Коментариев: 0

Проектирование и расчёт структурированных кабельных систем и их компонентов

21 ноября 2010
B книге даются общие сведения о структуре и допустимых длинах кабельных линий различных подсистем СКС при основных вариантах ее реализации. Рассмотрены требования по габаритам, оборудованию и условиям окружающей среды к техническим помещениям, а также к кабельным трассам горизонтальной и магистральной подсистем СКС, предлагаются варианты их конструктивного исполнения на архитектурной фазе проектирования. Представлены схемы расчета количеств и выбора параметров отдельных компонентов горизонтальной и магистральной подсистем СКС на телекоммуникационной фазе выполнения проектных работ. Обоснованы принципы задания характеристик монтажного оборудования различного назначения и методика расчета его габаритов и количества. Дополнительно затронуты вопросы оформления проектной документации, обеспечения пожарной безопасности и построения кабельной проводки для защищенных сетей. Приведен пример проектирования с использованием разработанной методики.
автор новостиroot разделВычислительная техника Просмотров: 116 Коментариев: 0

Learning UML

21 ноября 2010
Learning UML introduces the Unified Modeling Language and leads you through an orderly progress towards mastery of the language. Throughout this book, author Sinan Si Alhir maintains a clear focus on UML the language and avoids getting caught up in the cobwebs of methodology.Показать полностьюLearning UML introduces the Unified Modeling Language and leads you through an orderly progress towards mastery of the language. Throughout this book, author Sinan Si Alhir maintains a clear focus on UML the language and avoids getting caught up in the cobwebs of methodology. His presentation is direct and to-the point. Each chapter ends with a set of exercises that you can use to test your growing knowledge of UML and its concepts.
автор новостиroot разделВычислительная техника Просмотров: 108 Коментариев: 0

The Unified Modeling Language User Guide

21 ноября 2010
In The Unified Modeling Language User Guide, the original developers of the UML — Grady Booch, James Rumbaugh, and Ivar Jacobson — provide a tutorial to the core aspects of the language in a two-color format designed to facilitate learning.Показать полностьюIn The Unified Modeling Language User Guide, the original developers of the UML — Grady Booch, James Rumbaugh, and Ivar Jacobson — provide a tutorial to the core aspects of the language in a two-color format designed to facilitate learning. Starting with a conceptual model of the UML, the book progressively applies the UML to a series of increasingly complex modeling problems across a variety of application domains. This example-driven approach helps readers quickly understand and apply the UML. For more advanced developers, the book includes a learning track focused on applying the UML to advanced modeling problems.
автор новостиroot разделВычислительная техника Просмотров: 125 Коментариев: 0

UML 2 for Dummies

21 ноября 2010
This plain English guide on building complex architectures with UML 2 shows how to adjust to the UML 2 standard, extract key information from UML models, object modeling, case modeling and more.
автор новостиroot разделВычислительная техника Просмотров: 108 Коментариев: 0

Building Web Applications With UML

21 ноября 2010
way to design and diagram any software development project. Building Web Applications with UML covers the Web Application Extension (WAE) for UML and includes enough background information about Web applications to ease traditional software analysts and designers into the world of the Web. Author Jim Conallen divides the text into two logical parts: the first is dedicated to explaining the various Web application architectures out there, the second to the process of modeling such systems with UML.Показать полностьюway to design and diagram any software development project. Building Web Applications with UML covers the Web Application Extension (WAE) for UML and includes enough background information about Web applications to ease traditional software analysts and designers into the world of the Web. Author Jim Conallen divides the text into two logical parts: the first is dedicated to explaining the various Web application architectures out there, the second to the process of modeling such systems with UML. The first chapter concisely explains the basics of the standard elements of the Web such as HTML, HTTP, forms, frames, and session management. Subsequent chapters provide an excellent overview to server-side and client-side functionality, delving into key technologies such as Active Server Pages (ASP), Java applets, and XML.
автор новостиroot разделВычислительная техника Просмотров: 124 Коментариев: 0
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 ]