COMPUTER SCIENCE Topic: Software Engineering Sub-topic: Life Cycle Model Compiled & Presented by: Traci-Lee Long Kaydi-Ann Spencer Software Engineering This is the application of a systematic, disciplined and quantifiable approach to the development, operation, and maintenance of software. It also deals with the study of these approaches. Software Engineering It is concerned with developing and maintaining software systems that behave reliably and efficiently, that are affordable to develop and maintain, and that also satisfies all the requirements defined by the customers/users. Software Development Life Cycle This comprises of a series of steps or tasks taken/done during and for the development of a software. Software Development Life Cycle The basic steps include: Planning Analysis Design Implementation Maintenance There are other variations Fountain Model/Approach It is mainly used and accepted as an objectoriented development method by many engineers. (acceptability) This has to do with software reuse and life cycle in a number of development activities in which integration is supported. Fountain Model/Approach In analogy: “Just as a in a water fountain where the water rises up the middle and either falls back into the pool below or is trapped in the intermediate level” so does the fountain approach operate. Fountain Model/Approach The general movement from the analysis phase through the design phase and to implementation is interlaced with iterative cycles across theses phases during the software development process. It is a highly iterative approach and it reflects non-gaping properties. Fountain Model/Approach Fountain Model/Approach Strengths It supports incremental development (robustness). It recognizes that some activities cannot stand before others and that there is a overlap of activities throughout the development cycle (understandability). It leads to focusing on sections of the whole system known as clusters or subsystems Fountain Model/Approach Strengths It is suitable for Object-Oriented projects that have high proportion so reusable deliverables (visibility) It goes towards developing the full reuse potential of software clusters and the created system It reflects the general approach of incrementing and iterating over cluster until they develop. (reliability & robustness) Fountain Model/Approach Strengths It allows for the extending of clusters in a controlled and flexible manner to accommodate increased knowledge. (maintainability) It allows for the fact that there is considerable overlap of activities throughout the development cycle. It allows for iteration within phases (reliability). It is more flexible than waterfall or spiral models for Object-Oriented software. Fountain Model/Approach Weakness Its focus is unbalanced as everything is reuse and nothing about risks. It does not analyze clusters to see if they are of low reuse potential but goes for reuse generalization. Bibliography The following sources were used to compile the necessary information for this presentation: Software Engineering for Image Processing Systems by P. A. Laplante. retrieved from Software Development Life Cycle by P. Lorbin http://www.site-reference.com/articles/Website-Development/Software-DevelopmentLife-Cycle-Models.html : Productive objects: an applied software project management framework by Robert J. Muller http://books.google.com/books?id=TKvN5OiZCEC&pg=PA31&lpg=PA31&dq=object+oriented+life+cycle+fountain+models&source=bl&ots=9hjz-_KD6I&sig=MZ2hb3SszaJlbHctjx2OlJww1E&hl=en&ei=wn7HSrPBBZWN8AbG6pTiCA&sa=X&oi=book_result& ct=result&resnum=2#v=onepage&q=object%20oriented%20life%20cycle%20fountain%20models&f=false : http://books.google.com/books?id=s_gh4zwYAp0C&printsec=frontcover&sour ce=gbs_v2_summary_r&cad=0#v=onepage&q=&f=false www.csse.monash.edu.au/.../html/text.html http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle