Concise Guide to Software Engineering

Concise Guide to Software Engineering PDF Author: Gerard O'Regan
Publisher:
ISBN: 9783031078170
Category :
Languages : en
Pages : 0

Get Book

Book Description
This long-awaiting new edition of an essential textbook concisely introduces the fundamental principles of software engineering, also offering practical guidance on how to apply the theory in a real-world, industrial environment. The wide-ranging coverage encompasses all areas of software design, management, and quality. Topics and features: Presents a broad overview of software engineering, including software lifecycles and phases in software development, and project management for software engineering Includes key learning topics, summaries, and review questions in each chapter, together with a useful glossary Discusses professional responsibilities of software engineers Discusses ethical and privacy challenges in software engineering, software design and development, and project management and outsourcing Explains formal methods, a set of mathematical techniques to specify and derive a program from its specification Describes innovations in the field of software as distributed systems, service-oriented architecture, software as a service, cloud computing, and embedded systems Investigates legal aspects of software engineering including patent and copyright law, as well as legal aspects of outsourcing Examines the field of cybersecurity and cybercrime This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how to build high-quality and reliable software on time and on budget. The text also serves as a self-study primer for software engineers, quality professionals, and software managers. Dr. Gerard O'Regan is an Assistant Professor in Mathematics at the University of Central Asia in Kyrgyzstan. He is the author of several books in the Mathematics and Computing fields, including A Brief History of Computing, with Springer.

Concise Guide to Software Engineering

Concise Guide to Software Engineering PDF Author: Gerard O'Regan
Publisher:
ISBN: 9783031078170
Category :
Languages : en
Pages : 0

Get Book

Book Description
This long-awaiting new edition of an essential textbook concisely introduces the fundamental principles of software engineering, also offering practical guidance on how to apply the theory in a real-world, industrial environment. The wide-ranging coverage encompasses all areas of software design, management, and quality. Topics and features: Presents a broad overview of software engineering, including software lifecycles and phases in software development, and project management for software engineering Includes key learning topics, summaries, and review questions in each chapter, together with a useful glossary Discusses professional responsibilities of software engineers Discusses ethical and privacy challenges in software engineering, software design and development, and project management and outsourcing Explains formal methods, a set of mathematical techniques to specify and derive a program from its specification Describes innovations in the field of software as distributed systems, service-oriented architecture, software as a service, cloud computing, and embedded systems Investigates legal aspects of software engineering including patent and copyright law, as well as legal aspects of outsourcing Examines the field of cybersecurity and cybercrime This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how to build high-quality and reliable software on time and on budget. The text also serves as a self-study primer for software engineers, quality professionals, and software managers. Dr. Gerard O'Regan is an Assistant Professor in Mathematics at the University of Central Asia in Kyrgyzstan. He is the author of several books in the Mathematics and Computing fields, including A Brief History of Computing, with Springer.

Concise Guide to Software Testing

Concise Guide to Software Testing PDF Author: Gerard O'Regan
Publisher: Springer Nature
ISBN: 3030284948
Category : Computers
Languages : en
Pages : 309

Get Book

Book Description
This practically-focused textbook provides a concise and accessible introduction to the field of software testing, explaining the fundamental principles and offering guidance on applying the theory in an industrial environment. Topics and features: presents a brief history of software quality and its influential pioneers, as well as a discussion of the various software lifecycles used in software development; describes the fundamentals of testing in traditional software engineering, and the role that static testing plays in building quality into a product; explains the process of software test planning, test analysis and design, and test management; discusses test outsourcing, and test metrics and problem solving; reviews the tools available to support software testing activities, and the benefits of a software process improvement initiative; examines testing in the Agile world, and the verification of safety critical systems; considers the legal and ethical aspects of software testing, and the importance of software configuration management; provides key learning topics and review questions in every chapter, and supplies a helpful glossary at the end of the book. This easy-to-follow guide is an essential resource for undergraduate students of computer science seeking to learn about software testing, and how to build high quality and reliable software on time and on budget. The work will also be of interest to industrialists including software engineers, software testers, quality professionals and software managers, as well as the motivated general reader.

Concise Guide to Software Engineering

Concise Guide to Software Engineering PDF Author: Gerard O'Regan
Publisher: Springer Nature
ISBN: 3031078160
Category : Computers
Languages : en
Pages : 457

Get Book

