Presentation is loading. Please wait.

Presentation is loading. Please wait.

2-Oct-15 Software Development Process E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 2 : Administrative dan Introduction 2 Oktober.

Similar presentations


Presentation on theme: "2-Oct-15 Software Development Process E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 2 : Administrative dan Introduction 2 Oktober."— Presentation transcript:

1 2-Oct-15 Software Development Process E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 2 : Administrative dan Introduction 2 Oktober 2010

2 Eko AB – Analisis dan Perancangan Algoritma 2 Part 2 Software Development Process

3 Eko AB – Analisis dan Perancangan Algoritma 3 Systems vs. Software Development Difficulties in Software Develoment Software Development Life Cycle User Involvement Case Tools Support Outline

4 Eko AB – Analisis dan Perancangan Algoritma 4 Systems Development Systems development is concerned with all aspects of computer-based systems development including –hardware, –software and –Human activities May not even include software as part of the solution

5 Eko AB – Analisis dan Perancangan Algoritma 5 Software Development Software development is focused soly on producing a software system that will satisfy user requirement. Software: computer programs and associated documentation Software development may be considered as part of systems development

6 Eko AB – Analisis dan Perancangan Algoritma 6 The Main Players Developers –Those who will produce the system End-users –Those who may directly operate the system Owners or sponsors - clients –Those who commission the project, pay for it or have the power to halt it

7 Eko AB – Analisis dan Perancangan Algoritma 7 Sotware quality: whether the software “fits for purpose”, satisfies all user requirements. Example failures –It might work, but dreadful to use (user) –It is pretty, but does not do anything useful (user) –Users and owners may not know how to ask for what they really want, e.g. “We built what they said they wanted” (developer) –Budget and time constraints often conflict with doing the job properly, e.g. “There was not enough time to do it any better” (developer) –Difficulties for the possession of blended skills, e.g. “Do not blame me, I never done object-oriented analysis before” (developer) Difficulties in Software Development

8 Eko AB – Analisis dan Perancangan Algoritma 8 Productivity: the progress of the project, and the resources (including time and money) that it consumes along the way (much related to project management) Example failures –A system that is promised but not delivered (user) –It is no use delivering now, we need it last April (owner) –Projects that overspend their budget (owner) –Requirements drift, e.g. user changes their minds frequently(develper) –Implementation not feasible, e.g. we said it was impossible, but no-one listened (developer) Difficulties in Software Development How to overcome them?

9 Eko AB – Analisis dan Perancangan Algoritma 9 Software Development Process Subdividing the process of software development into different phases Ease of management to produce appropriate quality standard and to stay within the allocated budgest Help to identify and allocate developers’ skills appropriately, and thus improve the quality of the task completion Known as project life cycle model

10 Eko AB – Analisis dan Perancangan Algoritma 10 Project Life Cycle Two important precursor phases are –Strategic Information Systems Planning –Business Modelling Focus on organisation needs They are not computational Universially accepted for commercially oriented computer system development Don´t blindly follow the path to automation. The very first question is whether or not you even need a computer system...”

11 Eko AB – Analisis dan Perancangan Algoritma 11 Generic Life Cycle Models The Waterfall Model Prototyping Iterative and Incremental Development The Unified Process Life Cycle

12 Eko AB – Analisis dan Perancangan Algoritma 12 Waterfall Life Cycle Requirements specification Functional specification Acceptance test specifications Unit test report Sub-system test report System test report Acceptance test report Completed system Software architecture specification System test specification Design specification Sub-system test specification Unit test specification Change requests Change request report

13 Eko AB – Analisis dan Perancangan Algoritma 13 Waterfall Life Cycle The traditional life cycle (TLC) for information systems development. So called because of the difficulty of returning to an earlier phase. The drawback of the waterfall model is the difficulty of accommodating change after the process is underway

14 Eko AB – Analisis dan Perancangan Algoritma 14 TLC with Iteration The cost of this form of iteration increases as the project progresses making it impractical and not effective

