Introduction to Software Engineering

Introduction to Software Engineering
Author: Ronald J. Leach
Publisher: CRC Press
Total Pages: 512
Release: 2018-09-03
Genre: Computers
ISBN: 1498705316

Practical Guidance on the Efficient Development of High-Quality Software Introduction to Software Engineering, Second Edition equips students with the fundamentals to prepare them for satisfying careers as software engineers regardless of future changes in the field, even if the changes are unpredictable or disruptive in nature. Retaining the same organization as its predecessor, this second edition adds considerable material on open source and agile development models. The text helps students understand software development techniques and processes at a reasonably sophisticated level. Students acquire practical experience through team software projects. Throughout much of the book, a relatively large project is used to teach about the requirements, design, and coding of software. In addition, a continuing case study of an agile software development project offers a complete picture of how a successful agile project can work. The book covers each major phase of the software development life cycle, from developing software requirements to software maintenance. It also discusses project management and explains how to read software engineering literature. Three appendices describe software patents, command-line arguments, and flowcharts.

Introduction to Software Engineering Design

Introduction to Software Engineering Design
Author: Christopher John Fox
Publisher: Pearson
Total Pages: 760
Release: 2006
Genre: Computers
ISBN:

The focus of Introduction to Software Engineering Design is the processes, principles and practices used to design software products. KEY TOPICS: The discipline of design, generic design processes, and managing design are introduced in Part I. Part II covers software product design, use case modeling, and user interface design. Part III of the book is its core and covers enginnering data anyalysis, including conceptual modeling, and both architectural and detailed engineering design. MARKET: This book is for anyone interested in learning software design.

Rigorous Software Development

Rigorous Software Development
Author: José Bacelar Almeida
Publisher: Springer Science & Business Media
Total Pages: 269
Release: 2011-01-04
Genre: Computers
ISBN: 0857290185

The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.

Software Development and Professional Practice

Software Development and Professional Practice
Author: John Dooley
Publisher: Apress
Total Pages: 254
Release: 2011-10-13
Genre: Computers
ISBN: 143023802X

Software Development and Professional Practice reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code. Software Development and Professional Practice is also about code construction—how to write great programs and make them work. What, you say? You've already written eight gazillion programs! Of course I know how to write code! Well, in this book you'll re-examine what you already do, and you'll investigate ways to improve. Using the Java language, you'll look deeply into coding standards, debugging, unit testing, modularity, and other characteristics of good programs. You'll also talk about reading code. How do you read code? What makes a program readable? Can good, readable code replace documentation? How much documentation do you really need? This book introduces you to software engineering—the application of engineering principles to the development of software. What are these engineering principles? First, all engineering efforts follow a defined process. So, you'll be spending a bit of time talking about how you run a software development project and the different phases of a project. Secondly, all engineering work has a basis in the application of science and mathematics to real-world problems. And so does software development! You'll therefore take the time to examine how to design and implement programs that solve specific problems. Finally, this book is also about human-computer interaction and user interface design issues. A poor user interface can ruin any desire to actually use a program; in this book, you'll figure out why and how to avoid those errors. Software Development and Professional Practice covers many of the topics described for the ACM Computing Curricula 2001 course C292c Software Development and Professional Practice. It is designed to be both a textbook and a manual for the working professional.

A Concise Introduction to Software Engineering

A Concise Introduction to Software Engineering
Author: Pankaj Jalote
Publisher: Springer Science & Business Media
Total Pages: 280
Release: 2008-10-17
Genre: Computers
ISBN: 1848003021

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.

Software Engineering from Scratch

Software Engineering from Scratch
Author: Jason Lee Hodges
Publisher: Apress
Total Pages: 326
Release: 2019-10-15
Genre: Computers
ISBN: 1484252063

Learn software engineering from scratch, from installing and setting up your development environment, to navigating a terminal and building a model command line operating system, all using the Scala programming language as a medium. The demand for software engineers is growing exponentially, and with this book you can start your journey into this rewarding industry, even with no prior programming experience. Using Scala, a language known to contain “everything and the kitchen sink,” you’ll begin coding on a gentle learning curve by applying the basics of programming such as expressions, control flow, functions, and classes. You’ll then move on to an overview of all the major programming paradigms. You’ll finish by studying software engineering concepts such as testing and scalability, data structures, algorithm design and analysis, and basic design patterns. With Software Engineering from Scratch as your navigator, you can get up to speed on the software engineering industry, develop a solid foundation of many of its core concepts, and develop an understanding of where to invest your time next. What You Will Learn Use Scala, even with no prior knowledge Demonstrate general Scala programming concepts and patterns Begin thinking like a software engineer Work on every level of the software development cycle Who This Book Is For Anyone who wants to learn about software engineering; no prior programming experience required.

Guide to the Software Engineering Body of Knowledge (Swebok(r))

Guide to the Software Engineering Body of Knowledge (Swebok(r))
Author: IEEE Computer Society
Publisher:
Total Pages: 348
Release: 2014
Genre: Computer software
ISBN: 9780769551661

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)).

Statistical Software Engineering

Statistical Software Engineering
Author: National Research Council
Publisher: National Academies Press
Total Pages: 83
Release: 1996-03-15
Genre: Computers
ISBN: 0309176085

This book identifies challenges and opportunities in the development and implementation of software that contain significant statistical content. While emphasizing the relevance of using rigorous statistical and probabilistic techniques in software engineering contexts, it presents opportunities for further research in the statistical sciences and their applications to software engineering. It is intended to motivate and attract new researchers from statistics and the mathematical sciences to attack relevant and pressing problems in the software engineering setting. It describes the "big picture," as this approach provides the context in which statistical methods must be developed. The book's survey nature is directed at the mathematical sciences audience, but software engineers should also find the statistical emphasis refreshing and stimulating. It is hoped that the book will have the effect of seeding the field of statistical software engineering by its indication of opportunities where statistical thinking can help to increase understanding, productivity, and quality of software and software production.

Software Engineering and Testing

Software Engineering and Testing
Author: B. B. Agarwal
Publisher: Jones & Bartlett Learning
Total Pages: 534
Release: 2010
Genre: Computers
ISBN: 9781934015551

This book is designed for use as an introductory software engineering course or as a reference for programmers. Up-to-date text uses both theory applications to design reliable, error-free software. Includes a companion CD-ROM with source code third-party software engineering applications.