Published

2009-01-01

The UNC-method: a problem-based software development method

UNC-Method: un método de desarrollo de software basado en problemas

Keywords:

software development method, problem, goal, problem domain (en)
métodos de desarrollo de software, problemas, metas, dominio del problema (es)

Downloads

Authors

  • Carlos Mario Zapata Jaramillo Universidad Nacional de Colombia
  • Fernando Arango Isaza Universidad Nacional de Colombia

Software engineers use development methods to guarantee on-time delivery, keeping to budget and quality in their software applications. There are two kinds of development methods: plan-driven and agile methods. Both of them still have problems; these refer to resolving problems instead of thinking about them, they use informal or semi-formal artefacts and they leave consistency management to the analysts. The UNC-method (a problem-based software development method) is defined in this paper. The UNC-method is currently being developed in the Universidad Nacional de Colombia; it has been used by students from the School of Systems as part of their training in methodological software development during the last five years. The UNC-method is a mixture of well-known artefacts (i.e. UML diagrams and graphical user interfaces) and non-traditional approaches (e.g. cause-and-effect diagram, KAOS goal diagrams and pre-conceptual schemas) used in trying to overcome the aforementioned problems. A case study is also used for exemplification purposes.

Los ingenieros de software emplean los métodos de desarrollo para garantizar la entrega puntual, el cumplimiento de los presupuestos y la calidad de las aplicaciones de software. Existen dos tipos de métodos de desarrollo: los dirigidos por planes, y los ágiles. Ambos, aún presentan problemas: se refieren a la solución en lugar de pensar en el problema, usan artefactos formales o semiformales y dejan el manejo de la consistencia en manos de los analistas. En este artículo se define UNC-Method, un método de desarrollo de software basado en problemas, que se viene desarrollando en la Universidad Nacional de Colombia y que se usa en la Escuela de Sistemas como parte del entrenamiento en desarrollo metodológico de software a los estudiantes de dicha universidad durante los últimos cinco años. UNC-Method combina artefactos tradicionales del desarrollo de software (como los diagramas de UML y las interfaces gráficas de usuario) con enfoques no tradicionales en dicha disciplina (como los diagramas causa-efecto, los diagramas de objetivos de KAOS y los esquemas preconceptuales) en un esfuerzo por resolver los problemas antes mencionados. Además, se ejemplifica el método con un caso de estudio.

References

Beck, K., Extreme Programming Explained: Embrace Change, Reading., Addison-Wesley, 2000.

Boehm, B., Get ready for agile methods, with care., Computer, Vol. 35, No. 1, 2002, pp. 64–69.

Coad, P., LeFebvre, E., De Luca, J., Java Modeling in Color with UML- Enterprise Components and Process.,

Upper Saddle River, Prentice Hall, 1999.

Gibbs, W., Software’s chronic crisis., Scientific American, Sept. 1994, pages 86-101.

Ishikawa, K., Guide to quality control., Asian Productivity Organization, Tokyo, 1986.

Juristo, N., Morant, J., and Moreno, A., A formal approach for generating oo specifications from natural language., Journal of Systems and Software, Vol. 48, No. 2, 1999, pp. 139-153.

Karner, G., Metrics for Objectory., Diploma thesis, University of Linköping, Sweden. No. LiTH-IDA-Ex-9344:21, 1993.

Kruchten, Ph., Rational Unified Process - An Introduction. Reading., Addison-Wesley-Longman, 1999.

OMG., UML 2.0 Superstructure Specification., Available in http://www.omg.org/uml/ [last access: May 2008].

Oracle ® Corporation., Oracle MethodSM CDM Quick Tour., Redwood City, Oracle Corporation, 2000.

Zapata, C. M., Arango, F., Alineación entre Metas Organizacionales y Elicitación de Requisitos del Software., DYNA, No. 143, 2004, pp. 101-110.

Naur, P., Randell, B., (Eds.), Software Engineering: Report of a conference sponsored by the NATO Science Committee., Garmisch, Germany, 7-11 Oct. 1968, Brussels, Scientific Affairs Division, NATO, 1969.