Book Description
This textbook presents a concise introduction to the fundamental principles of software engineering, together with practical guidance on how to apply the theory in a real-world, industrial environment. The wide-ranging coverage encompasses all areas of software design, management, and quality. Topics and features: presents a broad overview of software engineering, including software lifecycles and phases in software development, and project management for software engineering; examines the areas of requirements engineering, software configuration management, software inspections, software testing, software quality assurance, and process quality; covers topics on software metrics and problem solving, software reliability and dependability, and software design and development, including Agile approaches; explains formal methods, a set of mathematical techniques to specify and derive a program from its specification, introducing the Z specification language; discusses software process improvement, describing the CMMI model, and introduces UML, a visual modelling language for software systems; reviews a range of tools to support various activities in software engineering, and offers advice on the selection and management of a software supplier; describes such innovations in the field of software as distributed systems, service-oriented architecture, software as a service, cloud computing, and embedded systems; includes key learning topics, summaries and review questions in each chapter, together with a useful glossary. This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how to build high quality and reliable software on time and on budget. The text also serves as a self-study primer for software engineers, quality professionals, and software managers.

Concise Guide to Formal Methods

Concise Guide to Formal Methods PDF Author: Gerard O'Regan
Publisher: Springer
ISBN: 3319640216
Category : Mathematics
Languages : en
Pages : 322

Get Book

Book Description
This invaluable textbook/reference provides an easy-to-read guide to the fundamentals of formal methods, highlighting the rich applications of formal methods across a diverse range of areas of computing. Topics and features: introduces the key concepts in software engineering, software reliability and dependability, formal methods, and discrete mathematics; presents a short history of logic, from Aristotle’s syllogistic logic and the logic of the Stoics, through Boole’s symbolic logic, to Frege’s work on predicate logic; covers propositional and predicate logic, as well as more advanced topics such as fuzzy logic, temporal logic, intuitionistic logic, undefined values, and the applications of logic to AI; examines the Z specification language, the Vienna Development Method (VDM) and Irish School of VDM, and the unified modelling language (UML); discusses Dijkstra’s calculus of weakest preconditions, Hoare’s axiomatic semantics of programming languages, and the classical approach of Parnas and his tabular expressions; provides coverage of automata theory, probability and statistics, model checking, and the nature of proof and theorem proving; reviews a selection of tools available to support the formal methodist, and considers the transfer of formal methods to industry; includes review questions and highlights key topics in every chapter, and supplies a helpful glossary at the end of the book. This stimulating guide provides a broad and accessible overview of formal methods for students of computer science and mathematics curious as to how formal methods are applied to the field of computing.

A Concise Introduction to Software Engineering

A Concise Introduction to Software Engineering PDF Author: Pankaj Jalote
Publisher: Springer Science & Business Media
ISBN: 1848003021
Category : Computers
Languages : en
Pages : 280

Get Book

Book Description
An introductory course on Software Engineering remains one of the hardest subjects to teach largely because of the wide range of topics the area enc- passes. I have believed for some time that we often tend to teach too many concepts and topics in an introductory course resulting in shallow knowledge and little insight on application of these concepts. And Software Engineering is ?nally about application of concepts to e?ciently engineer good software solutions. Goals I believe that an introductory course on Software Engineering should focus on imparting to students the knowledge and skills that are needed to successfully execute a commercial project of a few person-months e?ort while employing proper practices and techniques. It is worth pointing out that a vast majority of the projects executed in the industry today fall in this scope—executed by a small team over a few months. I also believe that by carefully selecting the concepts and topics, we can, in the course of a semester, achieve this. This is the motivation of this book. The goal of this book is to introduce to the students a limited number of concepts and practices which will achieve the following two objectives: – Teach the student the skills needed to execute a smallish commercial project.

Concise Guide to Object-Oriented Programming

Concise Guide to Object-Oriented Programming PDF Author: Kingsley Sage
Publisher: Springer
ISBN: 3030133044
Category : Computers
Languages : en
Pages : 195

Get Book

Book Description
This engaging textbook provides an accessible introduction to coding and the world of Object-Oriented (OO) programming, using Java as the illustrative programming language. Emphasis is placed on what is most helpful for the first-time coder, in order to develop and understand their knowledge and skills in a way that is relevant and practical. The examples presented in the text demonstrate how skills in OO programming can be used to create applications and programs that have real-world value in daily life. Topics and features: presents an overview of programming and coding, a brief history of programming languages, and a concise introduction to programming in Java using BlueJ; discusses classes and objects, reviews various Java library objects and packages, and introduces the idea of the Application Programming Interface (API); highlights how OO design forms an essential role in producing a useful solution to a problem, and the importance of the concept of class polymorphism; examines what to do when code encounters an error condition, describing the exception handling mechanism and practical measures in defensive coding; investigates the work of arrays and collections, with a particular focus on fixed length arrays, the ArrayList, HashMap and HashSet; describes the basics of building a Graphical User Interface (GUI) using Swing, and the concept of a design pattern; outlines two complete applications, from conceptual design to implementation, illustrating the content covered by the rest of the book; provides code for all examples and projects at an associated website. This concise guide is ideal for the novice approaching OO programming for the first time, whether they are a student of computer science embarking on a one-semester course in this area, or someone learning for the purpose of professional development or self-improvement. The text does not require any prior knowledge of coding, software engineering, OO, or mathematics.

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING PDF Author: S. A. KELKAR
Publisher: PHI Learning Pvt. Ltd.
ISBN: 9788120332720
Category : Computers
Languages : en
Pages : 956

