411 REFERENCE · Wikibooks
Introduction to Software Engineering
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
__TOC__
Status: This book is still under construction.
This book is an introduction to the art of software engineering. It is intended as a textbook for an undergraduate level course.
Software Engineering is about teams and it is about quality. The problems to solve are so complex or large, that a single developer cannot solve them anymore. Software engineering is also about communication on a team and with internal and external stakeholders. Teams do not consist only of developers, but also of quality assurance testers, systems architects, system/platform engineers, customers, project managers and other stakeholders.
Implementation is no longer just writing code, but it is also following guidelines, writing documentation and also writing unit tests. But unit tests alone are not enough. The different pieces have to fit together. And we have to be able to spot problematic areas using metrics and improve the quality in those areas. The code should follow certain standards to make it easier for a team to work together. Once we are finished coding, that does not mean that we are finished with the project: for large projects maintaining software and other maintenance can keep many people busy for a long time.
Since there are so many factors influencing the success or failure of a project, the book covers project management skills. Software projects can be so large that we have to do careful planning. We walk through the factors that cause a project to fail and the success factors. Last but not least, a good software engineer, like any engineer, needs tools, and in this book we cover good tools for everyday use on large, and small, projects.
We invite you to join us on the journey through the mazes of software engineering!
Introduction_to_Software_Engineering Introduction to Software Engineering
/Print version
Intermediate
/Preface/ 75% Mar 02 2011
Software Engineering
/Introduction/ 75% Mar 02 2011
/History/ 75% Mar 02, 2011
/Software Engineer/ 75% Mar 02, 2011
UML
Introduction 75% Mar 3, 2011
Models and Diagrams 75% Mar 3, 2011
Tools: Modelling and Case 25% Feb 27, 2011
Labs 75% Mar 4, 2011
Process & Methodology
Introduction 50% Feb 18, 2011
Methodology 50% Feb 18, 2011
V-Model 25% Feb 18, 2011
Agile Model 25% Feb 18, 2011
Standards 50% Feb 18, 2011
Life Cycle 25% Feb 18, 2011
Rapid Application Development 25% Feb 26, 2011
Extreme Programming 25% Feb 26, 2011
Personal Software Process 25% 26 June 2014
Tools: Process 0% Mar 8, 2011
Labs 0% Mar 8, 2011
Planning
Requirements 25% Feb 27, 2011
Requirements Management 25% Feb 27, 2011
Specification 25% Feb 27, 2011
Tools: Planning 0% Mar 8, 2011
Labs 0% Mar 8, 2011
Project Management
Introduction 25% Feb 27, 2011
Software Estimation 25% Feb 27, 2011
Cost Estimation 25% Feb 27, 2011
Development Speed
Tools: Project Management 25% Feb 27, 2011
Labs 0% Mar 8, 2011
Architecture & Design
Introduction 75% Mar 8, 2011
Design 75% Mar 8, 2011
Design Patterns 75% Mar 8, 2011
Anti-Patterns 75% Mar 9, 2011
Tools: Architecture 0% Mar 8, 2011
Labs 25% Mar 8, 2011
Implementation
Introduction 25% Feb 27, 2011
Code Convention 25% Feb 27, 2011
Good Coding
Documentation 25% Feb 27, 2011
Tools: Compiler 25% Feb 27, 2011
Tools: Debugger 25% Feb 27, 2011
Tools: IDE 25% Feb 27, 2011
Tools: GUI Builder 25% Feb 27, 2011
Tools: Source Control 25% Feb 27, 2011
Tools: Software Documentation 25% Feb 27, 2011
Labs 0% Mar 8, 2011
Testing
Introduction 25% Feb 27, 2011
Unit Tests 25% Feb 27, 2011
Profiling 25% Feb 27, 2011
Test-driven Development 25% Feb 27, 2011
Refactoring 25% Feb 27, 2011
Tools: Testing 0% Mar 8, 2011
Tools: Code Coverage 25% Feb 27, 2011
Tools: Profiling 25% Feb 27, 2011
Labs 0% Mar 8, 2011
Software Quality
Introduction 25% Feb 27, 2011
Static Analysis 25% Feb 27, 2011
Metrics 25% Feb 27, 2011
Software Package Metrics 25% Feb 27, 2011
Visualization 25% Feb 27, 2011
Code Review 25% Feb 27, 2011
Code Inspection 25% Feb 27, 2011
Tools: Static Code Analysis 25% Feb 27, 2011
Labs 0% Mar 8, 2011
Deployment & Maintenance
Introduction 25% Feb 27, 2011
Maintenance 25% Feb 27, 2011
Evolution 25% Feb 27, 2011
Tools: Build Tools 25% Feb 27, 2011
Tools: Continuous Integration 25% Feb 27, 2011
Tools: Bug Tracking 25% Feb 27, 2011
Labs 0% Mar 8, 2011
Re-engineering
Introduction 25% Feb 27, 2011
Reverse Engineering 25% Feb 27, 2011
Round-trip Engineering 25% Feb 27, 2011
Tools: Decompiler 25% Feb 27, 2011
Tools: Obfuscation 25% Feb 27, 2011
Labs 0% Mar 8, 2011
Other
Introduction
Appendices
/Glossary/
/Resources/
/Authors/
Licensing
Software engineering
I
0%