A Concise Introduction to Software Engineering

A Concise Introduction to Software Engineering

Author: Pankaj Jalote

Publisher: Springer Science & Business Media

Published: 2008-10-17

Total Pages: 280

ISBN-13: 1848003021

DOWNLOAD EBOOK

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 Software Engineering

Concise Guide to Software Engineering

Author: Gerard O'Regan

Publisher: Springer Nature

Published: 2022-09-24

Total Pages: 457

ISBN-13: 3031078160

DOWNLOAD EBOOK

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.


Software Engineering

Software Engineering

Author: Elvis C. Foster

Publisher: CRC Press

Published: 2021-07-20

Total Pages: 621

ISBN-13: 100039381X

DOWNLOAD EBOOK

Software Engineering: A Methodical Approach (Second Edition) provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems, proven over several years of teaching, with outstanding results. The book covers concepts, principles, design, construction, implementation, and management issues of software engineering. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes the author’s original methodologies that add clarity and creativity to the software engineering experience. New in the Second Edition are chapters on software engineering projects, management support systems, software engineering frameworks and patterns as a significant building block for the design and construction of contemporary software systems, and emerging software engineering frontiers. The text starts with an introduction of software engineering and the role of the software engineer. The following chapters examine in-depth software analysis, design, development, implementation, and management. Covering object-oriented methodologies and the principles of object-oriented information engineering, the book reinforces an object-oriented approach to the early phases of the software development life cycle. It covers various diagramming techniques and emphasizes object classification and object behavior. The text features comprehensive treatments of: Project management aids that are commonly used in software engineering An overview of the software design phase, including a discussion of the software design process, design strategies, architectural design, interface design, database design, and design and development standards User interface design Operations design Design considerations including system catalog, product documentation, user message management, design for real-time software, design for reuse, system security, and the agile effect Human resource management from a software engineering perspective Software economics Software implementation issues that range from operating environments to the marketing of software Software maintenance, legacy systems, and re-engineering This textbook can be used as a one-semester or two-semester course in software engineering, augmented with an appropriate CASE or RAD tool. It emphasizes a practical, methodical approach to software engineering, avoiding an overkill of theoretical calculations where possible. The primary objective is to help students gain a solid grasp of the activities in the software development life cycle to be confident about taking on new software engineering projects.


Experimentation in Software Engineering

Experimentation in Software Engineering

Author: Claes Wohlin

Publisher: Springer Science & Business Media

Published: 2012-06-16

Total Pages: 249

ISBN-13: 3642290442

DOWNLOAD EBOOK

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.


Software Engineering

Software Engineering

Author: Elvis C. Foster

Publisher:

Published: 2010

Total Pages: 621

ISBN-13: 9781425772659

DOWNLOAD EBOOK

This text provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems. It is based on lecture notes that have been tested and proven over several years, with outstanding results. The book discusses concepts, principles, design, construction, implementation, and management issues of software systems. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes a number of Foster's original methodologies that add clarity and creativity to the software engineering experience, while making a novel contribution to the discipline. Upholding his aim for brevity, comprehensive coverage, and relevance, Foster's practical and methodical discussion style gets straight to the salient issues, and avoids unnecessary fluff as well as an overkill of theoretical calculations. Students and entry-level software engineers alike should find this approach useful in their respective needs. Brief Contents Division A: Fundamentals 1. Introduction to Software Engineering 2. The Role of the Software Engineer Division B: Software Investigation & Analysis 3. Project Selection and Initial System Requirements 4. The Requirements Specification 5. Information Gathering 6. Communicating Via Diagram 7. Decision Models for System Logic 8. Project Management Aids Division C: Software Design 9. Overview of Software Design 10. Database Design 11. User Interface Design 12. Operations Design 13. Other Design Considerations Division D: Software Development 14. Software Development Issues 15. Human Resource Management 16. Software Economics Division E: Software Implementation & Management 17. Software Implementation Issues 18. Software Management 19. Organizing for Effective Management. Division F: Final Preparations 20. Sample Exercises and Examination Questions Division G: Appendices Appendix 1: Introduction Object-Oriented Methodologies Appendix 2: Basic Concepts of Object-Oriented Methodologies Appendix 3: Object-Oriented Information Engineering Appendix 4: Basic Guidelines for Object-Oriented Methodologies Appendix 5: Categorizing Objects Appendix 6: Specifying Object Behavior Appendix 7: Tools for Object-Oriented Methodologies Appendix 8: ISR for a Generic Inventory Management System Appendix 9: RS for a Generic Inventory Management System Appendix 10: DS for a Generic Inventory Management System


Introduction to Software Engineering

Introduction to Software Engineering

Author: Ronald J. Leach

Publisher: CRC Press

Published: 2018-09-03

Total Pages: 540

ISBN-13: 1498705316

DOWNLOAD EBOOK

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.


Concise Guide to Software Testing

Concise Guide to Software Testing

Author: Gerard O'Regan

Publisher: Springer Nature

Published: 2019-09-30

Total Pages: 309

ISBN-13: 3030284948

DOWNLOAD EBOOK

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.


Software Engineering

Software Engineering

Author: Elvis Foster

Publisher: Apress

Published: 2014-12-16

Total Pages: 561

ISBN-13: 1484208471

DOWNLOAD EBOOK

This text provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems proven over several years of teaching, with outstanding results. The book covers concepts, principles, design, construction, implementation, and management issues of software systems. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes a number of the author’s original methodologies that add clarity and creativity to the software engineering experience, while making a novel contribution to the discipline. Upholding his aim for brevity, comprehensive coverage, and relevance, Foster’s practical and methodical discussion style gets straight to the salient issues, and avoids unnecessary topics and minimizes theoretical coverage.


Model-Driven Software Engineering in Practice

Model-Driven Software Engineering in Practice

Author: Marco Brambilla

Publisher: Morgan & Claypool Publishers

Published: 2017-03-30

Total Pages: 391

ISBN-13: 1627056955

DOWNLOAD EBOOK

This book discusses how model-based approaches can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE). MDSE practices have proved to increase efficiency and effectiveness in software development, as demonstrated by various quantitative and qualitative studies. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis. The aim of this book is to provide you with an agile and flexible tool to introduce you to the MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDSE instruments for your needs so that you can start to benefit from MDSE right away. The book is organized into two main parts. The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios, and current standards, like the well-known MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDSE in existing development processes. The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDSE projects. The second edition of the book features: a set of completely new topics, including: full example of the creation of a new modeling language (IFML), discussion of modeling issues and approaches in specific domains, like business process modeling, user interaction modeling, and enterprise architecture complete revision of examples, figures, and text, for improving readability, understandability, and coherence better formulation of definitions, dependencies between concepts and ideas addition of a complete index of book content In addition to the contents of the book, more resources are provided on the book's website http://www.mdse-book.com, including the examples presented in the book.