Get Book

Book Description
A decade ago nobody could have imagined the crucial role that software would play in our everyday life. The artificial boundaries between hardware, software, telecommunication, and many other disciplines are getting blurred very rapidly. This book presents the essentials of theory and practice of software engineering in an abstracted form. Presenting the information based on software development life cycle, the text guides the students through all the stages of software production—Requirements, Designing, Construction, Testing and Maintenance. Key Features : Emphasizes on non-coding areas Includes appendices on “need to know” basis Makes the learning easier as organized by software development life cycle This text is well suited for academic courses on Software Engineering or for conducting training programmes for software professionals. This book will be equally useful to the instructors of software engineering as well as busy professionals who wish to grasp the essentials of software engineering without attending a formal instructional course.

Smart and Gets Things Done

Smart and Gets Things Done PDF Author: Avram Joel Spolsky
Publisher: Apress
ISBN: 1430202548
Category : Computers
Languages : en
Pages : 194

Get Book

Book Description
A "good" programmer can outproduce five, ten, and sometimes more run-of-the-mill programmers. The secret to success for any software company then is to hire the good programmers. But how to do that? In Joel on Hiring, Joel Spolsky draws from his experience both at Microsoft and running his own successful software company based in New York City. He writes humorously, but seriously about his methods for sorting resumes, for finding great candidates, and for interviewing, in person and by phone. Joel’s methods are not complex, but they do get to the heart of the matter: how to recognize a great developer when you see one.

Building a Career in Software

Building a Career in Software PDF Author: Daniel Heller
Publisher: Apress
ISBN: 9781484261460
Category : Computers
Languages : en
Pages : 243

Get Book

Book Description
Software engineering education has a problem: universities and bootcamps teach aspiring engineers to write code, but they leave graduates to teach themselves the countless supporting tools required to thrive in real software companies. Building a Career in Software is the solution, a comprehensive guide to the essential skills that instructors don't need and professionals never think to teach: landing jobs, choosing teams and projects, asking good questions, running meetings, going on-call, debugging production problems, technical writing, making the most of a mentor, and much more. In over a decade building software at companies such as Apple and Uber, Daniel Heller has mentored and managed tens of engineers from a variety of training backgrounds, and those engineers inspired this book with their hundreds of questions about career issues and day-to-day problems. Designed for either random access or cover-to-cover reading, it offers concise treatments of virtually every non-technical challenge you will face in the first five years of your career—as well as a selection of industry-focused technical topics rarely covered in training. Whatever your education or technical specialty, Building a Career in Software can save you years of trial and error and help you succeed as a real-world software professional. What You Will Learn Discover every important nontechnical facet of professional programming as well as several key technical practices essential to the transition from student to professional Build relationships with your employer Improve your communication, including technical writing, asking good questions, and public speaking Who This Book is For Software engineers either early in their careers or about to transition to the professional world; that is, all graduates of computer science or software engineering university programs and all software engineering boot camp participants.

Concise Guide to Databases

Concise Guide to Databases PDF Author: Peter Lake
Publisher: Springer Science & Business Media
ISBN: 1447156013
Category : Computers
Languages : en
Pages : 307

Get Book

Book Description
This easy-to-read textbook/reference presents a comprehensive introduction to databases, opening with a concise history of databases and of data as an organisational asset. As relational database management systems are no longer the only database solution, the book takes a wider view of database technology, encompassing big data, NoSQL, object and object-relational and in-memory databases. The text also examines the issues of scalability, availability, performance and security encountered when building and running a database in the real world. Topics and features: presents review and discussion questions at the end of each chapter, in addition to skill-building, hands-on exercises; introduces the fundamental concepts and technologies in database systems, placing these in an historic context; describes the challenges faced by database professionals; reviews the use of a variety of database types in business environments; discusses areas for further research within this fast-moving domain.