حليت الواجب بس ياريت تشوفوا تتاكدوا من الحل لاني مو متاكدة
COLLEGE OF COMPUTING AND INFORMATICS
Software Engineering (IT242)
Assignment 4
General Comments:
1. Submission due date: 31/12/2016 at 11:59 pm
2. Final Score: Out of 4.
3. The questions of this assignment cover the material of weeks 12 and 13.
4. Copied assignment will be graded zero mark.
5. No assignment is accepted by the email or after the due date.
Question 1: List the testing techniques applied in testing web applications.
■ The content model for the WebApp is reviewed to uncover errors.
■ The interface model is reviewed to ensure that all use-cases can be accommodated.
■ The design model for the WebApp is reviewed to uncover navigation errors.
■ The user interface is tested to uncover errors in presentation and/or navigation mechanics.
■ Selected functional components are unit tested.
■ Navigation throughout the architecture is tested.
■ The WebApp is implemented in a variety of different environmental configurations and is tested for compatibility with each configuration.
■ Security tests are conducted in an attempt to exploit vulnerabilities in the WebApp or within its environment.
■ Performance tests are conducted.
■ The WebApp is tested by a controlled and monitored population of end-users
■ the results of their interaction with the system are evaluated for content and navigation errors, usability concerns, compatibility concerns, and WebApp reliability and performance.
(Chapter 25) (1 Mark)
Question 2: Discuss the software quality based on a pragmatic view.
(Chapter 19) (1 Mark)
Question 3: Compare and Contrast between Forward Engineering & Reverse Engineering. (Chapter 36)
¥ Reverse engineering
ذ process of design recovery
ذ analyzing a program in an effort to create a representation of the program at some abstraction level higher than source code
¥ Forward engineering
ذ sometimes called reclamation or renovation
ذ recovers design information from existing source code
ذ uses this design information to reconstitute the existing system to improve its overall quality or performance
(1 Mark)
Question 4: Answer the following questions:
(i) Write any one of the similarities & dissimilarities between Syntactic Level & Semantic Level.
■ syntactic level—spelling, punctuation and grammar are assessed for text-based documents.
■ semantic level—correctness (of information presented), consistency (across the entire content object and related objects) and lack of ambiguity are all assessed.
(Chapter 25) (0.25 Marks)
(ii) State any two reasons for the software quality dilemma.
IF you produce software with IF you produce software with terrible quality THEN you lose because no one will use it THEN you lose because no one will use it IF you spend IF you spend a lot of time AND a lot of money to create software system to create software system THEN you lose because you will be late on market or even go out THEN you lose because you will be late on market or even go out of business without bringing the software to market business without bringing the software to market The trick is to balance 1) the development (construction and testing) time and costs, and 2) the software product quality
(Chapter 19) (0.25 Marks)
(iii) Bring out any two relationships between Business Process Reengineering & Software Reengineering.
Business Process Reengineering
¥ Concerned with redesigning business processes to make them more responsive and more efficient
¥ Often relies on the introduction of new computer systems to support the revised processes
¥ May force software reengineering of legacy computer systems which designed to support existing processes
¥ Organize around outcomes, not tasks.
¥ Have the people who use the output of a process, perform the process.
¥ Incorporate information processing work into the work that produces the raw information.
¥ Treat geographically dispersed resources as though they were centralized.
¥ Link parallel activities instead of integrating their results.
¥ Put the decision point where the work is performed and build control into the process.
¥ Capture the data once, at its source.
¥
(Chapter 36) (0.50 Marks)
Software Reengineering.
¥ Inventory analysis
ذ sorting active software applications by business criticality, longevity, current maintainability, and other local criteria
ذ helps to identify reengineering candidates
¥ Document restructuring options
ذ live with weak documentation
ذ update poor documents if they are used
ذ fully rewrite the documentation for critical systems focusing on the "essential minimum"
¥ Reverse engineering
ذ process of design recovery
ذ analyzing a program in an effort to create a representation of the program at some abstraction level higher than source code
¥ Code restructuring
ذ source code is analyzed and violations of structured programming practices are noted and repaired
ذ revised code needs to be reviewed and tested
¥ Data restructuring
ذ usually requires full reverse engineering
ذ current data architecture is dissected
ذ data models are defined
ذ existing data structures are reviewed for quality
¥ Forward engineering
ذ sometimes called reclamation or renovation
ذ recovers design information from existing source code
ذ uses this design information to reconstitute the existing system to improve its overall quality or performance
End of questions