| |
Software Engineering
ISO/IEC 12207 - Software Life Cycle Processes
-
ISO/IEC 12207:1995 - Information technology -- Software life cycle processes
Amendments: ISO/IEC 12207:1995/Amd 1:2002; ISO/IEC 12207:1995/Amd 2:2004.
-
ISO 12207
From Wikipedia, the free encyclopedia.
ISO/IEC 12207 is an ISO standard for software life cycle processes.
-
IEE 12207
From Wikipedia, the free encyclopedia.
IEEE/EIA 12207.0, "Standard for Information Technology-Software Life Cycle
Processes", is a standard that establishes a common framework for software
life cycle process.
This standard officially replaced MIL-STD-498 for the development of
United States Department of Defense (DoD) software systems in August 1998.
-
12207.com: Information on ISO/IEC 12207 and other software engineering standards
-
IEEE/EIA 12207.0-1996
IEEE/EIA Standard Industry Implementation of International Standard ISO/IEC12207:1995.
-
IEEE 12207 Software Life Cycle (PDF)
Architecture, Phases, Products, Evaluations, Records, Audits, Reviews,
and Baselines. By David F. Rico.
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.
-
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.
Software Measurement - Functional Size
COSMIC
IFPUG
NESMA
ISO/IEC 14143 - Functional Size Measurement
-
ISO/IEC 14143-1:2007 - Information technology -- Software measurement --
Functional size measurement -- Part 1: Definition of concepts
-
ISO/IEC 14143-2:2002 - : Functional size measurement -- Part 2:
Conformity evaluation of software size measurement methods to ISO/IEC 14143-1:1998
-
ISO/IEC TR 14143-3:2003 - Functional size measurement -- Part 3:
Verification of functional size measurement methods
-
ISO/IEC TR 14143-4:2002 - Functional size measurement -- Part 4:
Reference model
-
ISO/IEC TR 14143-5:2004 - Functional size measurement -- Part 5:
Determination of functional domains for use with functional size measurement
-
ISO/IEC 14143-6:2006 - Functional size measurement -- Part 6:
Guide for use of ISO/IEC 14143 series and related International Standards
UML - Unified Modeling Language & SysML - OMG Systems Modeling Language
-
Unified Modeling Language (UML)
By Object Management Group (OMG).
UML™ Resource Page.
-
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
-
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 at SourceForge.
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 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.
ArgoUML at Tigris.
Poseidon for UML, commercial
UML tool based on ArgoUML, by Gentleware.
-
JUDE - UML Modeling Tool (freeware)
JUDE/Community.
-
Enterprise Architect (commercial)
UML design and CASE tools, by Sparx Systems.
-
IBM Rational tools for design and construction (commercial)
By IBM Rational.
Rational
Software Architect &
Rational Rose.
-
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 Feature Matrix (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)
NetBeans UML Modeling
add-on for NetBeans IDE.
- 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.
-
UML Tool Survey
By Bruce Eckel, Sep. 2003.
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
Information, exchange, discussion on DDD. Sponsored by Domain Language, Inc.
Domain-Driven Design, the Book.
-
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.
Methodologies based on the Unified Process (UP)
-
Unified Process
From Wikipedia, the free encyclopedia.
-
Methodology Evaluation and Selection
Whitepaper by David L. Hecksel, Sun Software Services.
-
IBM Rational Unified Process (RUP)
By IBM Rational Software.
-
Enterprise Unified Process (EUP)
By Scott Ambler, Ronin International.
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 2.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 Overview (PDF), por Nan Yang,
Chief Architect, Sun Microsystems.
SunTone Architecture Methodology - A 3-Dimensional Approach to Architectural
Design (PDF), Key Concepts and Overview, White paper.
Methodologies 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.
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.
-
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 Development: What, Who, How, and Whether
Agile Development guru Martin Fowler talks about how to pick methodologies,
execute them, and fix what's broken.
Interview by Elden Nelson, Fawcette Technical Publications, March 2002.
-
Agile Developer Venkat's Blog
-
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.
-
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.
-
Agile Testing
By Brian Marick.
-
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.
-
Google Direcotry: Programming Methodologies: Agile
Extreme Programming
Extreme Programming (XP)
-
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.
-
Xispê - In Portuguese
Brazilian portal which is reference on Extreme Programming (XP) subjects.
-
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, by Ron Jeffries, 11/08/2001.
XP Book Reviews.
Testing Framework Software: xUnit, unit testing.
-
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.
-
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.
SCRUM
-
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.
Dynamic Systems Development Method (DSDM)
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.
Software Testing and Quality
-
JUnit
JUnit is a simple framework to write repeatable tests in/for Java.
It is an instance of the xUnit architecture for unit testing frameworks.
- JUnit.org
The site is dedicated to software developers using JUnit or one of the
other XUnit testing frameworks.
-
JUnit Primer
Article by Mike Clark, Clarkware Consulting, October 2000.
This article demonstrates how to write and run simple test cases and test
suites using the JUnit testing framework.
-
Testing Framework (xUnit, unit testing) software
-
JUnitPerf
JUnitPerf is a collection of JUnit test decorators used to measure
the performance and scalability of functionality contained within existing
JUnit tests. By Mike Clark, Clarkware Consulting.
- TestNG
TestNG is a testing framework inspired from JUnit and NUnit but introducing
some new functionalities that make it more powerful and easier to use.
- Jakarta Cactus
Cactus is a simple test framework for unit testing server-side java code
(Servlets, EJBs, Tag Libs, Filters, ...). By Apache Jakarta Project.
The intent of Cactus is to lower the cost of writing tests for server-side code.
It uses JUnit and extends it. Cactus implements an in-container strategy.
- HttpUnit
J2EE functional testing framework.
- HtmlUnit
HtmlUnit is a "browser for Java programs". It models the HTML documents and
provides an API that allows you to invoke pages, fill forms, click links,
etc. just like you do in your "normal" browser.
HtmlUnit is used as the underlying "browser" by the Open Source testing tools
Canoo WebTest and JWebUnit.
- Canoo WebTest
Canoo WebTest is a free Open Source tool for automated testing of web
applications in a very effective way.
- JWebUnit
JWebUnit is a Java framework that facilitates creation of acceptance tests
for web applications.
- Selenium
Selenium is a test tool for web applications. Selenium tests run directly in
a browser, just as real users do. And they run in Internet Explorer, Mozilla
and Firefox on Windows, Linux, and Macintosh.
- JSFUnit
JSFUnit is a test framework for JSF applications, by JBoss. It is designed to
allow complete integration testing and unit testing of JSF applications using
a simplified API. JSFUnit tests run inside the container, which provides the
developer full access to managed beans, the FacesContext, EL Expressions, and
the internal JSF component tree. At the same time, you also have access to
parsed HTML output of each client request.
-
Shale Test Framework
The Shale Test Framework provides mock object libraries, plus base classes
for creating your own JUnit TestCases for JavaServer Faces and Servlet applications.
-
JSF Testing Tools
By Srini Penchikala, 2007-12-31, InfoQ.
- Apache JMeter
Apache JMeter is a 100% pure Java desktop application designed to load test
functional behavior and measure performance. It was originally designed for
testing Web Applications but has since expanded to other test functions.
By Apache Jakarta Project.
|