Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
 
Post to Twitter Post to Twitter
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons
« Prev Comments 1 - 1 of 1 Next »
Add a comment If you have a SlideShare account, login to comment; otherwise comment as a guest.
    SlideShare is now available on LinkedIn. Add it to your LinkedIn profile.

    Software Analysis and Design (Lecture 2)

    From ddebowczyk, 2 years ago Add as contact

    [SkillsFeed.com] Software Process Models and Project Management - by Dr Richard Clayton and Dr Marian Gheorghe (University of Sheffield)

    6275 views | 1 comments | 3 favorites | 0 downloads | 0 embeds (Stats)

    Categories

    Business & Mgmt

    Groups/Events

    Embed in your blog options close
    Embed (wordpress.com) Exclude related slideshows Embed in your blog

    More Info

    This slideshow is Public
    CC Attribution License
    Total Views: 6275 on Slideshare: 6275 from embeds: 0
    Flagged as inappropriate Flag as inappropriate

    Flag as inappropriate

    Select your reason for flagging this slideshow as inappropriate.

    If needed, use the feedback form to let us know more details.

    Slideshow Transcript

    1. Slide 1: COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project Management Dr Richard Clayton & Dr Marian Gheorghe Module (1st part) homepage http://www.dcs.shef.ac.uk/~marian COM6030 Systems Analysis and Design 1 © University of Sheffield 2005
    2. Slide 2: Outline  Software engineering models  Software process models: waterfall, evolutionary, formal development, reuse/component development  Management spectrum  Software teams  Managing people, project, product and processes Reading: Sommerville chapter 3; Pressman chapter 2 COM6030 Systems Analysis and Design 2 © University of Sheffield 2005
    3. Slide 3: Software Engineering Problems SE deals with practical problems  Complex software products (I)  Processes (II)  Methods/Models (III)  People (IV) COM6030 Systems Analysis and Design 3 © University of Sheffield 2005
    4. Slide 4: (III) SE models Models are used to abstractly represent various processes, activities, entities etc.  SE process models:  Architectural perspective  Flow of activities  Linear vs iterative  Software processes depend on project type, complexity aspects, technology, budget, people knowledge  Models of various activities (specification, design), entities (data, transformations) COM6030 Systems Analysis and Design 4 © University of Sheffield 2005
    5. Slide 5: SE process models  SE process models:  key for MAXI project  Waterfall  Evolutionary  Formal system development  Reuse/Component-based  Iterative • Incremental • Spiral  Others COM6030 Systems Analysis and Design 5 © University of Sheffield 2005
    6. Slide 6: First part of the course Waterfall model Waterfall model maps linearly fundamental activities Requirements analysis and definition System and software design Implementing and unit testing Integration and system testing Operation and maintenance COM6030 Systems Analysis and Design 6 © University of Sheffield 2005
    7. Slide 7: Waterfall: +’s and –’s Advantages:  Help project management, documentation  Complex systems are well-defined and structured  Reflects engineering practice  Encourages a discipline of modelling Limitations  Often stages overlap  Rather inflexible  Imposes early commitments to rigid requirements set  Impossible to deal with changes COM6030 Systems Analysis and Design 7 © University of Sheffield 2005
    8. Slide 8: Evolutionary development Initial implementation refined into final system  Exploratory development: the system evolves Initial version through stages into a final software product  Throw-away prototyping Advantages: Intrm versions  Flexible and suitable for small systems  Helps in early stages or when little information known about a system Limitations:  Process is not visible  Poorly structured systems Final version  Special tools/techniques required COM6030 Systems Analysis and Design 8 © University of Sheffield 2005
    9. Slide 9: Formal systems development An approach based on formal mathematical transformations of a set of system specifications into an executable program; it consists of: … Requirements Formal Formal Integration and definition specification transformation system testing Refinement sequence Limitations Advantages  Require specialised expertise  Precise and error-free  No obvious quality over other  Suitable for safety-critical non-formal approaches systems  Introduce extra-complexity  Correctness proofs COM6030 Systems Analysis and Design 9 © University of Sheffield 2005
    10. Slide 10: Reuse-oriented development Reuse of components from other projects; essential in evolutionary approach; it consists of  Component analysis – already existing components identified  Requirements modification – requirements vs information about components  System design and reuse – design framework vs existing design  Development and integration – new components integrated with existing frameworks/templates Advantages:  Rapid and efficient development process  Reduces costs and risks Limits  Systems that do not meet real expectations  Loose control over the inherited components COM6030 Systems Analysis and Design 10 © University of Sheffield 2005
    11. Slide 11: Iterative development Complex software systems require hybrid approaches (combination of various models) and iterations over certain stages  Incremental development  Outline requirements  Assign requirements to increments  Define system architecture  Develop increment  Validate increment  Integrate increment  Validate (partial) system  Final system Advantages  Gap between system specification and system delivery is reduced  Early increments may be used as prototypes  Lower risk of project failure  Highest priority services delivered first Limitations  Increments should be small  Difficult to map customer’s requirements into increments COM6030 Systems Analysis and Design 11 © University of Sheffield 2005
    12. Slide 12: Spiral development The software process instead of being a sequence of activities is now a spiral; each loop of the spiral represents a phase of software process; each loop has four components:  Objective setting – specific objectives defined  Risk assessment and reduction  Development and validation – an appropriate model is considered  Planning – when a new phase is requested COM6030 Systems Analysis and Design 12 © University of Sheffield 2005
    13. Slide 13: Other models  Rapid Application Development (RAD) – an incremental software development process model emphasizing on a very short development cycle; useful when requirements are well- understood, modular  Concurrent development model represents associated activities as states in a concurrent statecharts – it is a paradigm for client/server applications  XP (agile) COM6030 Systems Analysis and Design 13 © University of Sheffield 2005
    14. Slide 14: Management spectrum Software engineering management refers to four P’s: people, product, process and project People:  Key players in software projects:  senior managers  project (technical) managers  practitioners  customers  end-users  Software team (practitioners)  Team organization (skills, cohesion)  Team communication COM6030 Systems Analysis and Design 14 © University of Sheffield 2005
    15. Slide 15: Software teams Software team should have:  A long/medium/short term plan (+recovery)  A good mixture of skills (management, client interaction, technical, analysis, design, modelling) and should rely on  A coherent set of documents corresponding to software processes (analysis, design, test) and team activities (minutes, agendas, tasks, plans, charts) COM6030 Systems Analysis and Design 15 © University of Sheffield 2005
    16. Slide 16: Software product management Requires quantitative estimates and an organized plan (mostly when solid information is unavailable !) .  Software scope is defined (context, objectives, function and performance)  Problem decomposition COM6030 Systems Analysis and Design 16 © University of Sheffield 2005
    17. Slide 17: Software process management The suitable process model is decided for  The customers requesting the product  The characteristics of the product  The project environment Actions  Preliminary plan developed  Process decomposition COM6030 Systems Analysis and Design 17 © University of Sheffield 2005
    18. Slide 18: Software project management Software project management requires assessing the risks involved and understanding the problems that may threaten the project; 10 facts undermining a project  Software people don’t understand customer’s needs  The project scope poorly defined  Changes poorly managed  The technology changes  Business is changing  Unrealistic deadlines  Resistant users  Losing the sponsorship  Lack of skilled people in software team  Managers/Practitioners do not use best practices COM6030 Systems Analysis and Design 18 © University of Sheffield 2005
    19. Slide 19: Summary  Software engineering processes and their associated models are presented.  Software life cycle is represented in different modelling paradigms.  Management spectrum of activities covering people, product, processes and project, is discussed.  The role of software teams is emphasized.  Learned about the need of modelling and using an engineering approach to software production. COM6030 Systems Analysis and Design 19 © University of Sheffield 2005