# Software develop....

still student um GCWUS
8. Feb 2015
1 von 23

### Software develop....

• 1. My first slides Designed by: Iqra Aleem
• 2. PROGRAMMING FUNDAMENTALS Course Code: 104 BSCS: 1st Semester
• 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 today’s 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 It’s may be in this form condition Else- statement Then-statement
• 18. Flow chart- repatriation control structure  It’s 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.
• 23. . Thank you