Listing 1 - 2 of 2 |
Sort by
|
Choose an application
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.
Software architecture. --- Computer software. --- Architecture, Software --- Computer software --- Computer software architecture --- Software, Computer --- Computer systems --- Architecture --- Design --- Development. --- Development of computer software --- Software development --- Abstraction (software engineering). --- Agile software development. --- Application programming interface. --- Assertion (software development). --- Authentication. --- Axiomatic design. --- Body of knowledge. --- Cognitive dimensions of notations. --- Command language. --- Component-based software engineering. --- Computer-aided design. --- Computing. --- Concept. --- Concepts (C++). --- Conceptual model. --- Cursor (user interface). --- Data model. --- Data set. --- Data type. --- Design knowledge. --- Design pattern. --- Design thinking. --- Design tool. --- Design. --- Designer. --- Diagram. --- Discoverability. --- Dropbox (service). --- Email. --- Engineering. --- Explanation. --- Functional requirement. --- GRASP (object-oriented design). --- Gmail. --- Graphical user interface. --- HTTPS. --- Implementation. --- Information infrastructure. --- Information processor. --- Infrastructure. --- Instance (computer science). --- Interaction design. --- Java (programming language). --- JavaScript. --- Macintosh. --- Metadata. --- Microsoft PowerPoint. --- Motivation. --- OS X. --- Obfuscation (software). --- Object Oriented Role Analysis and Modeling. --- Paragraph. --- Parameter (computer programming). --- Pixel. --- Plug-in (computing). --- Principle. --- Problem domain. --- Programmer. --- Programming idiom. --- Programming language. --- Programming style. --- Programming tool. --- Raw image format. --- Recursion (computer science). --- Rendering (computer graphics). --- Requirement. --- Semantics. --- Server (computing). --- Software architect. --- Software design. --- Software developer. --- Software development. --- Software engineer. --- Software engineering. --- Software industry. --- Software quality. --- Software requirements. --- Software system. --- Software. --- Specification language. --- Stash (software). --- Structuring. --- Subdomain. --- Synchronization (computer science). --- System administrator. --- Theorem. --- Turing Award. --- Twitter. --- Ubiquity (software). --- Uniform Resource Locator. --- Usability. --- Use case. --- User interface design. --- User interface. --- Variable (computer science). --- Version control. --- Website. --- Widget (GUI). --- Workaround. --- Workstation.
Choose an application
"Everything from law enforcement to space exploration relies on code written by people who, at the time, made choices and assumptions that would have long-lasting, profound implications for society. Torie Bosch brings together many of today’s leading technology experts to provide new perspectives on the code that shapes our lives. Contributors discuss a host of topics, such as how university databases were programmed long ago to accept only two genders, what the person who programmed the very first pop-up ad was thinking at the time, the first computer worm, the Bitcoin white paper, and perhaps the most famous seven words in Unix history: “You are not expected to understand this.” This compelling book tells the human stories behind programming, enabling those of us who don’t think much about code to recognize its importance, and those who work with it every day to better understand the long-term effects of the decisions they make. With an introduction by Ellen Ullman and contributions by Mahsa Alimardani, Elena Botella, Meredith Broussard, David Cassel, Arthur Daemmrich, Charles Duan, Quinn DuPont, Claire L. Evans, Hany Farid, James Grimmelmann, Katie Hafner, Susan C. Herring, Syeda Gulshan Ferdous Jana, Lowen Liu, John MacCormick, Brian McCullough, Charlton McIlwain, Lily Hay Newman, Margaret O’Mara, Will Oremus, Nick Partridge, Benjamin Pope, Joy Lisi Rankin, Afsaneh Rigot, Ellen R. Stofan, Lee Vinsel, Josephine Wolff, and Ethan Zuckerman." -- Publisher's description.
Computer programming --- Computer science --- COMPUTERS / Programming / General. --- Social aspects --- ARPANET. --- Addition. --- Advertising. --- Adviser. --- Amplitude. --- Analogy. --- Association for Computing Machinery. --- Attendance. --- Binary number. --- Black people. --- COBOL. --- Capability. --- Censorship. --- Certificate authority. --- Charles Babbage. --- Collaboration. --- Communication. --- Computation. --- Computer Fraud and Abuse Act. --- Computer. --- Computing. --- Consideration. --- Conspiracy theory. --- Data processing system. --- Debug (command). --- Detection. --- Digital Equipment Corporation. --- Edsger W. Dijkstra. --- Ellen Ullman. --- Email. --- Espionage. --- Fake news. --- Flight controller. --- Fortran. --- Fragility. --- GLIMPSE. --- Gravity well. --- Hidden Figures. --- Hyperlink. --- Identifier. --- Imagination. --- Infrasound. --- Ingenuity. --- Instrumentation. --- Intermediary. --- JPEG. --- Jacquard loom. --- Kapton. --- Katie Hafner. --- Larry Page. --- Law enforcement. --- Low-budget film. --- Magnetic field. --- Malware. --- Mathematician. --- Michael Mandiberg. --- Molecule. --- Morris worm. --- Nickname. --- Operating system. --- Orbital eccentricity. --- PDP-1. --- PL/I. --- Password. --- Perforated paper. --- Personalization. --- Pixel. --- Plumbing. --- Pollution. --- Pop-up ad. --- Popularity. --- Prediction. --- Process control. --- Profanity. --- Programmer. --- Programming language. --- Publication. --- Ray Tomlinson. --- Risk assessment. --- Screenshot. --- Server (computing). --- Shortage. --- Sobriquet. --- Software. --- Source lines of code. --- Spacecraft. --- Spacewar (video game). --- Spamming. --- Surveillance. --- System administrator. --- TX-0. --- Technology. --- Telegraphy. --- Teleprinter. --- The Misunderstanding. --- Thought. --- Unemployment. --- Unix. --- Verb. --- Vulnerability (computing). --- Informatics --- Science --- Computers --- Electronic computer programming --- Electronic data processing --- Electronic digital computers --- Programming (Electronic computers) --- Coding theory --- Programming --- Sociology of knowledge --- COMPUTERS / Programming / General --- SOCIAL SCIENCE / Technology Studies
Listing 1 - 2 of 2 |
Sort by
|