![]() |
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
This volume presents a programming model, similar to object-oriented programming, that imposes a strict discipline on the form of the constituent objects and interactions among them. Concurrency considerations have been eliminated from the model itself and are introduced only during implementation, thereby freeing programmers from dealing with concurrency explicitly. Moreover, the resulting software designs are typically more modular and easier to analyze than the more traditional ones. Numerous examples illustrate various aspects of the model and reveal that a few simple, integrated features are adequate for designing complex applications. Topics and features: * Presents a simple, easy-to-understand multiprogramming model * Provides extensive development of the underlying theory * Emphasizes program composition, thereby making possible programming of large systems through modular designs * Eliminates explicit concurrency considerations during program design * Supplies efficient implementation schemes for distributed platforms. This book addresses the problem of developing complex distributed applications on wide-area networks, such as the Internet and World Wide Web, by using effective program design principles. Computer scientists, computer engineers, and software engineers will find the book an authoritative guide to large-scale multiprogramming.
As interactive systems are quickly becoming integral to our everyday lives, this book investigates how we can make these systems, from desktop and mobile apps to more wearable and immersive applications, more usable and maintainable by using HCI design patterns. It also examines how we can facilitate the reuse of design practices in the development lifecycle of multi-devices, multi-platforms and multi-contexts user interfaces. Effective design tools are provided for combining HCI design patterns and User Interface (UI) driven engineering to enhance design whilst differentiating between UI and the underlying system features. Several examples are used to demonstrate how HCI design patterns can support this decoupling by providing an architectural framework for pattern-oriented and model-driven engineering of multi-platforms and multi-devices user interfaces. Patterns of HCI Design and HCI Design of Patterns is for students, academics and Industry specialists who are concerned with user interfaces and usability within the software development community.
Although the computer software industry is growing rapidly and is
of increasing importance for the international competitiveness of
other high-technology industries and national economies, it has
received surprisingly little attention from scholars. Data on
employment, sales, and industry structure for the software industry
are rare, and public statistical agencies do not provide reliable,
internationally comparable data.
Provides guidance on performance enhancement and reliability of IC chips. Provides a detailed hybrid optimization strategy for the optimal arrangement of IC chips on a board. The MATLAB program for the hybrid optimization strategy along with its stability analysis is carried out in a detailed manner.
Covers research on ODL systems, competence-based learning, the project process based on personal and group competencies, knowledge repository development, an ontological model of didactic materials, a theoretical game approach to motivational and incentive modelling, collaboration between a teacher and a team of students, and computer simulation Includes contributions from and is coedited by Prof. Emma Kusztina and Prof. Dr Zenon Gniazdowski, editor of Scientific Notebooks of the Warsaw School of Computer Science located on the list of the Ministry of Science and Higher Education Covers for the first time motivation modelling in ODL, collaboration modelling in ODL and incentive modelling in ODL Is illustrated throughout with excellent figures, a glossary and references to accompany each section
The text provides a comprehensive overview of the design aspects of the internet of things devices and covers the fundamentals of big data and data science. It explores various scenarios such as what are the middleware and frameworks available and how to build a stable, standards-based, and Secure internet of things device. It discusses important concepts including embedded programming techniques, machine-to-machine architecture, and the internet of things for smart city applications. It will serve as an ideal design book for professionals, senior undergraduate, and graduate students in the fields including electrical engineering, electronics and communication engineering, and computer engineering. The book- Covers applications and architecture needed to deliver solutions to end customers and readers. Discusses practical aspects of implementing the internet of things in diverse areas including manufacturing, and software development. Highlights big data concepts and embedded programming techniques. Presents technologies including machine to machine, integrated sensors, and radio-frequency identification. Introduces global system for mobile communication and precise details of standards based on internet of things architecture models. The book focuses on practical design aspects such as how to finalize a processor integrated circuit, which operating system to use, etc. in a single volume. It will serve as an ideal text for professionals, senior undergraduate, and graduate students in diverse engineering domains including electrical, electronics and communication, computer.
Rediscover how fun web development can be with Hugo, the static site generator and web framework that lets you build content sites quickly using the skills you already have. Design layouts with HTML and share common components across pages. Create Markdown templates that let you create new content quickly. Consume and generate JSON, enhance layouts with logic, and generate a site that works on any platform with no runtime dependencies or database. Hugo gives you everything you need to build your next content site and have fun doing it. Database-driven sites bring complexity you might not need, but building a site by hand is too much work. Hugo is a static site generator and web development framework that creates content sites quickly without the overhead or dependencies of a dyanmic web framework. With Hugo, you use HTML templates and Markdown to build static sites you can host anywhere, letting you use the skills you already have. Develop your own theme using standard HTML and CSS, using Hugo's powerful templating features to organize your site's components. Create your site's content with HTML or Markdown and use Hugo's content templating features to build new content quickly. Build a fully-featured blog with archive pages, tagging, and pagination, and integrate an external commenting system to provide interactivity. Use data from front-matter, site-wide configuration, and external JSON sources to add content, and generate JSON others can use. Integrate JavaScript with your site to create a search engine. Get Hugo working with Webpack so you can leverage the wider web development ecosystem, and explore ways to publish your site to various services. Finally, learn how you can move your existing content site to Hugo. Dive in and build your next site with Hugo!
Solid requirements engineering has increasingly been recognized as the key to improved, on-time, and on-budget delivery of software and systems projects. New software tools are emerging that are empowering practicing engineers to improve their requirements engineering habits. However, these tools are not usually easy to use without significant training. Requirements Engineering for Software and Systems, Fourth Edition is intended to provide a comprehensive treatment of the theoretical and practical aspects of discovering, analyzing, modeling, validating, testing, and writing requirements for systems of all kinds, with an intentional focus on software-intensive systems. It brings into play a variety of formal methods, social models, and modern requirements writing techniques to be useful to practicing engineers. The book is intended for professional software engineers, systems engineers, and senior and graduate students of software or systems engineering. Since the first edition, there have been made many changes and improvements to this textbook. Feedback from instructors, students, and corporate users was used to correct, expand, and improve the materials. The fourth edition features two newly added chapters: "On Non-Functional Requirements" and "Requirements Engineering: Road Map to the Future." The latter provides a discussion on the relationship between requirements engineering and such emerging and disruptive technologies as Internet of Things, Cloud Computing, Blockchain, Artificial Intelligence, and Affective Computing. All chapters of the book were significantly expanded with new materials that keep the book relevant to current industrial practices. Readers will find expanded discussions on new elicitation techniques, agile approaches (e.g., Kanpan, SAFe, and DEVOps), requirements tools, requirements representation, risk management approaches, and functional size measurement methods. The fourth edition also has significant additions of vignettes, exercises, and references. Another new feature is scannable QR codes linked to sites containing updates, tools, videos, and discussion forums to keep readers current with the dynamic field of requirements engineering.
The book focuses on the real-world case-based crisis management in digital product development. This includes forecasting, responding, and agile engineering/management methods, patterns, and practices for sustainable development. This book introduces a set of case studies for sustainability in management as a blend, the components of which have been carefully selected from a few domains adjacent to digital production such as IT-intensive operation, human resource management, and knowledge engineering, to name a few. The key ingredients of this crisis management framework include information management, tradeoff optimization, agile product development, and knowledge transfer. The case studies this book features will help the stakeholders in understanding and identifying the key technology, business, and human factors that may likely result in a digital production crisis, i.e., critically affect the organization outcomes in terms of successful digitalization and sustainable development. These factors are particularly important for the large-scale applications, typically considered very complex in managerial and technological aspects, and, therefore, specifically addressed by the discipline of IT crisisology.
Certifiable Software Applications 2: Support Processes explains the process to achieve a certifiable application. This concerns several major topics, skill management, data preparation, requirement management, software verification, and software validation. In addition, analysis of the impact of the use of COTS and pre-existing software on certifiable software is presented. Finally, the last support process concerns the management of commercial tools, the creation of a specific tools, and therefore the qualification of tools, which is based on their impact on the final software.
This book summarizes the results of Design Thinking Research Program at Stanford University in Palo Alto, California, USA and the Hasso Plattner Institute in Potsdam, Germany. Offering readers a closer look at design thinking, its innovation processes and methods, it covers topics ranging from how to design ideas, methods and technologies, to creativity experiments and creative collaboration in the real world, and the interplay between designers and engineers. But the topics go beyond this in their detailed exploration of design thinking and its use in IT systems engineering fields, and even from a management perspective. The authors show how these methods and strategies actually work in companies, and introduce new technologies and their functions. Furthermore, readers learn how special-purpose design thinking can be used to solve thorny problems in complex fields. Thinking and devising innovations are fundamentally and inherently human activities - so is design thinking. Accordingly, design thinking is not merely the result of special courses nor of being gifted or trained: it's a way of dealing with our environment and improving techniques, technologies and life. This edition offers a historic perspective on the theoretical foundations of design thinking. Within the four topic areas, various frameworks, methodologies, mindsets, systems and tools are explored and further developed. The first topic area focuses on team interaction, while the second part addresses tools and techniques for productive collaboration. The third section explores new approaches to teaching and enabling creative skills and lastly the book examines how design thinking is put into practice. All in all, the contributions shed light and provide deeper insights into how to support the collaboration of design teams in order to systematically and successfully develop innovations and design progressive solutions for tomorrow.
This book offers an overview of the key ideas of Petri nets, how they were developed, and how they were applied in diverse applications. The chapters in the first part offer individual perspectives on the impact of Petri's work. The second part of the book contains personal memories from researchers who collaborated with him closely, in particular they recount his unique personality. The chapters in the third part offer more conventional treatments on various aspects of current Petri net research, and the fourth part examines the wide applications of Petri nets, and the relationships with other domains. The editors and authors are the leading researchers in this domain, and this book will be a valuable insight for researchers in computer science, particularly those engaged with concurrency and distributed systems.
Rapid Application Generation of Business and Finance Software describes a method for developing wide ranging computing applications with emerging software technologies. The pressure of the market place calls for reducing the time to market of new software applications. This book shows how to build such software faster and more reliably. Using an elegant concept of extended tools, the book presents a method for the constructive building of hybrid' applications. The book includes such application areas as direct marketing, banking insurance and executive information systems. The methods used adopt the latest object-oriented and client-server techniques. Rapid Application Generation of Business and Finance Software is an important book for computer scientists working on rapid application development. It is also of interest to information systems specialists.
Project or program health checks provide tremendous value to businesses and pay for themselves by multiples of magnitude. No matter how well a project or program is performing, there are always activities that can provide better value, reduce costs, or introduce more innovation. IT project and program health checks can help organizations reach their goals and dramatically improve Return on Investment (ROI). IT Project Health Checks: Driving Successful Implementation and Multiples of Business Value offers a proven approach for evaluating IT projects or programs in order to determine how they are performing and how the eventual outcome for the initiative is currently trending. The project or program health checks provide a set of techniques that produce actionable recommendations that can be applied for any combination of the following outcomes: Drive more business and technical value from a program Set a project or program back on track for successful implementation as defined by executive management Rescue a program that is heading towards failure Act as additional insurance for initiatives that are too important to fail Protect executive careers by creating transparency within the inner workings of complex initiatives. The book shows how a review can quickly identify whether an initiative needs to be rescued even when the project team is not aware that it is hurtling towards failure. It also provides techniques for driving business value even when a project team believes it's been stretched as much as possible. Other outcomes covered in this book include: Objectively develop a project Health-Check Scorecard that establishes how well a project is doing and the direction it is headed Demonstrate how to drive business value from an IT program regardless of how well or badly it is tracking Provide surgical advice to improve a project's outcome How to use the many templates and sample deliverables to get a quick start on your own health check. Designed to provide significant value to any member of a project team, program team, stakeholders, sponsors, business users, system integrators, trainers, and IT professionals, this book can help find opportunities to drive multiples of business value and exceed project success metrics.
In the context of Distributed and Real-time Embedded Systems (DRES), system developers are faced with reducing system development cost and time while developing correct (relating to safe and QoS properties) and increasingly complex systems. To take up this challenge, Model Driven Development (MDD) advocates the intensive use of models and model transformations on several levels of abstraction. This book includes contributions from academic and professional experts on a range of topics related to MDD practices, methods and emerging technologies. After introducing general concepts about modeling and how to implement model transformations, two presentations provide an overview of the MARTE profile. Coverage is then given to the most common aspects of MDD for DRES: structuring architectures using components, designing hardware architecture, evaluation and validation through tests and performance analysis. Finally, guidance is given as to how and why MDD should be used by presenting a tool to support MDD and describing an industrial application of MDD concepts.
This comprehensive reference text discusses nature inspired algorithms and their applications. It presents the methodology to write new algorithms with the help of MATLAB programs and instructions for better understanding of concepts. It covers well-known algorithms including evolutionary algorithms, genetic algorithm, particle Swarm optimization and differential evolution, and recent approached including gray wolf optimization. A separate chapter discusses test case generation using techniques such as particle swarm optimization, genetic algorithm, and differential evolution algorithm. The book- Discusses in detail various nature inspired algorithms and their applications Provides MATLAB programs for the corresponding algorithm Presents methodology to write new algorithms Examines well-known algorithms like the genetic algorithm, particle swarm optimization and differential evolution, and recent approaches like gray wolf optimization. Provides conceptual linking of algorithms with theoretical concepts The text will be useful for graduate students in the field of electrical engineering, electronics engineering, computer science and engineering. Discussing nature inspired algorithms and their applications in a single volume, this text will be useful as a reference text for graduate students in the field of electrical engineering, electronics engineering, computer science and engineering. It discusses important algorithms including deterministic algorithms, randomized algorithms, evolutionary algorithms, particle swarm optimization, big bang big crunch (BB-BC) algorithm, genetic algorithm and grey wolf optimization algorithm. "
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
Databases have become an integral part of modern life. Today's society is an information-driven society, and database technology has a direct impact on all aspects of daily life. Decisions are routinely made by organizations based on the information collected and stored in databases. Database management systems such as Oracle are crucial to apply data in industrial or commercial systems. Equally crucial is a graphical user interface (GUI) to enable users to access and manipulate data in databases. The Apache NetBeans IDE with Java is an ideal candidate for developing a GUI with programming functionality. Oracle Database Programming with Java: Ideas, Designs, and Implementations is written for college students and software programmers who want to develop practical and commercial database programming with Java and relational databases such as Oracle Database XE 18c. The book details practical considerations and applications of database programming with Java and is filled with authentic examples as well as detailed explanations. Advanced topics in Java Web, like Java Web Applications and Java Web Services, are covered in real project examples to show how to handle the database programming issues in the Apache NetBeans IDE environment. This book features: A real sample database, CSE _ DEPT, which is built with Oracle SQL Developer, provided and used throughout the book Step by step, detailed illustrations and descriptions of how to design and build a practical relational database Fundamental and advanced Java database programming techniques practical to both beginning students and experienced programmers Updated Java desktop and Web database programming techniques, such as Java Enterprise Edition 7, JavaServer Pages, JavaServer Faces, Enterprise Java Beans, Web applications and Web services, including GlassFish and Tomcat Web servers More than 30 real database programming projects with detailed illustrations Actual JDBC APIs and JDBC drivers, along with code explanations Homework and selected solutions for each chapter to strengthen and improve students' learning and understanding of the topics they have studied
Perspectives on Data Science for Software Engineering presents the best practices of seasoned data miners in software engineering. The idea for this book was created during the 2014 conference at Dagstuhl, an invitation-only gathering of leading computer scientists who meet to identify and discuss cutting-edge informatics topics. At the 2014 conference, the concept of how to transfer the knowledge of experts from seasoned software engineers and data scientists to newcomers in the field highlighted many discussions. While there are many books covering data mining and software engineering basics, they present only the fundamentals and lack the perspective that comes from real-world experience. This book offers unique insights into the wisdom of the community's leaders gathered to share hard-won lessons from the trenches. Ideas are presented in digestible chapters designed to be applicable across many domains. Topics included cover data collection, data sharing, data mining, and how to utilize these techniques in successful software projects. Newcomers to software engineering data science will learn the tips and tricks of the trade, while more experienced data scientists will benefit from war stories that show what traps to avoid.
"The Testing Network" presents an integrated approach to testing based on cutting-edge methodologies, processes and tools in today's IT context. It means complex network-centric applications to be tested in heterogeneous IT infrastructures and in multiple test environments (also geographically distributed). The added-value of this book is the in-depth explanation of all processes and relevant methodologies and tools to address this complexity. Main aspects of testing are explained using TD/QC - the world-leader test platform. This up-to-date know-how is based on real-life IT experiences gained in large-scale projects of companies operating worldwide. The book is abundantly illustrated to better show all technical aspects of modern testing in a national and international context. The author has a deep expertise by designing and giving testing training in large companies using the above-mentioned tools and processes. "The Testing Network" is a unique synthesis of core test topics applied in real-life.
Written by a game developer and professor trained in architecture, An Architectural Approach to Level Design is one of the first books to integrate architectural and spatial design theory with the field of level design. It explores the principles of level design through the context and history of architecture. Now in its second edition, An Architectural Approach to Level Design presents architectural techniques and theories for you to use in your own work. The author connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with that space. It also addresses industry issues like how to build interesting tutorial levels and how to use computer-generated level design systems without losing the player-focused design of handmade levels. Throughout the text, you will learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. FEATURES Presents case studies that offer insight on modern level design practices, methods, and tools Presents perspectives from industry designers, independent game developers, scientists, psychologists, and academics Explores how historical structures can teach us about good level design Shows how to use space to guide or elicit emotion from players Includes chapter exercises that encourage you to use principles from the chapter in digital prototypes, playtesting sessions, paper mock-ups, and design journals Bringing together topics in game design and architecture, this book helps you create better spaces for your games. Software independent, the book discusses tools and techniques that you can use in crafting your interactive worlds.
This highly accessible textbook teaches programming from first principles. In common with many programming courses, it uses Python as the introductory programming language before going on to use Java as the vehicle for more advanced programming concepts. The first part, which teaches Python, covers fundamental programming concepts, such as data types and control structures and functions. It introduces more complex data types such as lists and dictionaries and also deals with file handling. It introduces object-oriented concepts and ends with a case study bringing together all the topics of the first semester. The second part uses Java to teach advanced concepts and centres around object-oriented programming, teaching key object-oriented concepts such as inheritance and polymorphism. The semester again ends with an advanced case study bringing together all the topics of the second semester. Topics and features: Assumes no prior knowledge, and makes the transition from Python to Java a smooth process Features numerous exercises and also an illustrative case study for each language Examines procedural and object-oriented methodologies, as well as design principles Covers such advanced topics as interfaces and lambda expressions, exceptions and Collections Includes a chapter on graphics programming in Python using Tkinter Introduces the latest Java technology for graphical interfaces, JavaFX Explains design concepts using UML notation Offering a gentle introduction to the field and assuming no prerequisite background, Programming in Two Semesters is the ideal companion to undergraduate modules in software development or programming. In addition, it will serve as a strong primer for professionals looking to strengthen their knowledge of programming with these languages.
How do you detangle a monolithic system and migrate it to a microservice architecture? How do you do it while maintaining business-as-usual? As a companion to Sam Newman's extremely popular Building Microservices, this new book details a proven method for transitioning an existing monolithic system to a microservice architecture. With many illustrative examples, insightful migration patterns, and a bevy of practical advice to transition your monolith enterprise into a microservice operation, this practical guide covers multiple scenarios and strategies for a successful migration, from initial planning all the way through application and database decomposition. You'll learn several tried and tested patterns and techniques that you can use as you migrate your existing architecture. Ideal for organizations looking to transition to microservices, rather than rebuild Helps companies determine whether to migrate, when to migrate, and where to begin Addresses communication, integration, and the migration of legacy systems Discusses multiple migration patterns and where they apply Provides database migration examples, along with synchronization strategies Explores application decomposition, including several architectural refactoring patterns Delves into details of database decomposition, including the impact of breaking referential and transactional integrity, new failure modes, and more
This comprehensive book unveils the working relationship of blockchain and the fog/edge computing. The contents of the book have been designed in such a way that the reader will not only understand blockchain and fog/edge computing but will also understand their co-existence and their collaborative power to solve a range of versatile problems. The first part of the book covers fundamental concepts and the applications of blockchain-enabled fog and edge computing. These include: Internet of Things, Tactile Internet, Smart City; and E-challan in the Internet of Vehicles. The second part of the book covers security and privacy related issues of blockchain-enabled fog and edge computing. These include, hardware primitive based Physical Unclonable Functions; Secure Management Systems; security of Edge and Cloud in the presence of blockchain; secure storage in fog using blockchain; and using differential privacy for edge-based Smart Grid over blockchain. This book is written for students, computer scientists, researchers and developers, who wish to work in the domain of blockchain and fog/edge computing. One of the unique features of this book is highlighting the issues, challenges, and future research directions associated with Blockchain-enabled fog and edge computing paradigm. We hope the readers will consider this book a valuable addition in the domain of Blockchain and fog/edge computing. |
You may like...
Concept Parsing Algorithms (CPA) for…
Uri Shafrir, Masha Etkind
Hardcover
R3,276
Discovery Miles 32 760
Stability, Periodicity, and Related…
Michal Fečkan, Marius-F Danca
Hardcover
Nonlocal and Fractional Operators
Luisa Beghin, Francesco Mainardi, …
Hardcover
R3,675
Discovery Miles 36 750
Data Analysis and Data Mining - An…
Adelchi Azzalini, Bruno Scarpa
Hardcover
R3,280
Discovery Miles 32 800
|