Software Engineering
-
Guide to the Software Engineering Body of Knowledge (SWEBOK Guide)
A project of IEEE Computer Society.
SWEBOK Guide V3.0 2004 Version (HTML public free, PDF free requires personal registration).
PDF from cankaya.edu.tr, PDF from ocw.unican.es. -
Software Engineering Information Repository (SEIR)
By Software Engineering Institute (SEI), Carnegie Mellon Univeresity, USA.
SEI Areas of work. -
Software Engineering Measurement and Analysis
By Software Engineering Institute, Carnegie Mellon University. -
IREB -International Requirements Engineering Board
Certified Professional for Requirements Engineering (CPRE). CPRE Syllabi (PDF): CPRE FL - Foundation Level (Version 2.1, 2010), available in English, French, German, Polish, Portuguese (Brazil), Spanish; CPRE AL - Advanced Level (Version 1.0, 2011/12), Requirements Elicitation and Consolidation, available in English German, Modeling, available in German. -
Joel on Software
Site of Joel Spolsky, author of books and artcles on software engineering and development.
The Joel Test: 12 Steps to Better Code, by Joel Spolsky, August 2000.
ISO/IEC 12207 - Software Life Cycle Processes
The original ISO/IEC 12207 was published on 1 August 1995 and was the first international standard to provide a comprehensive set of life cycle processes, activities and tasks for software that is part of a larger system, and for stand alone software products and services. That international standard was followed in November 2002 by ISO/IEC 15288 which addressed system life cycle processes.
IEEE cooperated with the Electronic Industries Alliance (EIA) in adopting ISO/IEC with changes to become IEEE/EIA 12207.0-1996, Standard Industry Implementation of International Standard ISO/IEC 12207. IEEE Std 12207-2008 is identical to ISO/IEC 12207:2008 and replaces IEEE/EIA 12207.0-1996.
In 2004, IEEE performed an identical adoption of ISO/IEC 15288:2002. The ISO/IEC 12207 amendments in 2002 and 2004 added process purpose and outcomes to the International Standard and established a Process Reference Model in accordance with the requirements of ISO/IEC 15504-2. IEEE did not pick up these amendments, preferring a stable base for the users of its standard. The 2008 revision of ISO/IEC 12207 is the product of a coordinated effort by IEEE and ISO/IEC JTC 1/SC 7. The base documents for the revision included the ISO/IEC standard and its amendments, and the IEEE/EIA standard and its unique material.
The 2008 revision integrates ISO/IEC 12207:1995 with its two Amendments and applies SC7 guidelines for process definition to support consistency and improved usability. Project execution was carefully coordinated with the parallel revision of ISO/IEC 15288:2002 to align structure, terms, and corresponding organizational and project processes.
-
ISO/IEC 12207:2008 - Information technology -- Software life cycle processes
Former revisions: ISO/IEC 12207:1995; ISO/IEC 12207:1995/Amd 1:2002; ISO/IEC 12207:1995/Amd 2:2004.
ISO/IEC 12207 - IEEE Std 12207-2008 (Preview) [PDF], Second edition 2008-02-01. -
ISO 12207
From Wikipedia, the free encyclopedia.
ISO/IEC 12207 is an ISO standard for software life cycle processes. -
An Introduction to International Standard ISO/IEC 12207
- Software Life Cycle Process (PDF)
By Raghu Singh, FAA, Washington, DC, 1999-04-26. -
12207.com: Software Engineering Process Technology (SEPT)
Experts on ISO/IEC 12207 Software Life Cycle Process. -
IEEE 12207 Software Life Cycle (PDF)
Architecture, Phases, Products, Evaluations, Records, Audits, Reviews, and Baselines. By David F. Rico.
ISO/IEC 12207 - Related ISO Standards
-
ISO/IEC TR 24748-3:2011
Systems and software engineering -- Life cycle management --
Part 3: Guide to the application of ISO/IEC 12207 (Software life cycle processes)
ISO/IEC TR 24748-1:2010 - Part 1: Guide for life cycle management.
ISO/IEC TR 24748-2:2011 - Part 2: Guide to the application of ISO/IEC 15288. -
ISO/IEC 15288:2008 - Systems and software engineering
-- System life cycle processes
-
ISO/IEC 15289:2011 - Systems and software engineering -- Content of systems
and software life cycle process information products (documentation)
-
ISO/IEC 14764:2006 - Software Engineering
-- Software Life Cycle Processes -- Maintenance
-
ISO/IEC/IEEE 16326:2009 - Systems and software engineering
-- Life cycle processes -- Project management
-
ISO/IEC 16085:2006 - Systems and software engineering
-- Life cycle processes -- Risk management
-
ISO/IEC 15940:2006 - Information Technology
-- Software Engineering Environment Services
-
ISO/IEC TR 24766:2009 - Information technology -- Systems and software engineering
-- Guide for requirements engineering tool capabilities
Object-Oriented Analysis and Modeling
-
Martin Fowler
Chief Scientist, ThoughtWorks.
Catalog of Patterns of Enterprise Application Architecture. - Ambysoft
Scott Ambler's Web Site for Object-Oriented Developers.
-
Scott Ambler's Online Writings
White papers that you can download free of charge as well as articles and tips that have been posted online at other sites. - The Process Patterns Resource Page
-
Scott Ambler's Online Writings
-
OOTips - Object Orientation Tips
ootips - a free service devoted to object oriented technologies. -
Mundo OO [In Portuguese]
Information on Object Orientated (OO) world. .NET, C#, C++, Component, CORBA, Design Patterns, Java, EJB, J2EE, J2ME, JSP, Servlet, Object Orientation, Programming, Application Server, SOAP, Test, UML, Web Services, XML.
UML - Unified Modeling Language & SysML - OMG Systems Modeling Language
-
Unified Modeling Language (UML)
UML™ Resource Page, by Object Management Group (OMG).
The Current Official UML Specification for free download (PDF/PS/XMI): UML Infrastructure defines the foundational language constructs, UML Superstructure defines the user level constructs.
Standard UML Profiles and related specifications, Articles about UML, UML Resource Pages, UML Tutorials, OMG's UML Professional Certification Program, Lists of UML Tools, materials about Modeling Methodologies. -
OCUP - OMG Certified UML Professional
There are three OCUP Exams - Fundamental, Intermediate and Advanced. OCUP Exam Information. -
IBM Rational Unified Modeling Language (UML) Resource Center
By Rational Software, IBM. -
Modeling Style Guidelines for the UML
Online tips and techniques for creating better software diagrams. By Scott W. Ambler, Agile Modeling. - UML Forum
FAQ, Specifications, Tools, Training, Methods/Processes, Publications, UML Mailing List, News, Other Resources. -
OMG Systems Modeling Language - SysML
The Official OMG SysML site.
UML and MDA Tools
-
Astah Community Edition (free)
Originated from JUDE. Good free UML modeling tool. -
StarUML - UML/MDA Platform (open source)
StarUML is an open source project to develop fast, flexible, extensible, featureful, and freely-available UML/MDA platform running on Win32 platform and UML modeling tool, being a compelling replacement of commercial UML tools. StarUML supports the UML 2.0 standard and MDA (Model Driven Architecture). It provides Add-in COM Architecture, External API, custom modules, templates and UML profiles, and scripting for full extensibility. StarUML manages all files in open XML format, imports Rational Rose files and exports XMI.
StarUML 2 (Beta).
Open Source (as) Alternative - StarUML. - ArgoUML (open source)
ArgoUML is a free, open source UML modelling tool, multi-platform written in Java (requires J2SE 1.3+). argouml.org. ArgoUML is compliant with the OMG Standard for UML 1.3, supportig the following diagrams: Class, Statechart, Activity, Use Case, Collaboration (Communication), Deployment, Sequence. Forward Engineering for Java, C++ and PHP. Reverse Engineering for Java.
Poseidon for UML, commercial UML tool based on ArgoUML, by Gentleware. -
Enterprise Architect (commercial)
UML design and CASE tools, by Sparx Systems. -
IBM Rational solutions for systems and software engineering (commercial)
By IBM Rational.
Rational Rhapsody family - IBM Rational Rhapsody family evaluation downloads.
Rational Rose & Rational Software Architect for WebSphere. -
Borland Together (commercial)
Together Designer (for JBuilder & Visual Studio .NET), Architect (supports Java 2, J2SE 5, J2EE, C++, C#, VB.NET, CORBA IDL), and Developer (for JBuilder, Visual Studio .NET, C++ Builder). Borland Together Edition for Eclipse. Borland Together Data Sheet (PDF). -
Visual Paradigm for UML (commercial)
By Visual Paradigm. - MagicDraw (commercial)
-
Taylor - MDA on rails (open source)
Taylor is a Model Driven Architecture (MDA) tool focused on Java EE applications. Taylor consists of a set of Eclipse plugins for simplified UML modeling and the generation of JEE code such as: EJB3 entity and session beans, JSF-based Portlets (JSR-168), and JMS-based business processes. -
NetBeans UML (open source)
Unified Modeling Language support, NetBeans IDE UML Features. NetBeans UML Developer Wiki. - UMLet (open source)
UMLet is an open-source Java tool for rapidly drawing UML diagrams with a light-weight, pop-up-free user interface. UMLet lets you draw diagram sketches fast; export diagrams to EPS, PDF, JPG, SVG, and system clipboard; share diagrams using Eclipse 3; and create your own custom graphical elements. -
Violet (open source)
Violet is a very easy to learn and use UML editor, intended for students, teachers, and authors who need to produce simple UML diagrams quickly. It is completely free (includes source, distributed under the GNU General Public License) and cross-platform, written in Java. By Cay Horstmann. -
List of UML tools
From Wikipedia, the free encyclopedia. -
UML Products
From Objects by Design. Choosing a UML Modeling Tool. -
My Little UML (Tools) Page
By Michael W. Godfrey PhD, University of Waterloo, Canada.
Model-Driven Engineering (MDE) & Domain-Driven Design (DDD)
-
Model-Driven Engineering (MDE)
From Wikipedia, the free encyclopedia. -
OMG Model Driven Architecture
By OMG - Object Management Group. -
Model-driven architecture
From Wikipedia, the free encyclopedia. -
Domain-Driven Design Community
Information, exchange, discussion on DDD. Sponsored by Domain Language, Inc.
Domain-Driven Design, the Book, by Eric Evans, foreword by Martin Fowler. -
Domain Language - DDD
What is Domain-Driven Design, by Domain Language, Inc. -
Domain-Driven Design Case Study: So We Thought We Knew Money
Case study by Jonathan Allen, 22/feb/2007, InfoQ. -
Anemic Domain Model
By Martin Fowler, 25/nov/2003. -
Clarification on UML/MDA
By Eric Newcomer, 04/03/2004.
Methods based on the Unified Process (UP)
-
Unified Process
From Wikipedia, the free encyclopedia. -
IBM Rational Unified Process (RUP)
By IBM Rational Software.
Rational Unified Process: Best Practices for Software Development Teams (PDF), Rational Software White Paper, TP026B, Revision 11/01. -
Wikipedia: Rational Unified Process
From Wikipedia, the free encyclopedia. -
Enterprise Unified Process (EUP)
By Scott Ambler.
The Unified Process is quickly becoming the de facto standard development process, also referred to as a software development methodology, within the object-oriented and component-based software communities. But we need more than a development process, we need a full-fledged software process. So here is the Enterprise Unified Process (EUP), an extension to the Rational Unified Process (RUP), which is sometimes referred to as Enterprise-RUP or simply E-RUP. EUP extensions includes two new phases, Production and Retirement, and two new disciplines, Enterprise Management (formerly called Infrastructure Management) and Operations & Support. -
Praxis 3.0: Software Development Process [In Portuguese]
By Wilson de Pádua Paula Filho, Computer Science Department of UFMG, Brazil.
Textbook "Engenharia de Software: fundamentos, métodos e padrões", 2nd Edition (Portuguese), LTC Publishing, Brazil. -
SunTone Architecture Methodology
SunTone Architecture Methodology - A 3-Dimensional Approach to Architectural Design (PDF), Key Concepts and Overview, White paper. -
System and method for software methodology evaluation and selection
United States Patent Application 20040243968-A1, David L. Hecksel, Sun Software Services, 2004.
OpenUP & Eclipse Process Framework (EPF)
-
Eclipse Process Framework (EPF)
Open Unified Process (OpenUP) component of EPF.
Introduction to OpenUP (Open Unified Process) (PDF).
Basic Unified Process: A Process for Small and Agile Projects (PDF), by Ricardo Balduino - Rational Unified Process Content Developer, IBM. - EPF Wiki
EPF OpenUP documentation, EPF Dynamic Systems Development Method (DSDM) plugin for OpenUP documentation (Scrum), EPF XP documentation. -
Wikipedia: Open Unified Process (OpenUP)
The Open Unified Process (OpenUP) is a part of the Eclipse Process Framework (EPF), an open source process framework developed within the Eclipse foundation.
OpenUP/Basic: The OpenUP/Basic is the most agile and lightweight form of OpenUP. OpenUP/Basic was developed at IBM. It was originally known as the Basic Unified Process (BUP). It was transitioned to the Eclipse Foundation in late 2005 and renamed OpenUP/Basic in early 2006.
Methods based on Agile Development
-
Agile Alliance
The AgileAlliance is a non-profit organization dedicated to promoting the concepts of agile software development, and helping organizations adopt those concepts. Those concepts are outlined by the Manifesto for Agile Software Development. -
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. -
Agile Modeling (AM)
By Scott W. Ambler, Ambysoft.
Agile Modeling (AM) is a practice-based methodology for effective modeling and documentation of software-based systems. Simply put, Agile Modeling (AM) is a collection of values, principles, and practices for modeling software that can be applied on a software development project in an effective and light-weight manner. Agile models are more effective than traditional models because they are just barely good enough, they don't have to be perfect. You may take an agile modeling approach to requirements, analysis, architecture, and design.
See also: Agile Data, Techniques for Successful Evolutionary/Agile Database Development. -
Agile software development
From Wikipedia, the free encyclopedia. -
The New Methodology
Agile development article, by Martin Fowler, Chief Scientist, ThoughtWorks, June 2002. -
Why Agile Software Development Techniques Work: Improved Feedback
Scott W. Ambler, 2006-2009.
The Criteria for Determining Whether a Team is Agile. -
An Introduction to Agile Software Development (PDF)
By Serena, June 2007. -
Portal for Agile Methodologies and Practices
Introduction, Agile, General, Crystal/ASD, DSDM, Extreme Programming (XP), FDD, Scrum, Win-Win Spiral, XBreed, Lean Development, Agile Education.
Maintained at North Carolina State University (NCSU). - Agile Developer Venkat's Blog
-
Exploration Through Example
Blog on example-driven development, Agile software development, testing, Ruby, by Brian Marick.
Testing Foundations. Agile Testing. -
Rapid application development
RAD, From Wikipedia, the free encyclopedia. -
Project Management Methodologies
Adaptive Project Framework, Agile Software Development, Crystal Methods, Dynamic Systems Development Model (DSDM), Extreme Programming (XP), Feature Driven Development (FDD), Information Technology Infrastructure Library (ITIL), Joint Application Development (JAD), Lean Development (LD), PRINCE2, Rapid Application Development (RAD), Rational Unified Process (RUP), Scrum, Spiral, Systems Development Life Cycle (SDLC), TenStep Project Management Process, Waterfall (a.k.a. Traditional).
By Marios Alexandrou.
Disciplined Agile Delivery (DAD)
-
Disciplined Agile Consortium
This is the website for practitioners and supporters of the Disciplined Agile Delivery (DAD) process decision framework. Advisory Board Directors: Scott Ambler, Mark Lines.
Resources (Slide Decks, White Papers, Posters, Online Resources, FAQ), Curriculum (Workshops, Courses), Events, Forums, News, Membership Directory.
Levels of Certification, Shuhari strategy - Shu (Learn), Ha (Detach), Ri (Transcend): Disciplined Agilist-White Belt (Shu), Disciplined Agilist-Yellow Belt (Shu), Disciplined Agilist-Green Belt (Ha), Disciplined Agilist-Black Belt (Ri).
-
Disciplined Agile Delivery
An agile process decision framework for the enterprise. Disciplined Agile Delivery (DAD) community website. Help, resources, certification. -
Article: Disciplined Agile Delivery
Por Scott Ambler, 2009-11-03, Agility@Scale: Strategies for Scaling Agile Software Development, IBM developerWorks Blogs. -
An Introduction to the Disciplined Agile Delivery - Part I [In Portuguese]
By Dennis Lopes, IBM, March 2013, in IBM developerWorks Blogs.
Part II (Roles); Part III (Phases). -
Wikipedia: Disciplined Agile Delivery
From Wikipedia, the free encyclopedia.
SCRUM
- Scrum.org
Improving the Profession of Software Development. -
SCRUM - Control Chaos
Scrum is an Agile process that can be used to manage and control complex software and product development using iterative, incremental practices. -
Scrum (development)
From Wikipedia, the free encyclopedia.
Scrum is a method for managing work, improving morale, and achieving very high productivity. The most popular agile method for project management, Scrum is noted for its simplicity, its high level of transparency, and a team based approach to work. -
The Scrum Development Process
Information by Mountain Goat Software. -
Scrum Alliance
Trusted source of Scrum knowledge. - Book:
Scrum and XP from the Trenches (168 pp.)
Author: Henrik Kniberg, InfoQ Enterprise Software Development Series. ISBN: 978-1-4303-2264-1. Non-printable free online PDF version for download.
Extreme Programming (XP)
-
Wikipedia: Extreme Programming
From Wikipedia, the free encyclopedia. Extreme Programming (or XP) is a software engineering methodology, the most prominent of several agile software development methodologies, prescribing a set of daily stakeholder practices that embody and encourage these particular XP values: Communication, Simplicity, Feedback, Courage, Respect. -
Extreme Programming: A Gentle Introduction
The goal of this site is to provide an introduction and overview of Extreme Programming (XP). -
XProgramming
XP Magazine. What is Extreme Programming, Basic Extreme Programming and Core Practices.
XP Book Reviews. -
Extreme Programming Discussion Group
Mailing list for discussion of Extreme Programming practices and principles (English). -
Extreme Programming vs. Interaction Design
When two development design visionaries meet, there's room for consensus — but not much. Interview by Elden Nelson, Fawcette Technical Publications, January 2002.
Originally at http://www.fawcette.com/interviews/beck_cooper/ -
XP Agile Universe
A conference for sharing and learning about agile software development processes. XP Universe 2001, XP Agile Universe 2002 - 2004, Agile 2005 - 2007 (combination of XP/Agile Universe and the Agile Development Conference). -
Extreme Programming FAQ
By John Brewer, Jera Design. -
OOTips: Extreme Programming
By OOTips - Object Orientation Tips.
Dynamic Systems Development Method (DSDM)
-
Dynamic Systems Development Method
From Wikipedia, the free encyclopedia. -
DSDM Consortium
Enabling Business Agility.
DSDM Atern is the proven and robust Agile framework for effective Project Management.
Agile Project Management White Paper (PDF).
DSDM Atern Handbook. -
A quality software process for rapid application development
By Gerry Coleman and Renaat Verbruggen, Software Quality Journal 7, pp. 107-122, 1998.
See ACM Portal - ISSN: 0963-9314. -
What Is DSDM?
A concise summary of the Dynamic Systems Development Method, one of the "Agile Methods". By Marc Clifton, J. Dunlap. September 2003, The Code Project.
Adaptive Software Development (ASD)
Adaptive Software Development is a software development process that grew out of rapid application development work by Jim Highsmith and Sam Bayer. ASD embodies the principle that continuous adaptation of the process to the work at hand is the normal state of affairs.
ASD replaces the traditional waterfall cycle with a repeating series of speculate, collaborate, and learn cycles. This dynamic cycle provides for continuous learning and adaptation to the emergent state of the project. The characteristics of an ASD life cycle are that it is mission focused, feature based, iterative, timeboxed, risk driven, and change tolerant.
-
Adaptive Software Development
From Wikipedia, the free encyclopedia. -
Jim Highsmith
Agile Project Management Adaptive Software Development. -
Adaptive Software
Paper by Peter Norvig and David Cohn, Harlequin Incorporated, June 2003.