software development methodologies
play

Software Development Methodologies Lecturer: Raman Ramsin Lecture - PowerPoint PPT Presentation

Software Development Methodologies Lecturer: Raman Ramsin Lecture 1: Basics Sharif University of Technology Department of Computer Engineering 1 Software Development Methodologies Lecture 1 Software Development Methodology (SDM) Software


  1. Software Development Methodologies Lecturer: Raman Ramsin Lecture 1: Basics Sharif University of Technology Department of Computer Engineering 1

  2. Software Development Methodologies – Lecture 1 Software Development Methodology (SDM) Software Development Methodology (SDM) A framework for applying software engineering practices with the specific � aim of providing the necessary means for developing software-intensive p g y p g systems Consisting of two main parts: C i ti f t i t � � A set of modeling conventions comprising a Modeling Language (syntax and semantics) ( y ) � A Process , which � provides guidance as to the order of the activities, � specifies what artifacts should be developed using the Modeling Language , � directs the tasks of individual developers and the team as a whole, � directs the tasks of individual developers and the team as a whole, and � offers criteria for monitoring and measuring a project’s products and a ti ities and activities. Sharif University of Technology Department of Computer Engineering 2

  3. Software Development Methodologies – Lecture 1 Object O e ted So t a e Object-Oriented Software Development Methodology (OOSDM) e e op e t et odo ogy (OOS ) � Specifically aimed at viewing, modeling and implementing the system as a collection of interacting objects collection of interacting objects � First appeared in late 1980s pp Categorized as � � Seminal (First and Second Generations) � Integrated (Third Generation) � Agile � Agile UML was the result of the ‘war' among seminal methodologies g g � � Process has now replaced modeling language as the main contentious issue Sharif University of Technology Department of Computer Engineering 3

  4. Software Development Methodologies – Lecture 1 Genealogy: Seminal and Integrated Methodologies (until 1996) [Webster 1996] Sharif University of Technology Department of Computer Engineering 4

  5. Software Development Methodologies – Lecture 1 UML UML [Graham 2001] Sharif University of Technology Department of Computer Engineering 5

  6. Software Development Methodologies – Lecture 1 Genealogy: Agile Methodologies Genealogy: Agile Methodologies [Abrahamsson et al. 2003] Sharif University of Technology Department of Computer Engineering 6

  7. Software Development Methodologies – Lecture 1 Analysis: Selected Methodologies y g Seminal Methodologies Agile Methodologies � � Shlaer-Mellor (1988, 1992) DSDM (1995, 2003) 1. 1. Coad-Yourdon (1989, 1991) Scrum (1995, 2001) 2. 2. RDD (1990) XP (1996, 2004) 3. 3. Booch (1991, 1994) ASD (1997, 2000) 4. 4. OMT (1991) dX (1998) 5. 5. OSA (1992) Crystal (1998, 2004) 6. 6. FDD (1999, 2002) OOSE (1992) 7. 7. BON (1992, 1995) 8. Hodge-Mock (1992) H d M k (1992) Process Patterns P P tt � 9. Syntropy (1994) 10. Ambler (1998) 1. Fusion (1994) 11. � P Process Metamodels M t d l � Integrated Methodologies OPF – as part of the 1. OPEN methodology OPM (1995, 2002) 1. (2001) (2001) Catalysis (1995, 1998) Catalysis (1995 1998) 2. 2 SPEM (2002) 2. OPEN (1996) 3. RUP (1998, 2000, 2003) /USDP (1999) 4. MDA MDA � � EUP (2000, 2005) EUP (2000 2005) 5 5. FOOM (2001) 6. Sharif University of Technology Department of Computer Engineering 7

  8. Software Development Methodologies – Lecture 1 Problems Problems � Requirements engineering is still the weak link, and requirements t traceability is rarely supported. bilit i l t d � Model inconsistency is a dire problem. � Integrated methodologies are too complex to be effectively � Integrated methodologies are too complex to be effectively mastered, configured, and enacted. � Agile methods are not mature enough: g e e ods a e o a u e e oug � Unrealistic assumptions (e.g. Scrum) � Lack of scalability (All, more or less) � Lack of a specific, unambiguous process (e.g. XP, Crystal) � Seamless development, pioneered by seminal methodologies, is not S l d l t i d b i l th d l i i t adequately appreciated and supported in modern-day methodologies. Sharif University of Technology Department of Computer Engineering 8

  9. Software Development Methodologies – Lecture 1 Methodology Development gy p � Methodologies can be categorized according to the circumstances leading to their development, including the approach and method applied: � Revolutionary : novel ideas and approaches � Evolutionary : based on existing methodologies � Evolutionary : based on existing methodologies � Extension : adding new features to an existing methodology � Integration : consolidating ideas from two or more methodologies � Merger : typically carried out through a design-by-committee procedure � Ad hoc : features are scavenged from prominent methodologies in order to fill the needs of the methodologist � Engineered : based on analysis of the problem domain and requirements thereby identified, and pre-implementation design � ‘Software processes are software too.’ Sharif University of Technology Department of Computer Engineering 9

  10. Software Development Methodologies – Lecture 1 Analysis Criteria y � OOSDM Process � Clarity, rationality, accuracy, and consistency of definition � Coverage of the generic development lifecycle activities (Analysis, Design, Implementation Test Maintenance) Implementation, Test, Maintenance) � Support for umbrella activities, especially including: � Risk management � Project management � Project management � Quality assurance � Seamlessness and smoothness of transition between phases, stages and activities � Basis in the requirements (functional and non-functional) � Testability and Tangibility of artifacts, and traceability to requirements � Encouragement of active user involvement g � Practicability and practicality � Manageability of complexity � Extensibility/Configurability/Flexibility/Scalability y/ g y/ y/ y � Application scope Sharif University of Technology Department of Computer Engineering 10

  11. Software Development Methodologies – Lecture 1 Analysis Criteria y � OOSDM Modeling Language g g g � Support for consistent, accurate and unambiguous object-oriented modeling: modeling: � Structural – Functional – Behavioural � Logical to Physical (business-process/problem domain to solution domain to implementation domain) domain to implementation domain) � Enterprise level – System level – Subsystem/Package level – Inter- object level – Intra-object level � Formal and Informal modeling facilities � Formal and Informal modeling facilities � Provision of strategies and techniques for tackling model g q g inconsistency and managing model complexity Sharif University of Technology Department of Computer Engineering 11

  12. Software Development Methodologies – Lecture 1 References R f Webster, S., “On the evolution of OO methods”, Bournemouth University, , , , y, � 1996. � Graham, I., Object-oriented Methods: Principles and Practice (3rd Edition), , , j p ( ), Addison-Wesley, 2001. Abrahamsson, P., Warsta, J., Siponen, M. T., Ronkainen, J., “New Directions , , , , p , , , , � on Agile Methods: a comparative analysis”, Proceedings of the International Conference on Software Engineering – ACM/ICSE 2003, 2003, pp. 244-254. Sharif University of Technology Department of Computer Engineering 12

Recommend


More recommend