3. Software Development Method What is SDM? A framework that describes the activities performed at each stage of a software development project.
4. Phases Specification of needs Problem analysis Implementation Testing and Verification Design and Algorithmic Representation Documentation
5. Specification of Needs In this phase we actually learn about: What the problem is What is needed to solve it What solution should provide If there are constraint and special conditions.
6. Problem analysis In this phase we should identify following: Input to the problem, their form and input media to be used Output expected, their form and output media to be used Special constraints and conditions Formulas or equations to be used.
7. Design andAlgorithmic Representation An algorithm is a sequence of infinite number of steps arranged in a specific logic order which, when executed, produces the solution for a problem An algorithm must satisfy these requirements: It may have an input It may have an output It should not be ambiguous o Every step in algorithm must be clear as what is supposed to do
8. Design andAlgorithmic Representation cont. It must be general It must be correct and it must solve the problem for which it is designed It must execute and terminate in a finite amount of time It must be efficient enough so that it can solve the intended problem using the recourses currently available on the computer An algorithm can be represented by using: orPseudo codes Flow chart
9. Control Structure In order to tackle a problem, we need: A correct algorithm To apply the algorithm at the good moment To decide which algorithm to apply To know if a certain operation to be repeated An algorithm can be described using only three control structures: sequence selection reputation
10. Pseudocodes A pseudocode is a semiformal, english-like language with limited vocabulary that can be used to design and describe algorithm Criteria of a good pseudocode: Easy to understand, precise and clear Gives correct solution in all cases Eventually end
11. Pseudocodes: the sequence control structure A series of steps or statement that are executed in the order they are written in algorithm The beginning and ends of a block of statement can be optionally marked with keywords begin and end. o Example: Begin Read the birth date from user. Calculate the difference between birth date and todays date. Print the user age. End
12. Pseudocodes: The selection control structure Defines two courses of action depending on outcome of a condition. A condition is an expression that is, when computed, evaluated either true or false. The keywords used are if and else. if condition if age is greater than 23 then-part printf retire Else else Else-part print work work work end_if end_if Format Example
13. Pseudocodes: The repetition control structure The repetition control structure may be like this example: Summing up to 10 numbers Cumulative sum =0 current num = 1 while current num is less or equal to 10 cumulative sum = cumulative sum + current number current number = current number + 1 end_while print the value of cumulative number o In this algorithm, we have used both sequence and repetition control structure.
14. Flow charts Flow chart is a graph used to depict or show a step by step solution using symbols which represent a task. The symbols used consists of geometrically shapes that are connected by flow lines. Flow chart is graphical in nature.
15. Flowchart symbols Terminal symbol-indicates the beginning and ending points. Process symbol-shows an instruction. Input/output symbol- shows an input/output operations Disk storage-indicates input or output from disk storage. printer output symbol- shows hard copy printer output selection symbol-shows a selection process for two way selection. off page connector-provides continuation of a logical path of another page.
16. Flow chart symbols cont. On page connector-provides continuation of a logical path at another point of the same page. flow lines-indicates the logical sequence of execution steps. Flow chart sequence control structure: statement1 statement2 :
17. Flow chart-selection control structure Its may be in this form condition Else- statement Then-statement
18. Flow chart- repatriation control structure Its may be like this yes no condition Loop statement
19. Implementation The process of implementing on algorithm by writing a computer program using a programming language. The output of the program must be solution of problem. The program must not do anything that is not supposed to do (think of those may viruses, buffer overflow, trogon horses etc, that we experience almost daily . All these results from programs doing more than they were intended to do)
20. Testing and verification Program testing is the process of executing a program to demonstrate its correctness Program verification is the process of ensuring that a program meets user requirements After the program is compiled , we must run the program and verify it with different inputs before the program can be released to the public or other users
21. Documentation Contains details produced at all stages of program development cycle. It can be done in two ways: Writing comments between your lines of codes Creating a separate text file to explain the program Important not for only other people to use or modify your program, but also for you to understand your own program after a long time
22. Documentation conti.. Documentation is important because: You may return to this program in future to use the whole of or part of it again Other programmer or end user will need some information about your program for reference or maintenance You may some day have to modify the program or may discover errors in your program Although documentation is listed as the last stage of software development method , it is actually an ongoing process which should be done from very beginning of software development method.