Author: Dines Bjørner
Publisher: Springer Science & Business Media
ISBN: 354033193X
Category : Computers
Languages : en
Pages : 780
Book Description
The art, craft, discipline, logic, practice and science of developing large-scale software products needs a professional base. The textbooks in this three-volume set combine informal, engineeringly sound approaches with the rigor of formal, mathematics-based approaches. This volume covers the basic principles and techniques of specifying systems and languages. It deals with modelling the semiotics (pragmatics, semantics and syntax of systems and languages), modelling spatial and simple temporal phenomena, and such specialized topics as modularity (incl. UML class diagrams), Petri nets, live sequence charts, statecharts, and temporal logics, including the duration calculus. Finally, the book presents techniques for interpreter and compiler development of functional, imperative, modular and parallel programming languages. This book is targeted at late undergraduate to early graduate university students, and researchers of programming methodologies. Vol. 1 of this series is a prerequisite text.
Software Engineering 2
Author: Dines Bjørner
Publisher: Springer Science & Business Media
ISBN: 354033193X
Category : Computers
Languages : en
Pages : 780
Book Description
The art, craft, discipline, logic, practice and science of developing large-scale software products needs a professional base. The textbooks in this three-volume set combine informal, engineeringly sound approaches with the rigor of formal, mathematics-based approaches. This volume covers the basic principles and techniques of specifying systems and languages. It deals with modelling the semiotics (pragmatics, semantics and syntax of systems and languages), modelling spatial and simple temporal phenomena, and such specialized topics as modularity (incl. UML class diagrams), Petri nets, live sequence charts, statecharts, and temporal logics, including the duration calculus. Finally, the book presents techniques for interpreter and compiler development of functional, imperative, modular and parallel programming languages. This book is targeted at late undergraduate to early graduate university students, and researchers of programming methodologies. Vol. 1 of this series is a prerequisite text.
Publisher: Springer Science & Business Media
ISBN: 354033193X
Category : Computers
Languages : en
Pages : 780
Book Description
The art, craft, discipline, logic, practice and science of developing large-scale software products needs a professional base. The textbooks in this three-volume set combine informal, engineeringly sound approaches with the rigor of formal, mathematics-based approaches. This volume covers the basic principles and techniques of specifying systems and languages. It deals with modelling the semiotics (pragmatics, semantics and syntax of systems and languages), modelling spatial and simple temporal phenomena, and such specialized topics as modularity (incl. UML class diagrams), Petri nets, live sequence charts, statecharts, and temporal logics, including the duration calculus. Finally, the book presents techniques for interpreter and compiler development of functional, imperative, modular and parallel programming languages. This book is targeted at late undergraduate to early graduate university students, and researchers of programming methodologies. Vol. 1 of this series is a prerequisite text.
Modern Software Engineering
Author: David Farley
Publisher: Addison-Wesley Professional
ISBN: 0137314868
Category : Computers
Languages : en
Pages : 479
Book Description
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Publisher: Addison-Wesley Professional
ISBN: 0137314868
Category : Computers
Languages : en
Pages : 479
Book Description
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Software Engineering at Google
Author: Titus Winters
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Guide to the Software Engineering Body of Knowledge (Swebok(r))
Author: IEEE Computer Society
Publisher:
ISBN: 9780769551661
Category : Computer software
Languages : en
Pages : 348
Book Description
In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).
Publisher:
ISBN: 9780769551661
Category : Computer software
Languages : en
Pages : 348
Book Description
In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).
The New Software Engineering
Author: Sue A. Conger
Publisher: Wadsworth Publishing Company
ISBN:
Category : Computers
Languages : en
Pages : 858
Book Description
This text is written with a business school orientation, stressing the how to and heavily employing CASE technology throughout. The courses for which this text is appropriate include software engineering, advanced systems analysis, advanced topics in information systems, and IS project development. Software engineer should be familiar with alternatives, trade-offs and pitfalls of methodologies, technologies, domains, project life cycles, techniques, tools CASE environments, methods for user involvement in application development, software, design, trade-offs for the public domain and project personnel skills. This book discusses much of what should be the ideal software engineer's project related knowledge in order to facilitate and speed the process of novices becoming experts. The goal of this book is to discuss project planning, project life cycles, methodologies, technologies, techniques, tools, languages, testing, ancillary technologies (e.g. database) and CASE. For each topic, alternatives, benefits and disadvantages are discussed.
Publisher: Wadsworth Publishing Company
ISBN:
Category : Computers
Languages : en
Pages : 858
Book Description
This text is written with a business school orientation, stressing the how to and heavily employing CASE technology throughout. The courses for which this text is appropriate include software engineering, advanced systems analysis, advanced topics in information systems, and IS project development. Software engineer should be familiar with alternatives, trade-offs and pitfalls of methodologies, technologies, domains, project life cycles, techniques, tools CASE environments, methods for user involvement in application development, software, design, trade-offs for the public domain and project personnel skills. This book discusses much of what should be the ideal software engineer's project related knowledge in order to facilitate and speed the process of novices becoming experts. The goal of this book is to discuss project planning, project life cycles, methodologies, technologies, techniques, tools, languages, testing, ancillary technologies (e.g. database) and CASE. For each topic, alternatives, benefits and disadvantages are discussed.
Requirements Engineering for Software and Systems, Second Edition
Author: Phillip A. Laplante
Publisher: CRC Press
ISBN: 1466560819
Category : Computers
Languages : en
Pages : 326
Book Description
As requirements engineering continues to be recognized as the key to on-time and on-budget delivery of software and systems projects, many engineering programs have made requirements engineering mandatory in their curriculum. In addition, the wealth of new software tools that have recently emerged is empowering practicing engineers to improve their requirements engineering habits. However, these tools are not easy to use without appropriate training. Filling this need, Requirements Engineering for Software and Systems, Second Edition has been vastly updated and expanded to include about 30 percent new material. In addition to new exercises and updated references in every chapter, this edition updates all chapters with the latest applied research and industry practices. It also presents new material derived from the experiences of professors who have used the text in their classrooms. Improvements to this edition include: An expanded introductory chapter with extensive discussions on requirements analysis, agreement, and consolidation An expanded chapter on requirements engineering for Agile methodologies An expanded chapter on formal methods with new examples An expanded section on requirements traceability An updated and expanded section on requirements engineering tools New exercises including ones suitable for research projects Following in the footsteps of its bestselling predecessor, the text illustrates key ideas associated with requirements engineering using extensive case studies and three common example systems: an airline baggage handling system, a point-of-sale system for a large pet store chain, and a system for a smart home. This edition also includes an example of a wet well pumping system for a wastewater treatment station. With a focus on software-intensive systems, but highly applicable to non-software systems, this text provides a probing and comprehensive review of recent developments in requirements engineering in high integrity systems.
Publisher: CRC Press
ISBN: 1466560819
Category : Computers
Languages : en
Pages : 326
Book Description
As requirements engineering continues to be recognized as the key to on-time and on-budget delivery of software and systems projects, many engineering programs have made requirements engineering mandatory in their curriculum. In addition, the wealth of new software tools that have recently emerged is empowering practicing engineers to improve their requirements engineering habits. However, these tools are not easy to use without appropriate training. Filling this need, Requirements Engineering for Software and Systems, Second Edition has been vastly updated and expanded to include about 30 percent new material. In addition to new exercises and updated references in every chapter, this edition updates all chapters with the latest applied research and industry practices. It also presents new material derived from the experiences of professors who have used the text in their classrooms. Improvements to this edition include: An expanded introductory chapter with extensive discussions on requirements analysis, agreement, and consolidation An expanded chapter on requirements engineering for Agile methodologies An expanded chapter on formal methods with new examples An expanded section on requirements traceability An updated and expanded section on requirements engineering tools New exercises including ones suitable for research projects Following in the footsteps of its bestselling predecessor, the text illustrates key ideas associated with requirements engineering using extensive case studies and three common example systems: an airline baggage handling system, a point-of-sale system for a large pet store chain, and a system for a smart home. This edition also includes an example of a wet well pumping system for a wastewater treatment station. With a focus on software-intensive systems, but highly applicable to non-software systems, this text provides a probing and comprehensive review of recent developments in requirements engineering in high integrity systems.
Experimentation in Software Engineering
Author: Claes Wohlin
Publisher: Springer Science & Business Media
ISBN: 3642290442
Category : Computers
Languages : en
Pages : 249
Book Description
Like other sciences and engineering disciplines, software engineering requires a cycle of model building, experimentation, and learning. Experiments are valuable tools for all software engineers who are involved in evaluating and choosing between different methods, techniques, languages and tools. The purpose of Experimentation in Software Engineering is to introduce students, teachers, researchers, and practitioners to empirical studies in software engineering, using controlled experiments. The introduction to experimentation is provided through a process perspective, and the focus is on the steps that we have to go through to perform an experiment. The book is divided into three parts. The first part provides a background of theories and methods used in experimentation. Part II then devotes one chapter to each of the five experiment steps: scoping, planning, execution, analysis, and result presentation. Part III completes the presentation with two examples. Assignments and statistical material are provided in appendixes. Overall the book provides indispensable information regarding empirical studies in particular for experiments, but also for case studies, systematic literature reviews, and surveys. It is a revision of the authors’ book, which was published in 2000. In addition, substantial new material, e.g. concerning systematic literature reviews and case study research, is introduced. The book is self-contained and it is suitable as a course book in undergraduate or graduate studies where the need for empirical studies in software engineering is stressed. Exercises and assignments are included to combine the more theoretical material with practical aspects. Researchers will also benefit from the book, learning more about how to conduct empirical studies, and likewise practitioners may use it as a “cookbook” when evaluating new methods or techniques before implementing them in their organization.
Publisher: Springer Science & Business Media
ISBN: 3642290442
Category : Computers
Languages : en
Pages : 249
Book Description
Like other sciences and engineering disciplines, software engineering requires a cycle of model building, experimentation, and learning. Experiments are valuable tools for all software engineers who are involved in evaluating and choosing between different methods, techniques, languages and tools. The purpose of Experimentation in Software Engineering is to introduce students, teachers, researchers, and practitioners to empirical studies in software engineering, using controlled experiments. The introduction to experimentation is provided through a process perspective, and the focus is on the steps that we have to go through to perform an experiment. The book is divided into three parts. The first part provides a background of theories and methods used in experimentation. Part II then devotes one chapter to each of the five experiment steps: scoping, planning, execution, analysis, and result presentation. Part III completes the presentation with two examples. Assignments and statistical material are provided in appendixes. Overall the book provides indispensable information regarding empirical studies in particular for experiments, but also for case studies, systematic literature reviews, and surveys. It is a revision of the authors’ book, which was published in 2000. In addition, substantial new material, e.g. concerning systematic literature reviews and case study research, is introduced. The book is self-contained and it is suitable as a course book in undergraduate or graduate studies where the need for empirical studies in software engineering is stressed. Exercises and assignments are included to combine the more theoretical material with practical aspects. Researchers will also benefit from the book, learning more about how to conduct empirical studies, and likewise practitioners may use it as a “cookbook” when evaluating new methods or techniques before implementing them in their organization.
Become an Effective Software Engineering Manager
Author: James Stanier
Publisher: Pragmatic Bookshelf
ISBN: 9781680507249
Category :
Languages : en
Pages : 398
Book Description
Software startups make global headlines every day. As technology companies succeed and grow, so do their engineering departments. In your career, you'll may suddenly get the opportunity to lead teams: to become a manager. But this is often uncharted territory. How can you decide whether this career move is right for you? And if you do, what do you need to learn to succeed? Where do you start? How do you know that you're doing it right? What does "it" even mean? And isn't management a dirty word? This book will share the secrets you need to know to manage engineers successfully. Going from engineer to manager doesn't have to be intimidating. Engineers can be managers, and fantastic ones at that. Cast aside the rhetoric and focus on practical, hands-on techniques and tools. You'll become an effective and supportive team leader that your staff will look up to. Start with your transition to being a manager and see how that compares to being an engineer. Learn how to better organize information, feel productive, and delegate, but not micromanage. Discover how to manage your own boss, hire and fire, do performance and salary reviews, and build a great team. You'll also learn the psychology: how to ship while keeping staff happy, coach and mentor, deal with deadline pressure, handle sensitive information, and navigate workplace politics. Consider your whole department. How can you work with other teams to ensure best practice? How do you help form guilds and committees and communicate effectively? How can you create career tracks for individual contributors and managers? How can you support flexible and remote working? How can you improve diversity in the industry through your own actions? This book will show you how. Great managers can make the world a better place. Join us.
Publisher: Pragmatic Bookshelf
ISBN: 9781680507249
Category :
Languages : en
Pages : 398
Book Description
Software startups make global headlines every day. As technology companies succeed and grow, so do their engineering departments. In your career, you'll may suddenly get the opportunity to lead teams: to become a manager. But this is often uncharted territory. How can you decide whether this career move is right for you? And if you do, what do you need to learn to succeed? Where do you start? How do you know that you're doing it right? What does "it" even mean? And isn't management a dirty word? This book will share the secrets you need to know to manage engineers successfully. Going from engineer to manager doesn't have to be intimidating. Engineers can be managers, and fantastic ones at that. Cast aside the rhetoric and focus on practical, hands-on techniques and tools. You'll become an effective and supportive team leader that your staff will look up to. Start with your transition to being a manager and see how that compares to being an engineer. Learn how to better organize information, feel productive, and delegate, but not micromanage. Discover how to manage your own boss, hire and fire, do performance and salary reviews, and build a great team. You'll also learn the psychology: how to ship while keeping staff happy, coach and mentor, deal with deadline pressure, handle sensitive information, and navigate workplace politics. Consider your whole department. How can you work with other teams to ensure best practice? How do you help form guilds and committees and communicate effectively? How can you create career tracks for individual contributors and managers? How can you support flexible and remote working? How can you improve diversity in the industry through your own actions? This book will show you how. Great managers can make the world a better place. Join us.
The Technical and Social History of Software Engineering
Author: Capers Jones
Publisher: Addison-Wesley
ISBN: 0133365891
Category : Computers
Languages : en
Pages : 488
Book Description
“Capers Jones has accumulated the most comprehensive data on every aspect of software engineering, and has performed the most scientific analysis on this data. Now, Capers performs yet another invaluable service to our industry, by documenting, for the first time, its long and fascinating history. Capers’ new book is a must-read for every software engineering student and information technology professional.” — From the Foreword by Tony Salvaggio, CEO and president, Computer Aid, Inc. Software engineering is one of the world’s most exciting and important fields. Now, pioneering practitioner Capers Jones has written the definitive history of this world-changing industry. Drawing on several decades as a leading researcher and innovator, he illuminates the field’s broad sweep of progress and its many eras of invention. He assesses the immense impact of software engineering on society, and previews its even more remarkable future. Decade by decade, Jones examines trends, companies, winners, losers, new technologies, productivity/quality issues, methods, tools, languages, risks, and more. He reviews key inventions, estimates industry growth, and addresses “mysteries” such as why programming languages gain and lose popularity. Inspired by Paul Starr’s Pulitzer Prize–winning The Social Transformation of American Medicine, Jones’ new book is a tour de force—and compelling reading for everyone who wants to understand how software became what it is today. COVERAGE INCLUDES • The human need to compute: from ancient times to the modern era • Foundations of computing: Alan Turing, Konrad Zuse, and World War II • Big business, big defense, big systems: IBM, mainframes, and COBOL • A concise history of minicomputers and microcomputers: the birth of Apple and Microsoft • The PC era: DOS, Windows, and the rise of commercial software • Innovations in writing and managing code: structured development, objects, agile, and more • The birth and explosion of the Internet and the World Wide Web • The growing challenges of legacy system maintenance and support • Emerging innovations, from wearables to intelligent agents to quantum computing • Cybercrime, cyberwarfare, and large-scale software failure
Publisher: Addison-Wesley
ISBN: 0133365891
Category : Computers
Languages : en
Pages : 488
Book Description
“Capers Jones has accumulated the most comprehensive data on every aspect of software engineering, and has performed the most scientific analysis on this data. Now, Capers performs yet another invaluable service to our industry, by documenting, for the first time, its long and fascinating history. Capers’ new book is a must-read for every software engineering student and information technology professional.” — From the Foreword by Tony Salvaggio, CEO and president, Computer Aid, Inc. Software engineering is one of the world’s most exciting and important fields. Now, pioneering practitioner Capers Jones has written the definitive history of this world-changing industry. Drawing on several decades as a leading researcher and innovator, he illuminates the field’s broad sweep of progress and its many eras of invention. He assesses the immense impact of software engineering on society, and previews its even more remarkable future. Decade by decade, Jones examines trends, companies, winners, losers, new technologies, productivity/quality issues, methods, tools, languages, risks, and more. He reviews key inventions, estimates industry growth, and addresses “mysteries” such as why programming languages gain and lose popularity. Inspired by Paul Starr’s Pulitzer Prize–winning The Social Transformation of American Medicine, Jones’ new book is a tour de force—and compelling reading for everyone who wants to understand how software became what it is today. COVERAGE INCLUDES • The human need to compute: from ancient times to the modern era • Foundations of computing: Alan Turing, Konrad Zuse, and World War II • Big business, big defense, big systems: IBM, mainframes, and COBOL • A concise history of minicomputers and microcomputers: the birth of Apple and Microsoft • The PC era: DOS, Windows, and the rise of commercial software • Innovations in writing and managing code: structured development, objects, agile, and more • The birth and explosion of the Internet and the World Wide Web • The growing challenges of legacy system maintenance and support • Emerging innovations, from wearables to intelligent agents to quantum computing • Cybercrime, cyberwarfare, and large-scale software failure
Agile Software Engineering with Visual Studio
Author: Sam Guckenheimer
Publisher: Addison-Wesley Professional
ISBN: 0321685857
Category : Computers
Languages : en
Pages : 320
Book Description
Originally published: Upper Saddle River, NJ: Addison-Wesley, 2006 under title: Software engineering with Microsoft Visual studio team system.
Publisher: Addison-Wesley Professional
ISBN: 0321685857
Category : Computers
Languages : en
Pages : 320
Book Description
Originally published: Upper Saddle River, NJ: Addison-Wesley, 2006 under title: Software engineering with Microsoft Visual studio team system.