![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Software engineering
Software engineering is playing an increasingly significant role in computing and informatics, necessitated by the complexities inherent in large-scale software development. To deal with these difficulties, the conventional life-cycle approaches to software engineering are now giving way to the "process system" approach, encompassing development methods, infrastructure, organization, and management. Until now, however, no book fully addressed process-based software engineering or set forth a fundamental theory and framework of software engineering processes.
This book covers the whole spectrum of modeling goals to achieve optimal quality in the process model developed. It focuses on how to balance quality considerations across all semiotic levels when models are used for different purposes, and is based on SEQUAL, a framework for understanding the quality of models and modeling languages, which can take into account all main aspects relating to the quality of models. Chapter 1 focuses on the theoretical foundations, introducing readers to the topics of business processes and business process modeling, as well as the most important concept underlying the modeling of business processes. In turn, Chapter 2 addresses the quality of models in general and business process models in particular. Chapter 3 contains a specialization of SEQUAL for quality of business process models. In Chapter 4, examples of the practical uses of business process models are provided, together with the results of detailed case studies on how to achieve and maintain quality in business process models. Chapter 5 presents a process modeling value framework that demonstrates how to achieve more long-term and higher return on investment with regard to (business) process and enterprise models. Lastly, Chapter 6 reviews the main points of the book and discusses the potential for business process modeling in the future through its combination with other types of modeling. The book has two intended audiences. It is primarily intended for computer science, software engineering and information system students at the postgraduate level who want to know more about business process modeling and the quality of models in preparation for professional practice. The second audience consists of professionals with extensive experience in and responsibilities related to the development and evolution of process-oriented information systems and information systems methodologies in general, who need to formalize and structure their practical experience or update their knowledge as a way to improve their professional activity. The book also includes a number of real-world case studies that make it easier to grasp the main theoretical concepts, helping readers apply the approaches described.
NEW LANGUAGE VISUALIZES PROGRAM ABSTRACTIONS CLEARLY AND PRECISELY Popular software modelling notations visualize implementation minutiae but fail to scale, to capture design abstractions, and to deliver effective tool support. Tailored to overcome these limitations, Codecharts can elegantly model roadmaps and blueprints for Java, C++, and C# programs of any size clearly, precisely, and at any level of abstraction. More practically, significant productivity gains for programmers using tools supporting Codecharts have been demonstrated in controlled experiments. Hundreds of figures and examples in this book illustrate how Codecharts are used to: Visualize the building-blocks of object-oriented design Create bird's-eye roadmaps of large programs with minimal symbols and no clutter Model blueprints of patterns, frameworks, and other design decisions Be exactly sure what diagrams claim about programs and reason rigorously about them Tools supporting Codecharts are also shown here to: Recover design from plain Java and visualize the program's roadmap Verify conformance to design decision with a click of a button This classroom-tested book includes two main parts: Practice (Part I) offers experienced programmers, software designers and software engineering students practical tools for representing and communicating object-oriented design. It demonstrates how to model programs, patterns, libraries, and frameworks using examples from JDK, Java 3D, JUnit, JDOM, Enterprise JavaBeans, and the Composite, Iterator, Factory Method, Abstract Factory, and Proxy design patterns. Theory (Part II) offers a mathematical foundation for Codecharts to graduate students and researchers studying software design, modelling, specification, and verification. It defines a formal semantics and a "satisfies" relation for design verification, and uses them to reason about the relations between patterns and programs (e.g., "java.awt implements Composite" and "Factory Method is an abstraction of Iterator").
Part of a new four-volume series presenting best practices using UP to develop object-oriented, component-based software, this book examines the second UP phase--elaboration--focusing on defining, validating, and baselining the architecture for a system. Illustrations throughout.
MATLAB Blues is an accessible, comprehensive introduction to the MATLAB computer programming language-a powerful and increasingly popular tool for students and researchers. Rosenbaum identifies many of the common mistakes and pitfalls associated with using MATLAB, and shows users how they can learn from these mistakes to be better, happier programmers. Each chapter systematically addresses one of the basic principles of the programming language, like matrices, calculations, contingencies, plotting, input-output, and graphics, and then identifies areas that are problematic, as well as potential errors that can occur. This not only provides the reader with the fundamental "scales and chords" that a MATLAB programmer needs to know, but also with a series of examples and explanations of how to avoid and remedy common mistakes. Accompanied by an array of sample code that can be used and manipulated in conjunction with the textbook, this book is a practical, insightful introduction to MATLAB which provides motivation and encouragement to those with little or no background in programming as well as to those with more advanced concerns. It is an invaluable resource for researchers and students undertaking courses in research methods, statistics, and programming.
MATLAB Blues is an accessible, comprehensive introduction to the MATLAB computer programming language-a powerful and increasingly popular tool for students and researchers. Rosenbaum identifies many of the common mistakes and pitfalls associated with using MATLAB, and shows users how they can learn from these mistakes to be better, happier programmers. Each chapter systematically addresses one of the basic principles of the programming language, like matrices, calculations, contingencies, plotting, input-output, and graphics, and then identifies areas that are problematic, as well as potential errors that can occur. This not only provides the reader with the fundamental "scales and chords" that a MATLAB programmer needs to know, but also with a series of examples and explanations of how to avoid and remedy common mistakes. Accompanied by an array of sample code that can be used and manipulated in conjunction with the textbook, this book is a practical, insightful introduction to MATLAB which provides motivation and encouragement to those with little or no background in programming as well as to those with more advanced concerns. It is an invaluable resource for researchers and students undertaking courses in research methods, statistics, and programming.
The book presents a comprehensive discussion on software quality issues and software quality assurance (SQA) principles and practices, and lays special emphasis on implementing and managing SQA. Primarily designed to serve three audiences; universities and college students, vocational training participants, and software engineers and software development managers, the book may be applicable to all personnel engaged in a software projects Features: *A broad view of SQA. The book delves into SQA issues, going beyond the classic boundaries of custom-made software development to also cover in-house software development, subcontractors, and readymade software. *An up-to-date wide-range coverage of SQA and SQA related topics. Providing comprehensive coverage on multifarious SQA subjects, including topics, hardly explored till in SQA texts. *A systematic presentation of the SQA function and its tasks: establishing the SQA processes, planning, coordinating, follow-up, review and evaluation of SQA processes. *Focus on SQA implementation issues. Specialized chapter sections, examples, implementation tips, and topics for discussion. *Pedagogical support: Each chapter includes a real-life mini case study, examples, a summary, selected bibliography, review questions and topics for discussion. The book is also supported by an Instructor s Guide.
This work introduces the benefits of object-oriented programming and discusses how the technology can be used to improve productivity in building software systems in the manufacturing domain. It addresses a wide range of issues from languages, design principles, research examples through to industrial applications and management issues. In essence, the main objective of the book is to interpret and apply object-oriented concepts in the context of designing manufacturing systems applications. The main audience for this book consists of professionals, engineers and managers, who deal with manufacturing systems, as well as students and educators looking for new directions in building software systems to solve problems in this area. The book should also be of special interest to engineering and computer professionals who have heard the term "object-oriented" and want to learn more about it and its importance, especially in designing software for manufacturing systems. This book should be of interest to: software and manufacturing engineers in industry; software consultants; technical managers; graduate students and researchers in computer-integrated manufacturing.
The Systems Development Handbook provides practical guidance for the r ange of new applications problems, featuring contributions from many i ndustry experts. The book provides step-by-step charts, tables, schema tics, and a comprehensive index for easy access to topics and areas of related interest. Topics include cooperative processing; the transiti on to object-oriented development; rapid application development tools and graphical user interfaces (GUIs); database architecture in distri buted computing; development tools and techniques, including design, m easurement, and production; and more.
Focuses on the concept of open source prototyping and product development and designing sensor networks and covers IoT base applications This book will serves as a single source of introductory material and reference for programming smart computing and Internet of Things (IoT) devices using Arduino with the use of Python It covers number of comprehensive DIY experiments through which the reader can design various intelligent systems
Focuses on the concept of open source prototyping and product development and designing sensor networks and covers IoT base applications This book will serves as a single source of introductory material and reference for programming smart computing and Internet of Things (IoT) devices using Arduino with the use of Python It covers number of comprehensive DIY experiments through which the reader can design various intelligent systems
The second edition of C# and Game Programming offers the same practical, hands-on approach as the first edition to learning the C# language through classic arcade game applications. Complete source code for games like Battle Bit, Asteroid Miner, and Battle Tennis, included on the CD-ROM, demonstrates programming strategies and complements the comprehensive treatment of C# in the text. From the basics of adding graphics and sound to games, to advanced concepts such as the .Net framework and object-oriented programming, this book provides the foundations for a beginner to become a full-fledged programmer. New in this edition: - Supports DirectX 9.0 - Revised programs and examples - Improved frame rate for game examples
Client-Centered Software Development: The CO-FOSS Approach introduces a method to creating a customized software product for a single client, either from scratch or by reusing open source components. The clients are typically non-profit humanitarian, educational, or public service organizations. This approach has been used in undergraduate courses where students learn the principles of software development while implementing a real-world software product. This book provides instructors, students, clients, and professional software developers with detailed guidance for developing a new CO-FOSS product from conceptualization to completion. Features Provides instructors, students, clients, and professional software developers with a roadmap for the development of a new CO-FOSS product from conceptualization to completion Motivates students with real-world projects and community service experiences Teaches all elements of the software process, including requirements gathering, design, collaboration, coding, testing, client communication, refactoring, and writing developer and user documentation Uses source code that can be reused and refitted to suit the needs of future projects, since each CO-FOSS product is free and open source software Provides links to a rich variety of resources for instructors and students to freely use in their own courses that develop new CO-FOSS products for other non-profits.
Knowledge-Based Intelligent Techniques in Character Recognition presents research results on intelligent character recognition techniques, reflecting the tremendous worldwide interest in the applications of knowledge-based techniques in this challenging field.
If you want to push your Java skills to the next level, this book provides expert advice from Java leaders and practitioners. You'll be encouraged to look at problems in new ways, take broader responsibility for your work, stretch yourself by learning new techniques, and become as good at the entire craft of development as you possibly can Edited by Kevlin Henney and Trisha Gee, 97 Things Every Java Programmer Should Know reflects lifetimes of experience writing Java software and living with the process of software development. Great programmers share their collected wisdom to help you rethink Java practices, whether working with legacy code or incorporating changes since Java 8 A few of the 97 things you should know: "Behavior Is Easy, State Is Hard"-Edson Yanaga "Learn Java Idioms and Cache in Your Brain"-Jeanne Boyarsky "Java Programming from a JVM Performance Perspective"-Monica Beckwith "Garbage Collection Is Your Friend"-Holly K Cummins "Java's Unspeakable Types"-Ben Evans "The Rebirth of Java"-Sander Mak "Do You Know What Time It Is?"-Christin Gorman
Embedded systems have long become essential in application areas in which human control is impossible or infeasible. The development of modern embedded systems is becoming increasingly difficult and challenging because of their overall system complexity, their tighter and cross-functional integration, the increasing requirements concerning safety and real-time behavior, and the need to reduce development and operation costs. This book provides a comprehensive overview of the Software Platform Embedded Systems (SPES) modeling framework and demonstrates its applicability in embedded system development in various industry domains such as automation, automotive, avionics, energy, and healthcare. In SPES 2020, twenty-one partners from academia and industry have joined forces in order to develop and evaluate in different industrial domains a modeling framework that reflects the current state of the art in embedded systems engineering. The content of this book is structured in four parts. Part I "Starting Point" discusses the status quo of embedded systems development and model-based engineering, and summarizes the key requirements faced when developing embedded systems in different application domains. Part II "The SPES Modeling Framework" describes the SPES modeling framework. Part III "Application and Evaluation of the SPES Modeling Framework" reports on the validation steps taken to ensure that the framework met the requirements discussed in Part I. Finally, Part IV "Impact of the SPES Modeling Framework" summarizes the results achieved and provides an outlook on future work. The book is mainly aimed at professionals and practitioners who deal with the development of embedded systems on a daily basis. Researchers in academia and industry may use it as a compendium for the requirements and state-of-the-art solution concepts for embedded systems development.
Managers, business owners, computer-literate individuals and software developers alike are all seeking an understanding of artificial intelligence (AI) and wondering what its uses might be. In this discussion, the author explains what artificial intelligence can do and cannot do, and what benefits it holds for applications such as banking financial services, and expert systems of all kinds. Topics include: the strengths and weaknesses of software development and engineering; the promises and problems of machine learning; expert systems and success stories; practical software through artificial intelligence; artificial intelligence and conventional software engineering problems; software engineering methodology; new paradigms for system engineering; what the future holds.
This monograph discusses software reuse and how it can be applied at different stages of the software development process, on different types of data and at different levels of granularity. Several challenging hypotheses are analyzed and confronted using novel data-driven methodologies, in order to solve problems in requirements elicitation and specification extraction, software design and implementation, as well as software quality assurance. The book is accompanied by a number of tools, libraries and working prototypes in order to practically illustrate how the phases of the software engineering life cycle can benefit from unlocking the potential of data. Software engineering researchers, experts, and practitioners can benefit from the various methodologies presented and can better understand how knowledge extracted from software data residing in various repositories can be combined and used to enable effective decision making and save considerable time and effort through software reuse. Mining Software Engineering Data for Software Reuse can also prove handy for graduate-level students in software engineering.
The three-volume set IFIP AICT 368-370 constitutes the refereed post-conference proceedings of the 5th IFIP TC 5, SIG 5.1 International Conference on Computer and Computing Technologies in Agriculture, CCTA 2011, held in Beijing, China, in October 2011. The 189 revised papers presented were carefully selected from numerous submissions. They cover a wide range of interesting theories and applications of information technology in agriculture, including simulation models and decision-support systems for agricultural production, agricultural product quality testing, traceability and e-commerce technology, the application of information and communication technology in agriculture, and universal information service technology and service systems development in rural areas. The 62 papers included in the first volume focus on decision support systems, intelligent systems, and artificial intelligence applications.
This book presents the latest research on the software crowdsourcing approach to develop large and complex software in a cloud-based platform. It develops the fundamental principles, management organization and processes, and a cloud-based infrastructure to support this new software development approach. The book examines a variety of issues in software crowdsourcing processes, including software quality, costs, diversity of solutions, and the competitive nature of crowdsourcing processes. Furthermore, the book outlines a research roadmap of this emerging field, including all the key technology and management issues for the foreseeable future. Crowdsourcing, as demonstrated by Wikipedia and Facebook for online web applications, has shown promising results for a variety of applications, including healthcare, business, gold mining exploration, education, and software development. Software crowdsourcing is emerging as a promising solution to designing, developing and maintaining software. Preliminary software crowdsourcing practices and platforms, including Apple's App Store and TopCoder, demonstrate the advantages of crowdsourcing in terms of software ecosystem expansion and product quality improvement.
Systems Engineering Guidebook: A Process for Developing Systems and Products is intended to provide readers with a guide to understanding and becoming familiar with the systems engineering process, its application, and its value to the successful implementation of systems development projects. The book describes the systems engineering process as a multidisciplinary effort. The process is defined in terms of specific tasks to be accomplished, with great emphasis placed on defining the problem that is being addressed prior to designing the solution.
This innovative book recognizes the need within the object-oriented community for a book that goes beyond the tools and techniques of the typical methodology book. In Analysis Patterns: Reusable Object Models, Martin Fowler focuses on the end result of object-oriented analysis and design-the models themselves. He shares with you his wealth of object modeling experience and his keen eye for identifying repeating problems and transforming them into reusable models. Analysis Patterns provides a catalogue of patterns that have emerged in a wide range of domains including trading, measurement, accounting and organizational relationships. Recognizing that conceptual patterns cannot exist in isolation, the author also presents a series of "support patterns" that discuss how to turn conceptual models into software that in turn fits into an architecture for a large information system. Included in each pattern is the reasoning behind their design, rules for when they should and should not be used, and tips for implementation. The examples presented in this book comprise a cookbook of useful models and insight into the skill of reuse that will improve analysis, modeling and implementation.
Developing a large-scale software system in C++ requires more than just a sound understanding of the logical design issues covered in most books on C++ programming. To be successful, you will also need a grasp of physical design concepts that, while closely tied to the technical aspects of development, include a dimension with which even expert software developers may have little or no experience. This is the definitive book for all C++ software professionals involved in large development efforts such as databases, operating systems, compilers, and frameworks. It is the first C++ book that actually demonstrates how to design large systems, and one of the few books on object-oriented design specifically geared to practical aspects of the C++ programming language. In this book, Lakos explains the process of decomposing large
systems into physical (not inheritance) hierarchies of smaller,
more manageable components. Such systems with their acyclic
physical dependencies are fundamentally easier and more economical
to maintain, test, and reuse than tightly interdependent systems.
In addition to explaining the motivation for following good
physical as well as logical design practices, Lakos provides you
with a catalog of specific techniques designed to eliminate cyclic,
compile-time, and link-time (physical) dependencies. He then
extends these concepts from large to very large systems. The book
concludes with a comprehensive top-down approach to the logical
design of individual components. Appendices include a valuable
design pattern "Protocol Hierarchy" designed to avoid fat
interfaces while minimizing physical dependencies; the details of
implementing an ANSI C compatible C++procedural interface; and a
complete specification for a suite of UNIX-like tools to extract
and analyze physical dependencies. Practical design rules,
guidelines, and principles are also collected in an appendix and
indexed for quick reference.
Developed from the author's many years of teaching computing courses, Programming in C plus plus for Engineering and Science guides students in designing programs to solve real problems encountered in engineering and scientific applications. These problems include radioactive decay, pollution indexes, digital circuits, differential equations, Internet addresses, data analysis, simulation, quality control, electrical networks, data encryption, beam deflection, and many other areas. To make it easier for novices to develop programs, the author uses an object-centered design approach that helps students identify the objects in a problem and the operations needed; develop an algorithm for processing; implement the objects, operations, and algorithm in a program; and test, correct, and revise the program. He also revisits topics in greater detail as the text progresses. By the end of the book, students will have a solid understanding of how C plus plus can be used to process complex objects, including how classes can be built to model objects. Web ResourceThe book's website at http://cs.calvin.edu/books/c plus plus/engr-sci provides source code, expanded presentations, links to relevant sites, reference materials, lab exercises, and projects. For instructors, solutions to exercises and PowerPoint slides for classroom use are available upon qualifying course adoption.
Software developers face an ever-changing and ever-expanding technology landscape, which can appear as intimidating as Mt. Everest to newcomers. Developing technical skills is vital, but there are dozens of soft skills and learning techniques you need if you're to grow and succeed professionally. Honing those soft skills is a big part of what "Apprenticeship Patterns" is all about. Authors Dave Hoover and Adewale Oshineye, both formerly of the global IT consultancy ThoughtWorks, have cataloged dozens of patterns of behavior to help software developers hone their craft. Developed through years of research, a multitude of interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations faced by entry-level programmers, system administrators, and database administrators. Each pattern has a memorable name to help point you in the right direction when you need it most. Examples of common obstacles and their solutions include: burned out at work? - learn how to 'Nurture Your Passion' by finding a pet project to help you rediscover the joy of problem solving; feeling overwhelmed by too much new information? - take a step back from your learning to re-explore some familiar territory by building something you've built before, then use 'Retreat Into Competence' to launch yourself forward again ; and, feeling stuck in your learning? - seek out a team of experienced and talented developers where you can 'Be the Worst' for a while Like any patterns book, you can read this one front-to-back, jump to specific patterns when you encounter the issues they address, or cherry pick just the ones that are new to you. The purpose of the solutions is to inspire you to stay on the path you intend, rather than wander off into management because it seems like the only option for advancement. "Apprenticeship Patterns" approaches software development not as a means to financial success, but as a means to personal fulfillment. It's your life and your career. Discover how this book can help you make the best of both. |
You may like...
Principles of Big Graph: In-depth…
Ripon Patgiri, Ganesh Chandra Deka, …
Hardcover
R3,925
Discovery Miles 39 250
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,630
Discovery Miles 126 300
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Edsger Wybe Dijkstra - His Life, Work…
Krzysztof R. Apt, Tony Hoare
Hardcover
R2,920
Discovery Miles 29 200
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,266
Discovery Miles 12 660
Clean Architecture - A Craftsman's Guide…
Robert Martin
Paperback
(1)
|