VTU Previous Year Question Papers BE CS Sixth Semester
Software Engineering February 2005
Note: 1. Answer any FIVE full questions.
2. AM questions carry equal marks.
1. (a) What is software engineering ? Explain the various process characteristics.
(b) With the help of a diagram explain Boehm’s spiral model of the software process. What are its advantages over water fall method?
(c) Describe five different types of functional components that might be part of targe – scale software system
2. (a) What is requirement definition and specification ? With the help of a diagram explain the requirement engineering process.
(b) A software system is to be developed to automate a library catalogue. This system will contain information about all the books in a library and will be usable by library staff and by book borrowers and readers. The system should support catalogue browsing, querying, and should provide facilities allowing users to send messages to library staff reserving a book that is on loan. Identify the principal viewpoints which might be taken into account in the specification of this system. Show their relationships using a view point hierarchy diagram.
(c) Develop an object model including a class hierarchy diagram and an aggregation diagram showing the principal components of a personal computer system and its system software.
3 (a) Describe three different types of non-functional requirements which may be placed on a system. Give examples of each of these different types of requirement.
(b) Explain why, for large system development, it is recommended that prototypes should be “throw-away” prototypes.
(c) Explain why it is important to use different notations to describe software design.
4 (a) Explain why maximizing cohesion and minimizing coupling leads to more maintainable systems. What other attributes of a design might influence system maintainability ?
(b) What is system structuring ? Explain different models in system structuring
(c) Design an architecture for an automated ticket issuing system used by passengers at a railway station, based on your choice of model.
5 (a) Develop the design of the weather station design in detail by writing interface descriptions of the identified objects. Express it in C++ programming language.
(b) Explain how data dictionaries may be used to supplement design information in data-flow diagrams and structure charts.
(c) Suggest situations in which it is unwise or impossible to provide a consistent user interface.
6 (a) Suggest six reasons why software reliability is important. Using an example explain the difficulties of describing what software reliability means.
(b) Write a set of guidelines for C++ programmers which give advice on how to make functions resuable.
(c) Explain fault tolerance.
7. (a) Explain how back-to-back testing may be used to test their own programs in an objective Way.
(b) Discuss the differences between black-box and structural testing and sui gest how they can be used together in the defect testing process.
(c) Using your knowledge of C++ programming language, derive a check list of common errors (not syntax errors) which could not be detected by a compiler but which might be detected in a program inspection.
8. (a) Briefly explain the purpose of each of the sections in a software project plan.
(b) What factors should be taken into account when selecting staff to work on a software development project?
(c) In the development of large, embedded real time systems, suggest five factors which are likely to have a significant effect on the productivity of the software development team.