230 likes | 381 Views
KUFA UNIVERSITY. Department of Computer Science. Fundamentals of Software Engineering. Presented By Neamah Hassan. Prototype model. 1- Requires before carrying out the development of the actual S/W 2- at first work on prototype to develop 3- called as ( toy model )
E N D
KUFA UNIVERSITY Department of Computer Science
Fundamentals of Software Engineering Presented By Neamah Hassan
Prototype model 1- Requires before carrying out the development of the actual S/W 2- at first work on prototype to develop 3- called as ( toy model ) 4- build with short cuts ( the short cuts might involve using inefficient ,inaccurate , or dummy function ) 5- can be illustrate he I/P data format , msg , report and interactive dialogues to customer 6- especially useful for GUI as it become easy for the user to form his opinion with working model rather than imaging a hypothetical system
Cont…. • 7- Its useful where the exact solutions to be adopted are unclear to development team • 8- is submitted to customer and depending on feedback the requirement are refined
Cont…. Build Prototype Requirements Gathering Customer satisfied Customer Evaluation of Prototype Design Quick Design Refine Requirements Implement Test Maintain
Adv 1 - the actual code is thrown away but the experience gained is useful to development the actual system 2- associated redesign cost is reduced 3- useful when the exact solution are not clear to the developers
shortcoming 1- impossible to get it right at first chance 2- more time is required 3- additional cost 4- shows limited functional , low reliability , inefficient performance
Evolutionary model C A A A B B
Evolutionary model 1- referred as ( successive versions model and some times as incremental model ) 2- simple working is developed which subsequently undergoes many functionality improvement and additions until the desired system is realized 3- Some times called as design a little , build a little , test a little 4- the S/W requirement is first broken down into several modules that can be incrementally constructed and delivered
Cont.. 5- the development system first build a core modules and then the modules are incrementally developed 1- th 1- the user get a chance to experiment with a partially developed S/W before release of the complete system . 2- testing of core modules is done thoroughly thus reducing chance of error 4- waiting time at some time become easy adv
Spiral model Identify & Resolve Risks Determine Objectives Customer Evaluation of Prototype Develop Next Level of Product
Spiral model 1- the reason for its name is the diagramatic representation of this model appears like a spiral with many loops 2- the exact number of loops is not fixed and vary from project to project 3- every loop at this model called a phase of S/W process 4- much more flexible compared with other model . 5- Risk handling 6- called as meta model bcz sometimes work as the reset models
Phases of the spiral model .. • First phase >> some feature of the product are identified based on the risk . • Second phase >> the alternative solution are evaluated to select the best possible solution • Third phase >> consist of developing and verifying the next level of the product • Forth level >> concern reviewing the result
Adv 1- less time is required bcz execute the step parallel 2- risk analysis is done properly 1- complex 2- required knowledge staff • dis
Software project management the main goal of S/W project management is to enable group of developers work efficiently towards successful completion of the project 1- estimation The project attributes have to be estimated A- cost How much the cost to develop S/W Activities of project planning
CONT… B- duration How long is it going to develop S/W C-Effort How much effort required to develop the product 2- scheduling After the estimation is made , the schedule for manpower and other source have to developed 3- staffing Staff organization and staffing plans have to be made
Metrics for project size estimation The project size is a measure of the problem complexity in a terms of the effort and time required to develop the product . There are two metrics used to estimate size A- lines of code ( LOC ) 1-LOC is simplest bcz the LOC measure the size of project by counting the number of source instruction in the developed program
Cont.. 2- more popular bcz it is simplest 3- while counting the number of source instruction the lines of comments and header are ignores 4- systematic guess is required Project mangers divided the problem in to modules and each modules into sub modules until the size of different leaf-level modules can be approximately estimated 5- the LOC count at the end of project is very simple but the accurate estimation of LOC count at beginning of project is very difficult
Shortcoming 1-LOC gives a numerical value of problem size that can be vary with individual coding 2-LOC is measure the coding activity alone , but the good problem size should be measure the total effort needed , design , code , test , etc 3-LOC is relates poorly with quality and efficiency of code 4-LOC penalizes use higher – level language , code reuse
B- FUNCTION POINT 1- the F/P overcomes many of shortcomings of LOC METRIC 2-F/P has been slowly gaining popularity 3- can be used to easily estimate the size of S/W directly from the problem specification 4-size of S/W product is directly depend on the number of functions or features it supported 5- a computation of the number of I/P AND O/P data values gives some indication of the number of function supported by system
Shortcoming The major Shortcoming of F/P is that does not take in account the algorithms complexity of S/W , the F/P assumes that the effort required to design and develop any two functionalities of the system are same .
Next lecture Characterize of good software design Feature of software design Approaches of software design