Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Development Life Cycles (SDLC) BY Touseef Tahir.

Similar presentations


Presentation on theme: "Software Development Life Cycles (SDLC) BY Touseef Tahir."— Presentation transcript:

1 Software Development Life Cycles (SDLC) BY Touseef Tahir

2 SDLC-Software development life cycle Process Project Software engineering System engineering

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20 Zero Assignment 1 Write a report on Extreme programming, formal methods, agile software development life cycles. Deadline : 12-09-2011 Email: touseeftahir@ciitlahore.edu.pktouseeftahir@ciitlahore.edu.pk Email subject:?

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35 The spiral model

36

37

38 Risk Management A process that ◦Identifies a risk of business loss ◦Assesses the risk’s potential impact ◦Determines how to handle the risk Protects physical assets from damage Protects nonphysical assets from software, network-related risks 38

39

40

41 Rapid application development Use Prototypes ◦Evolutionary prototypes ◦Throw-away prototypes Phases ◦Requirements planning ◦RAD design workshop ◦Implementation Why to use RAD ◦Quick development of software

42

43

44

45 The Rational Unified Process RUP is a method of managing OO Software Development It can be viewed as a Software Development Framework which is extensible and features: ◦Iterative Development ◦Requirements Management ◦Component-Based Architectural Vision ◦Visual Modeling of Systems ◦Quality Management ◦Change Control Management

46 RUP Features Online Repository of Process Information and Description in HTML format Templates for all major artifacts, including: ◦RequisitePro templates (requirements tracking) ◦Word Templates for Use Cases ◦Project Templates for Project Management Process Manuals describing key processes

47 The Phases

48 An Iterative Development Process... Recognizes the reality of changing requirements ◦Casper Jones’s research on 8000 projects  40% of final requirements arrived after the analysis phase, after development had already begun Promotes early risk mitigation, by breaking down the system into mini-projects and focusing on the riskier elements first Allows you to “plan a little, design a little, and code a little” Encourages all participants, including testers, integrators, and technical writers to be involved earlier on

49 An Incremental Development Process... Allows for software to evolve, not be produced in one huge effort Allows software to improve, by giving enough time to the evolutionary process itself Allows interim progress to continue through the stubbing of functionality Allows for the management of risk, by exposing problems earlier on in the development process

50 Goals and Features of Each Iteration Each iteration is risk-driven The primary goal of each iteration is to slowly chip away at the risk facing the project, namely: ◦performance risks ◦integration risks (different vendors, tools, etc.) ◦conceptual risks (ferret out analysis and design flaws)

51 Risk Management Identification of the risks Iterative/Incremental Development The prototype or pilot project

52 The Development Phases Inception Phase Elaboration Phase Construction Phase Transition Phase

53 Inception Phase Initial requirements capture Cost Benefit Analysis Initial Risk Analysis Project scope definition Defining a candidate architecture Development of a disposable prototype Initial Use Case Model (10% - 20% complete) First pass at a Domain Model ◦Class diagram in UML ◦Model  Semantics  code (Forward Engineering)

54 Elaboration Phase Requirements Analysis and Capture ◦Use Case Analysis  Use Case (80% written and reviewed by end of phase)  Use Case Model (80% done)  Scenarios ◦ Sequence and Collaboration Diagrams ◦ Class, Activity, Component, State Diagrams ◦Glossary (so users and developers can speak common vocabulary) ◦Domain Model ◦Risk Assessment Plan revised ◦Architecture Document

55 Construction Phase Focus is on implementation of the design: ◦cumulative increase in functionality ◦greater depth of implementation ◦greater stability begins to appear ◦analysis continues, but design and coding predominate

56 Transition Phase The transition phase consists of the transfer of the system to the user community It includes shipping, installation, training, technical support and maintenance Development team begins to shrink Control is moved to maintenance team Alpha, Beta, and final releases Software updates Integration with existing systems (legacy, existing versions, etc.)

57 CASE-Computer Aided Software Engineering

58 In the early days… Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders, etc. – Computers weren’t powerful enough or advanced yet to support higher-level functioning

59 But now… Software engineering often follows specific standardized methods There are lots of diagrams and documentation involved So now computers can be used to deal with the higher-level aspects of software engineering

60 Computer Aided Software Engineering What is a CASE Environment? ◦CASE is the use of computer-based support in the software development process. What is a CASE Tool? ◦A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within a software development process.

61 Goal of using CASE tools Supply basic functionality, do routine tasks automatically Enhance productivity ◦Generate code pieces automatically Increase software quality Intuitive use Integration with other tools

62 What could be called a CASE tool? Project management softwares System design tools Code storage Compilers Translation tools Test software

63 But generally… Code generation tools (Visual Studio.NET) Code analysis (Borland Audits) Development of data models (UML editors) Cleaning up code (refactoring tools) Bug tracker Version control (CVS, etc.)

64 They do THAT? CASE tools do more than just output code Can be used to generate SE documents ◦Database schema ◦Data flow diagrams ◦Entity relationship diagrams ◦Program specifications ◦User documentation

65 Tool typeExamples Planning toolsPERT tools, estimation tools, spreadsheets Editing toolsText editors, diagram editors, word processors Change management tools Requirement Traceability tools, change control systems Configuration management tools Version management systems, System building tools Prototyping toolsVery high level language, user interface generator Language processing tools Compliers, interpreters Program analysis toolsCross reference generators, static analyzers, dynamic analyzers Testing toolsTest data generators, file comparators Debugging toolsInteractive debugging systems Documentation toolsPay layout programs, image editors Reengineering toolsCross-reference systems, program restructuring systems

66

67

68


Download ppt "Software Development Life Cycles (SDLC) BY Touseef Tahir."

Similar presentations


Ads by Google