15 Eko AB – Analisis dan Perancangan Algoritma 15 Problems with TLC Real projects rarely follow such a simple sequential life cycle –Lapsed time between systems engineering and the final installation is long –Iterations are almost inevitable in real projects but are expensive & problematic with the TLC –Unresponsive to changes during project as iteration is difficult Therefore, this model is only appropriate when the requirements are well-understood

16 Eko AB – Analisis dan Perancangan Algoritma 16 Strengths of TLC Provide a very structured way to system development Tasks in phases may be assigned to specialized teams. Project progress evaluated at the end of each phase, and assessment made as to whether the project should proceed

17 Eko AB – Analisis dan Perancangan Algoritma 17 Prototyping Life Cycle Not intended to deliver the final working system Quickly built up to explore some aspects of the system May be used as part of other iterative life cycle

18 Eko AB – Analisis dan Perancangan Algoritma 18 Prototyping – Advantages Early demonstrations of system functionality help identify any misunderstandings between developer and client Client requirements that have been missed are identified Difficulties in the interface can be identified The feasibility and usefulness of the system can be tested, even though, by its very nature, the prototype is incomplete

19 Eko AB – Analisis dan Perancangan Algoritma 19 Prototyping – Problems: The client may perceive the prototype as part of the final system The prototype may divert attention from functional to solely interface issues Prototyping requires significant user involvement Managing the prototyping life cycle requires careful decision making

20 Eko AB – Analisis dan Perancangan Algoritma 20 The Spiral Model (Boehm, 1988) Incremental Development

21 Eko AB – Analisis dan Perancangan Algoritma 21 Incremental Development Iterative problem solving: repeats activities, each can be viewed as a mini-project Incremental delivery, either external or internal release New release = new functionality + (improved) previous release Several approaches to structuring iterations –Define and implement the key system functions –Focus on one subsystem at a time –Define by complexity or risk of certain components

22 Eko AB – Analisis dan Perancangan Algoritma 22 The Unified Process System Development Life Cycle Unified Process Life Cycle

23 Eko AB – Analisis dan Perancangan Algoritma 23 Unified Process Life Cycle Iteration

24 Eko AB – Analisis dan Perancangan Algoritma 24 Unified Process Life Cycle Captures many elements of best practice The phases are: –Inception is concerned with determining the scope and purpose of the project; –Elaboration focuses requirements capture and determining the structure of the system; –Construction's main aim is to build the software system; –Transition deals with product installation and rollout.

25 Eko AB – Analisis dan Perancangan Algoritma 25 Predictive versus adaptive approaches to the SDLC Choose Appropriate Life Cycle TCL is highly predictive Prototyping, Spiral and UP life cycle models are highly adaptive

26 Eko AB – Analisis dan Perancangan Algoritma 26 User Involvement As well as use appropriate process model, user involvement and CASE tools support also very improtant for project success User’s can be involved at various levels –As part of the development team (DSDM) –Via a consultative approach –In fact gathering

27 Eko AB – Analisis dan Perancangan Algoritma 27 CASE Tools CASE-Computer Aided Software Engineering, typically provide a range of features including: –Model and technical support checks for syntactic correctness, consistency and completeness Layering, navigation to linked diagrams repository support, traceability report generation system simulation, performance analysis –Software construction Code generation Reverse engineering

28 Eko AB – Analisis dan Perancangan Algoritma 28 Reading Text Chapter 2, 3

29 Eko AB – Analisis dan Perancangan Algoritma 29 Execises 1.Distinguish between client and user. 2.Define software quality. 3.What are the main difference between quality problems and productivity problems? 4.Advantages and disadvantages of TLC, and how to overcome the disadvantges? 5.Differences between prototyping and incremental development? 6.Identify the ways and potential problems with user involvement? 7.What do you think is meant by the term failure when it is applied to an IS project?


Download ppt "2-Oct-15 Software Development Process E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 2 : Administrative dan Introduction 2 Oktober."

Similar presentations


Ads by Google