![]() |
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 is important because it is used by a great many people in companies and institutions. This book presents engineering methods for designing and building software. Based on the author's experience in software engineering as a programmer in the defense and aerospace industries, this book explains how to ensure a software that is programmed operates according to its requirements. It also shows how to develop, operate, and maintain software engineering capabilities by instilling an engineering discipline to support programming, design, builds, and delivery to customers. This book helps software engineers to: Understand the basic concepts, standards, and requirements of software engineering. Select the appropriate programming and design techniques. Effectively use software engineering tools and applications. Create specifications to comply with the software standards and requirements. Utilize various methods and techniques to identify defects. Manage changes to standards and requirements. Besides providing a technical view, this book discusses the moral and ethical responsibility of software engineers to ensure that the software they design and program does not cause serious problems. Software engineers tend to be concerned with the technical elegance of their software products and tools, whereas customers tend to be concerned only with whether a software product meets their needs and is easy and ready to use. This book looks at these two sides of software development and the challenges they present for software engineering. A critical understanding of software engineering empowers developers to choose the right methods for achieving effective results. Effective Methods for Software Engineering guides software programmers and developers to develop this critical understanding that is so crucial in today's software-dependent society.
This textbook addresses students, professionals, lecturers and researchers interested in software product line engineering. With more than 100 examples and about 150 illustrations, the authors describe in detail the essential foundations, principles and techniques of software product line engineering. The authors are professionals and researchers who significantly influenced the software product line engineering paradigm and successfully applied software product line engineering principles in industry. They have structured this textbook around a comprehensive product line framework. Software product line engineering has proven to be the paradigm for developing a diversity of software products and software-intensive systems in shorter time, at lower cost, and with higher quality. It facilitates platform-based development and mass customisation. The authors elaborate on the two key principles behind software product line engineering: (1) the separation of software development in two distinct processes, domain and application engineering; (2) the explicit definition and management of the variability of the product line across all development artefacts. As a student, you will find a detailed description of the key processes, their activities and underlying techniques for defining and managing software product line artefacts. As a researcher or lecturer, you will find a comprehensive discussion of the state of the art organised around the comprehensive framework. As a professional, you will find guidelines for introducing this paradigm in your company and an overview of industrial experiences with software product line engineering.
The Internet of Things (IoT) is an emerging network superstructure that will connect physical resources and actual users. It will support an ecosystem of smart applications and services bringing hyper-connectivity to our society by using augmented and rich interfaces. Whereas in the beginning IoT referred to the advent of barcodes and Radio Frequency Identification (RFID), which helped to automate inventory, tracking and basic identification, today IoT is characterized by a dynamic trend toward connecting smart sensors, objects, devices, data and applications. The next step will be cognitive IoT, facilitating object and data re-use across application domains and leveraging hyper-connectivity, interoperability solutions and semantically enriched information distribution. The Architectural Reference Model (ARM), presented in this book by the members of the IoT-A project team driving this harmonization effort, makes it possible to connect vertically closed systems, architectures and application areas so as to create open interoperable systems and integrated environments and platforms. It constitutes a foundation from which software companies can capitalize on the benefits of developing consumer-oriented platforms including hardware, software and services. The material is structured in two parts. Part A introduces the general concepts developed for and applied in the ARM. It is aimed at end users who want to use IoT technologies, managers interested in understanding the opportunities generated by these novel technologies, and system architects who are interested in an overview of the underlying basic models. It also includes several case studies to illustrate how the ARM has been used in real-life scenarios. Part B then addresses the topic at a more detailed technical level and is targeted at readers with a more scientific or technical background. It provides in-depth guidance on the ARM, including a detailed description of a process for generating concrete architectures, as well as reference manuals with guidelines on how to use the various models and perspectives presented to create a concrete architecture. Furthermore, best practices and tips on how system engineers can use the ARM to develop specific IoT architectures for dedicated IoT solutions are illustrated and exemplified in reverse mapping exercises of existing standards and platforms."
In the estimating, planning and management of any project, large or small, an understanding of the impact of risk is critical. This book explains how the growing number of people choosing to or forced to organise their work as projects can make realistic assessments of the uncertainty affecting costs, timescale and revenue, before commitments are made. A clear analysis of the role of uncertainty is combined in this concise and practical handbook with simple, cost-effective techniques for measuring and modelling the overall risk to a project’s budget and schedule. There is advice and help here for the whole project team, including project managers; bid managers; project sales professionals; planners; estimators; managers running a project-based business; and consultants and auditors advising a projects business. Drawn from the author’s extensive experience on projects ranging in scale from a few man-months to hundreds of man-years, the book will beelevant to anyone involved in a project-based business. Examples are presented as simple models, built in spreadsheets using the @Risk software package. No more than basic knowledge of Lotus 1-2-3® or Excel® will be required by the reader.
Service engineering is increasingly posing challenges to traditional software engineering methodologies including specification, modeling, architecture, and verification, just to name a few. On the other hand, the latest advancements in software engineering are continuously leveraged in Service Engineering research, especially in the design and implementation of service-oriented systems. Several mutual impacts between service engineering and software engineering could be observed in the last decade, and many research efforts have been devoted to the field. However, in spite of the considerable efforts and significant contributions, few have attempted to summarize the research results systematically.
Written by two very experienced instructors, with more than thirty years of teaching experience between them; Presents material that is grounded in practical applications that are representative of the problems researchers encounter in real life; Teaches readers the core features of modern JavaScript; Covers programming with callbacks and promises; Describes how to build data services and data visualization;
Let there be code! Beginning Programming All-in-One For Dummies offers one guide packed with 7 books to teach you programming across multiple languages. Coding can seem complex and convoluted, but Dummies makes it simple and easy to understand. You'll learn all about the principles of programming, algorithms, data structures, debugging programs, unique applications of programming and more while learning about some of the most popular programming languages used today. Move confidently forward in your computer science coursework or straight into the workforce. You'll come away with a rock-solid foundation in the programming basics, using data, coding for the web, and building killer apps. Learn the basics of coding, including writing and compiling code, using algorithms, and data structures Get comfortable with the syntax of several different programming languages Wrap your mind around interesting programming opportunities such as conducting biological experiments within a computer or programming a video game engine Develop cross-platform applications for desktop and mobile devices This essential guide takes the complexity and convolution out of programming for beginners and arms you with the knowledge you need to follow where the code takes you.
This textbook offers theoretical, algorithmic and computational guidelines for solving the most frequently encountered linear-quadratic optimization problems. It provides an overview of recent advances in control and systems theory, numerical line algebra, numerical optimization, scientific computations and software engineering.
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.
A revolutionary concept-based approach to thinking about, designing, and interacting with software As our dependence on technology increases, the design of software matters more than ever before. Why then is so much software flawed? Why hasn't there been a systematic and scalable way to create software that is easy to use, robust, and secure? Examining these issues in depth, The Essence of Software introduces a theory of software design that gives new answers to old questions. Daniel Jackson explains that a software system should be viewed as a collection of interacting concepts, breaking the functionality into manageable parts and providing a new framework for thinking about design. Through this radical and original perspective, Jackson lays out a practical and coherent path, accessible to anyone-from strategist and marketer to UX designer, architect, or programmer-for making software that is empowering, dependable, and a delight to use. Jackson explores every aspect of concepts-what they are and aren't, how to identify them, how to define them, and more-and offers prescriptive principles and practical tips that can be applied cost-effectively in a wide range of domains. He applies these ideas to contemporary software designs, drawing examples from leading software manufacturers such as Adobe, Apple, Dropbox, Facebook, Google, Microsoft, Twitter, and others. Jackson shows how concepts let designers preserve and reuse design knowledge, rather than starting from scratch in every project. An argument against the status quo and a guide to improvement for both working designers and novices to the field, The Essence of Software brings a fresh approach to software and its creation.
BrunoBuchberger This book is a synopsis of basic and applied research done at the various re search institutions of the Softwarepark Hagenberg in Austria. Starting with 15 coworkers in my Research Institute for Symbolic Computation (RISC), I initiated the Softwarepark Hagenberg in 1987 on request of the Upper Aus trian Government with the objective of creating a scienti?c, technological, and economic impulse for the region and the international community. In the meantime, in a joint e?ort, the Softwarepark Hagenberg has grown to the current (2009) size of over 1000 R&D employees and 1300 students in six research institutions, 40 companies and 20 academic study programs on the bachelor, master's and PhD level. The goal of the Softwarepark Hagenberg is innovation of economy in one of the most important current technologies: software. It is the message of this book that this can only be achieved and guaranteed long term by "watering the root", namely emphasis on research, both basic and applied. In this book, we summarize what has been achieved in terms of research in the various research institutions in the Softwarepark Hagenberg and what research vision we have for the imminent future. When I founded the Softwarepark Hagenberg, in addition to the "watering the root" principle, I had the vision that such a technology park can only prosper if we realize the "magic triangle", i.e. the close interaction of research, academic education, and business applications at one site, see Figure 1.
- This book covers the production of dissertations in an area where students are much more comfortable writing code than writing academically. - With practical examples of bachelor dissertations and practical research methods utilised in the field of computer science and computer games such as survey methodologies, experimental methodologies, case studies, analysis techniques and reporting techniques, this book will break down the sometimes complicated-seeming nature of the dissertation. - Written to be concise yet comprehensive and with easily accessible language and examples, this book will take the mystery out of undergraduate dissertations in this field.
One of the best languages for the development of financial engineering and instrument pricing applications is C++. This book has several features that allow developers to write robust, flexible and extensible software systems. The book is an ANSI/ISO standard, fully object-oriented and interfaces with many third-party applications. It has support for templates and generic programming, massive reusability using templates (?write once?) and support for legacy C applications. In this book, author Daniel J. Duffy brings C++ to the next level by applying it to the design and implementation of classes, libraries and applications for option and derivative pricing models. He employs modern software engineering techniques to produce industrial-strength applications: Using the Standard Template Library (STL) in financeCreating your own template classes and functionsReusable data structures for vectors, matrices and tensorsClasses for numerical analysis (numerical linear algebra ?)Solving the Black Scholes equations, exact and approximate solutionsImplementing the Finite Difference Method in C++Integration with the ?Gang of Four? Design PatternsInterfacing with Excel (output and Add-Ins)Financial engineering and XMLCash flow and yield curves Included with the book is a CD containing the source code in the Datasim Financial Toolkit. You can use this to get up to speed with your C++ applications by reusing existing classes and libraries. 'Unique... Let's all give a warm welcome to modern pricing
tools.'
System Integration presents the systems approach to complex problem solving and provides a powerful base for both product and process integration. This unique reference describes 27 kinds of integration work, primarily obtained through human communications. Simple computer applications-already in place in most companies-have the resources to encourage the availability and sharing of current team knowledge, which results in an intense, cooperative experience leading rapidly to sound design solutions.
Python for Scientific Computation and Artificial Intelligence is split into 3 parts: in Section 1, the reader is introduced to the Python programming language and shown how Python can aid in the understanding of advanced High School Mathematics. In Section 2, the reader is shown how Python can be used to solve real-world problems from a broad range of scientific disciplines. Finally, in Section 3, the reader is introduced to neural networks and shown how TensorFlow (written in Python) can be used to solve a large array of problems in Artificial Intelligence (AI). This book was developed from a series of national and international workshops that the author has been delivering for over twenty years. The book is beginner friendly and has a strong practical emphasis on programming and computational modelling. Features: No prior experience of programming is required. Online GitHub repository available with codes for readers to practice. Covers applications and examples from biology, chemistry, computer science, data science, electrical and mechanical engineering, economics, mathematics, physics, statistics and binary oscillator computing. Full solutions to exercises are available as Jupyter notebooks on the Web.
"The AntiPatterns authors have clearly been there and done that when it comes to managing software development efforts. I resonated with one insight after another, having witnessed too many wayward projects myself. The experience in this book is palpable." —John Vlissides, IBM Research "This book allows managers, architects, and developers to learn from the painful mistakes of others. The high-level AntiPatterns on software architecture are a particularly valuable contribution to software engineering. Highly recommended!" —Kyle Brown Author of The Design Patterns Smalltalk Companion "AntiPatterns continues the trend started in Design Patterns. The authors have discovered and named common problem situations resulting from poor management or architecture control, mistakes which most experienced practitioners will recognize. Should you find yourself with one of the AntiPatterns, they even provide some clues on how to get yourself out of the situation." —Gerard Meszaros, Chief Architect, Object Systems Group Are you headed into the software development mine field? Follow someone if you can, but if you’re on your own—better get the map! AntiPatterns is the map. This book helps you navigate through today’s dangerous software development projects. Just look at the statistics:
1 Einfuhrung in die Thematik.- 1.1 Begriffsfindungen.- 1.2 Herausforderung Nr. 1: Der Preiskarnpf in der IT-Branche.- 1.3 Von Umsatzzielen und Provisionsmodellen.- 1.3.1 Einfuhrung und Begriffsfindungen.- 1.3.2 Umsatzziele.- 1.3.3 Das lineare Provisionsmodell.- 1.3.4 Das progressive Provisionsmodell.- 1.3.5 Zusammenfassung.- 1.4 Der Forecast.- 1.4.1 Begriffsfindung.- 1.4.2 Moegliche Einflussgroessen im Forecast.- 1.4.3 Informationen, die der Forecast beinhalten sollte.- 1.4.4 Forecast Meetings.- 1.4.5 Fazit.- 1.5 Vorgehensweisen im Vertrieb.- 1.5.1 Allgemeines zu Vorgehensweisen im Vertrieb.- 1.5.2 Unterschiedliche Modelle.- 1.5.3 Aufwandsbetrachtungen im Vertrieb.- 1.5.4 Der Vertriebszyklus - Sales Cycle.- 1.5.5 Unterschiedliche Vertriebsansatze hinsichtlich der Zielgruppe beim Kunden.- 1.5.6 Der "Take-the-money-and-go"-Ansatz.- 1.5.7 Argumentationshilfe Return on Investment.- 1.5.8 Fazit.- 1.6 Die Quartalsdenke.- 1.6.1 Einfuhrung.- 1.6.2 Umsatzziele boersennotierter Unternehmen.- 1.6.3 Damoklesschwert Quartalsende.- 1.6.4 Konsequenzen der Quartalsdenke.- 1.6.5 Fazit.- 1.7 Vertrieb uber das Internet.- 1.7.1 Ruckblick.- 1.7.2 Vorgehensweise beim Vertrieb uber das Internet.- 1.7.3 Zu schaffende Grundvoraussetzungen.- 1.7.4 Fazit.- 1.8 Call Center.- 1.8.1 Einfuhrung.- 1.8.2 Arbeitsweise von Call Centern.- 1.8.3 Die 3 Schritte eines Piloten.- 1.8.4 Auswahl eines Call Centers.- 1.8.5 Vorteile des Einsatzes von Call Centern.- 1.8.6 Entlohnung von Call Centern.- 1.8.7 Weitere Einsatzmoeglichkeiten von Call Centern.- 1.8.8 Fazit.- 1.9 Vertriebsgebiete.- 1.9.1 Einfuhrung.- 1.9.2 Nach Postleitzahlen aufgebaute Vertriebsgebiete.- 1.9.3 Nach Branchen aufgeteilte Vertriebsgebiete.- 1.9.4 Mischung zwischen Branchen- und Postleitzahlen-orientierten Vertriebsgebieten.- 1.9.5 Problemfalle bei der Zuordnung.- 1.9.6 Fazit.- 1.10 Ausblick auf die weiteren Inhalte dieses Buches.- 2 Rollen im Vertrieb.- 2.1 Einfuhrung in Rollen.- 2.2 Die einzelnen Rollen innerhalb einer grossen Vertriebsorganisation.- 2.2.1 Der Vertriebsleiter.- 2.2.2 Der Vertriebsdirektor.- 2.2.3 Der Gebietsleiter.- 2.2.4 Der Vertriebsmitarbeiter.- 2.2.5 Der Telesales.- 2.2.6 Der Telequalifizierer.- 2.2.7 Zusammenfassung.- 2.3 Die Wirkungsfelder der unterschiedlichen Rollen.- 2.3.1 Einfuhrung.- 2.3.2 Wirkungsfeld des Vertriebsleiters.- 2.3.3 Wirkungsfeld des Vertriebsdirektors.- 2.3.4 Wirkungsfeld des Gebietsverkaufsleiters.- 2.3.5 Wirkungsfeld des Vertriebsmitarbeiters.- 2.3.6 Wirkungsfeld des Telesales.- 2.3.7 Wirkungsfeld des Telequalifizierers.- 2.4 Der Presales als Bindeglied zum Vertriebsmitarbeiter.- 2.4.1 Vorbemerkung.- 2.4.2 Aufgabenbeschreibung des Presales.- 2.4.3 Der Presales-Pool.- 2.4.4 Wirkungsfeld des Presales.- 2.4.5 Der Unterschied zum Consulting-Mitarbeiter.- 2.4.6 Zusammenfassung.- 2.5 Fazit.- 3 Produktvertrieb versus Dienstleistungsvertrieb.- 3.1 Einfuhrung in die Thematik.- 3.2 Die wesentlichen Unterschiede zwischen Produkt- und Dienstleistungsvertrieb.- 3.2.1 Allgemeines.- 3.2.2 Unterschiede beim Geldfluss.- 3.2.3 Unterschiede im Risiko.- 3.2.4 Unterschiede im Vertriebsansatz.- 3.2.5 Unterschiede bei der Kompensation von Umsatzausfallen.- 3.2.6 Unterschiede in der Motivation.- 3.2.7 Fazit.- 3.3 Gemeinsamkeiten zwischen Produkt- und Dienstleistungsvertrieb.- 3.3.1 Allgemeines.- 3.3.2 Gesprachsvorbereitung.- 3.3.3 Wettbewerbsbetrachtungen.- 3.3.4 Fazit.- 3.4 Gemeinsames Hilfsmittel im Vertrieb: Der Workshop.- 3.4.1 Hinfuhrung zum Thema.- 3.4.2 Zielsetzung des Workshops.- 3.4.3 Berechnung des Workshops.- 3.4.4 Zusammensetzung des Teilnehmerkreises.- 3.4.5 Inhaltliche Gestaltung eines Workshops beim Kunden.- 3.4.6 Auswirkungen eines erfolgreichen Workshops.- 3.4.7 Externe Unterstutzung bei der Konzeption eines Workshops.- 3.5 Integration von Risikomanagement.- 3.5.1 Einleitung.- 3.5.2 Erstellen einer Risikoliste.- 3.5.3 Festlegen von Risikoklassen und Risikowahrscheinlichkeitsklassen.- 3.5.4 Ableiten einer Risikomatrix.- 3.5.5 Ergebnisse.- 3.
Any organization with valuable data has been or will be attacked, probably successfully, at some point and with some damage. And, don't all digitally connected organizations have at least some data that can be considered "valuable"? Cyber security is a big, messy, multivariate, multidimensional arena. A reasonable "defense-in-depth" requires many technologies; smart, highly skilled people; and deep and broad analysis, all of which must come together into some sort of functioning whole, which is often termed a security architecture. Secrets of a Cyber Security Architect is about security architecture in practice. Expert security architects have dozens of tricks of their trade in their kips. In this book, author Brook S. E. Schoenfield shares his tips and tricks, as well as myriad tried and true bits of wisdom that his colleagues have shared with him. Creating and implementing a cyber security architecture can be hard, complex, and certainly frustrating work. This book is written to ease this pain and show how to express security requirements in ways that make the requirements more palatable and, thus, get them accomplished. It also explains how to surmount individual, team, and organizational resistance. The book covers: What security architecture is and the areas of expertise a security architect needs in practice The relationship between attack methods and the art of building cyber defenses Why to use attacks and how to derive a set of mitigations and defenses Approaches, tricks, and manipulations proven successful for practicing security architecture Starting, maturing, and running effective security architecture programs Secrets of the trade for the practicing security architecture Tricks to surmount typical problems Filled with practical insight, Secrets of a Cyber Security Architect is the desk reference every security architect needs to thwart the constant threats and dangers confronting every digitally connected organization.
This book helps participants in agile software development environments learn to become leaders. Facilitative leaders should be at every level of the organization, from individual contributor to informal team leader to managers of all stripes -- it takes much focus and intentionality from senior organizational leaders, who have special obligations in creating successful lean and agile development environments. But, beyond the principles of facilitative leadership for agility, People over Process provides tips and demonstrative scenes for the more important and common software meetings: architecture simulations, project planning, team configurations, retrospectives, and more. The author fully illustrates the principles and shares proven techniques for the most important leadership events in agile projects. While this book focuses on facilitating extraordinarily well-prepared meetings, it serves as a metaphor for leadership more broadly. The leader's obligation to help their team make rigorous fact-based decisions; to gain broad input and have participants aligned on the outcomes and next steps; and to do so in an efficient way that respects the time of the participants is as relevant to every-day leadership activity as it is to conducting meetings. The author mixes background and explanation with demonstration -- in this case, the story of an agile project at the fictitious Pacifica Bank. The scenario constructed at Pacifica illustrates the concepts of effective leadership and productive workplace environments. The book concentrates on the flow of software from understanding what is needed through design, development, testing, and deployment. Essentially, the author provides a simple and powerful model of leadership, examples, and tips. This is not a cookbook on how to lead -- It is a set of principles and examples. All leaders must find their own way for their team, their organization, and their unique challenges.
Advances in Computers carries on a tradition of excellence, presenting detailed coverage of innovations in computer hardware, software, theory, design, and applications. The book provides contributors with a medium in which they can explore their subjects in greater depth and breadth than journal articles typically allow. The articles included in this book will become standard references, with lasting value in this rapidly expanding field. |
You may like...
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
Clean Architecture - A Craftsman's Guide…
Robert Martin
Paperback
(1)
The Digital Twin Paradigm for Smarter…
Pethuru Raj, Preetha Evangeline
Hardcover
R4,216
Discovery Miles 42 160
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,639
Discovery Miles 126 390
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,630
Discovery Miles 126 300
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,266
Discovery Miles 12 660
|