P. 1
SEG20

SEG20

|Views: 13|Likes:
Published by saurabmi2

More info:

Published by: saurabmi2 on Apr 09, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

11/17/2010

pdf

text

original

20 marks question paper answers Q1. 1. THE PROTOTYPING MODEL: 1.

The prototyping paradigm (Figure) begins with requirements gathering. 2. Developer and customer meet and define the overall objectives for the software, identify whatever requirements are known, and outline areas where further definition is mandatory. 3. A "quick design" then occurs. The quick design focuses on a representation Of those aspects of the software that will be visible to the customer/user (e.g., Input approaches and output formats). 4. The quick design leads to the construction of a prototype. The prototype is evaluated by the customer/user and used to refine requirements for the software to be developed.

5. Iteration occurs as the prototype is tuned to satisfy the needs of the customer, while at the same time enabling the developer to better understand what needs to be done. 6. Prototyping can also be problematic for the following reasons: 1.The rush to get Software working no one has considered overall software quality or long-term maintainability. When informed that the product must be rebuilt so that high levels of quality can be maintained, the customer cries foul and demands that "a few fixes" be applied to make the prototype a working product. 2. The developer often makes implementation compromises in order to get a prototype working quickly. An inappropriate operating system or programming language may be used simply because it is available and known; an inefficient algorithm may be implemented simply to demonstrate capability.

2. SPIRAL MODEL:1. The spiral model is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. 2. It provides the potential for rapid development of incremental versions of the software. 3. Using the spiral model, software is developed in a series of incremental releases. 4. During early iterations, the incremental release might be a paper model or prototype. 5. During later iterations, increasingly more complete versions of the engineered system are produced. A spiral model is divided into a number of framework activities, also called task Regions. Typically, there are between three and six task regions. • Customer communication—tasks required to establish effective communication Between developer and customer. • Planning—tasks required to define resources, timelines, and other project related Information. • Risk analysis—tasks required to assess both technical and management risks. • Engineering—tasks required to build one or more representations of the application. • Construction and release—tasks required to construct, test, install, and provide user support (e.g., documentation and training). • Customer evaluation—tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation stage.

ROLE OF SOFTWARE:1. Today, software takes on a dual role. It is a product and, at the same time, the vehicle for delivering a product. 2. As a product, it delivers the computing potential embodied by computer hardware or, more broadly, a network of computers that are accessible by local hardware. 3. Whether it resides within a cellular phone or operates inside a mainframe computer, software is information transformer— producing, managing, acquiring, modifying, displaying, or transmitting information that can be as simple as a single bit or as complex as a multimedia presentation. 4. As the vehicle used to deliver the product, software acts as the basis for the control of the computer (operating systems), the communication of information (networks), and the creation and control of other programs (software tools and environments). Software delivers the most important product of our time—information. 5. Software transforms personal data (e.g., an individual’s financial transactions) so that the data can be more useful in a local context; it manages business information to enhance competitiveness; it provides a gateway to worldwide information networks (e.g., Internet) and provides the means for acquiring information in all of its forms. 6. The role of computer software has undergone significant change over a time span of little more than 50 years.

7.

8.

9.

10.

Dramatic improvements in hardware performance, profound changes in computing architectures, vast increases in memory and storage capacity, and a wide variety of exotic input and output options have all precipitated more sophisticated and complex computer-based systems. Sophistication and complexity can produce dazzling results when a system succeeds, but they can also pose huge problems for those who must build complex systems. Today, “ubiquitous computing” has spawned a generation of information appliances that have broadband connectivity to the Web to provide “a blanket of connectedness over our homes, offices and motorways”. Software’s role continues to expand.

Q2. 1. NOTATION USED IN DATA FLOW DIAGRAM:1. A rectangle is used to represent an external entity; that is, a system element (e.g., hardware, a person, and another program) or another system that produces information for transformation by the software or receives information produced by the software. 2. A circle (sometimes called a bubble) represents a process or transform that is applied to data (or control) and changes it in some way. 3. An arrow represents one or more data items (data objects). All arrows on a data flow diagram should be labeled. 4. The double line represents a data store—stored information that is used by the software.

2. Behavioral models 1. Most software responds to events from the outsideworld. This stimulus/response characteristic forms the basis of the behavioral model. 2. A computer program always exists in some state—an externally observable mode of behavior (e.g., waiting, computing, printing, polling) that is changed only when some event occurs. For example, software will remain in the wait state until (1) an internal clock indicates that some time interval has passed, (2) an external event (e.g., a mouse movement) causes an interrupt, or (3) an external system signals the software to act in some manner. 3. A behavioral model creates a representation of the states of the software and the events that cause a software to change state. 4. Models created during requirements analysis serve a number of important roles: • The model aids the analyst in understanding the information, function, and behavior of a system, thereby making the requirements analysis task easier and more systematic. • The model becomes the focal point for review and, therefore, the key to a determination of completeness, consistency, and accuracy of the specifications. • The model becomes the foundation for design, providing the designer with an essential representation of software that can be "mapped" into an implementation context. 3. FUNTIONAL MODELLING:1. Software transforms information, and in order to accomplish this, it must perform at least three generic functions: input, processing, and output. 2. When functional models of an application are created, the software engineer focuses on problem specific functions. 3. The functional model begins with a single context level model (i.e., the name of the software to be built).

4. Over a series of iterations, more and more functional detail is provided, until a thorough delineation of all system functionality is represented. 4. LAYERS OF OBJECT ORIENTED SYSTEM DESIGN:System design develops the architectural detail required to build a system or product. The system design process encompasses the following activities: 1. Partition the analysis model into subsystems. 2. Identify concurrency that is dictated by the problem. 3. Allocate subsystems to processors and tasks. 4. Develop a design for the user interface. 5. Choose a basic strategy for implementing data management. 6. Identify global resources and the control mechanisms required to access them. 7. Design an appropriate control mechanism for the system, including task management. 8. Consider how boundary conditions should be handled. 9.Review and consider trade-offs.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->