Software Engineering

12
Topic : SOFTWARE ENGINEERING Difference between : ( 2 marks each) A) Embedded software and System software. B) Coupling and Cohesion. C) Quality assurance and Maintenance. D) Black box and White box testing. E) Top down and Bottom up design. F) Abstraction and Polymorphism. G) Ego-less team and Chief programmer team. H) Verification and Validation. I) Cardinality and Ordinality. J) Evolutionary prototyping and Throw-away prototyping. Section: B :( 10 marks each) * Write short notes on the following: A) Formal technical reviews. B) Software maintenance. * Explain the difference between waterfall model and prototype model. Write the advantages and drawbacks of both the

Transcript of Software Engineering

Page 1: Software Engineering

Topic: SOFTWARE ENGINEERING

Difference between :( 2 marks each)A) Embedded software and System software.B) Coupling and Cohesion.C) Quality assurance and Maintenance.D) Black box and White box testing.E) Top down and Bottom up design.F) Abstraction and Polymorphism.G) Ego-less team and Chief programmer team.H) Verification and Validation.I) Cardinality and Ordinality.J) Evolutionary prototyping and Throw-away prototyping.

Section: B :( 10 marks each)* Write short notes on the following:

A) Formal technical reviews.B) Software maintenance.

* Explain the difference between waterfall model and prototype model. Write the advantages and drawbacks of both the models.

* What is SRS? Why do we need SRS? What are the characteristics and components of SRS?

* Develop an object for developing a library management system. Explain the different features of the object models.

Page 2: Software Engineering

** A) cost estimates are inherently risky irrespective of the estimation technique used. Suggest four ways in which the risk in a cost estimate can be reduced?** B) What is software configuration management? Explain the role of configuration status reporting?

* A) Compare and contrast top-down integration testing and Bottom-up integration testing.

B) Explain the data flow diagram and data dictionary with the help of an example?

Date: 27.11.2004

The goal of the design is to produce a module or the representation of the system, which can be used later to build that system. The produced module is called the design of the system. The design of the system is essentially a blue print or the plan for the solution of the system.

SYSTEM DESIGN:At the first level the focus is on designing which modules are needed for the system, the specification of these modules and how these modules should be interconnected. This is system design.

DETAIL DESIGN:In the second level the internal design of the module is decided. This design level is often called detailed design.

MODULARITY:A system is considered modular if it consists of the discrete components i.e. that each component can be implemented separately and a chained to one component has minimal impact on the other components.

Page 3: Software Engineering

DESIGN APPROACH:1) Top-down approach.2) Bottom-up approach.

TOP-DOWN APPROACH:A top-down approach starts by identifying the major components of the system decomposing them into three lower level components and repeating them until the detailed level is achieved. The top-down design method often results in stepwise refinement.

BOTTOM-UP APPROACH:The bottom-up approach starts with the most basic or primitive components and proceeds to higher level components that use these lower level components. Bottom-up method works with layer of abstraction.

COUPLING AND COHESION:Coupling between modules is the strength of interconnection or measure of interdependence between modules. Highly coupled modules are joined by strong interconnections while loosely coupled modules have weak interconnections. Coupling can be minimized by reducing the number of the interfaces and second one is by reducing the complexity of each interface. Cohesion of module represent how tightly bound the internal elements of the module are to one another. Cohesion of module gives the designer an idea about whether the different elements of the module together in the same module. There are several levels of cohesion are:a) Functional level.b) Sequential level. (First line output works as second line input.)

keep together in sequencec) Coincidental level. (Lowest kind should be avoided.) d) Association based approach of cohesion.

Page 4: Software Engineering

SOFTWARE TESTING:

APPROACHES:1.) Top-down approach.2.) Bottom-up approach.

TOP-DOWN APPROACH:In the top-down approach strategy, we start by testing the top of the hierarchy and we incrementally add modules that it calls and then test the new combined system. This approach requires stub to be written. A stub is a dummy routine that simulates a routine. To allow the module to be tested before their subordinate modules have been coded. Stub simulates the behavior of the subordinates.

BOTTOM-UP APPROACH: The bottom-up approach starts from bottom of the hierarchy. First the module at the very bottom are tested and then combined with higher level of modules for testing. To perform bottom-up testing drivers are needed to set up the appropriate environment and invoke the module it is the job of the driver to invoke the module under the testing with the different set of cases.

TYPES OF TESTING:a) Unit testing -> single module.b) Integrated Testing -> how modules work together.c) System Testing -> each phase gives deliverable document

(i.e. along code) here are tested.d) User Acceptance Testing -> it tests at user side or client side

accepting the live data from the client and see whether the process works or not.

SYSTEM TESTING:Each phase gives deliverable document (i.e. along code) here is tested.

Page 5: Software Engineering

USER ACCEPTANCE TESTING:It tests at user side or client side accepting the live data from client and see whether the process works or not.

e) Functional (Black Box Testing) e.g. random testing.f) Structural Testing (White Box Testing)

BLACK BOX TESTING:It doesn’t use any particular approach. It works insulation around module.

Date: 29-11-2004

WAP AND WML

LAYERS:1 Application layer:

(Wireless application environment)2 Session layer:

(Wireless session protocol)3 Transaction layer:

(Wireless transaction layer)4 Security layer:

(Wireless transport layer security) 5 Transport layer:

(Wireless data gram protocol)

1) The user selects an option on their mobile device that has URL with wireless markup language content assigned to it.

Page 6: Software Engineering

2) The device sends the request via a phone network to a WAP gateway using the binary encoded WAP protocol.

3) The gateway translates this WAP request into a conventional HTTP request for the specified URL and sends it on the Internet.

4) The appropriate web server picks up the HTTP request.5) The server processes the request and if the URL refers to a static

WML file the server delivers it.6) The web server adds the HTTP header to the WML content and

returns it to the gateway.7) The WAP gateway compiles the WML into binary form.8) The WAP gateway then sends the WML response back to the

mobile device.9) The mobile device receives the WML via the WAP protocol.10) The micro browser processes the WML and displays the

content on the screen.

RESTRICTIONS OF THE WIRELESS NETWORK:

1) Low Bandwidth (i.e. less bits\sec) was recovered by compacting the data, URL request is encoded.

2) Low Resolution 3) High Latency time between sending a request and

acknowledgement.4) Less Connection Stability and Unpredictable Bearer availability5) Small Display on mobile phones6) Small memory and CPU7) Limited Input Facilities8) Dependence on the batteries, which are small and have very little

standby time.

Page 7: Software Engineering

HDTP- Handheld Devices Transport Protocol. GSM- Global Services for Mobile Communication.

Protocol: set of rules and standards. Frame: it is not supported to phone services.

APPLICATION DESIGN PROCESS:1. Who is your customer?2. What micro browser u will design for?3. What phone will u design for?4. What problems will the user ran into?5. Solve each of the problem u have visualized.6. Draw the screen for the application.7. Test the mock up.8. Write the pseudo code.9. Write the prototype10. Test the prototype for the user building.11. Fill in the gaps.12. Test the final product.

IMPORTANT QUESTIONS:

2 MARK EACH: What is the b\w coupling and cohesion? What is data dictionary? What is SRS and give the characteristics of a good SRS? Explain behavioral modeling with example? What does u understand by the term software quality

assurance?

5 MARK EACH:

Page 8: Software Engineering

What is a risk? Explain the risk management process? What is the use of object model in requirement analysis

explain? Explain in brief the formal inspection process? Compare dataflow testing and random testing? Give the characteristics of a good test case?

1 MARKS EACH: The fourth level of capability maturity model is

a) Defined.b) Managed.c) Repeatable.D) Initial.

The strength of interconnection between modules is called cohesion (true or false).

In a DFD a bubble represents data repository (true or false). When a single module is tested incomplete it called

A) Unit testing.B) Structure testing.c) Alpha testing.D) Integration testing.

Risk exposure is________into probability of risk occurrence.