Вы находитесь на странице: 1из 9

What is Software Engineering?

Software engineering is an engineering discipline is concerned with all aspects of software production.

What do you know about CASE tools?


CASE stands for Computer Aided Software Engineering. CASE is the use of computerbased support in the software development process.

What's a 'function point'?


Function points and feature points are methods of estimating the "amount of functionality" required for a program, and are thus used to estimate project completion time. The basic idea involves counting inputs, outputs, and other features of a description of functionality

Why is it difficult to improve software process


Not enough time Lack of knowledge Wrong motivation Insufficient commitment

What does the term silver bullet refer in field of software engg?
A silver bullet represents a ray of hope that the software manufacturing will stand to point of the development of hardware industry but so far no silver bullet seems to be seen that makes this possible

What are the myths regarding software


Addition of more software specialists, those with higher skills and longer experience may bring the schedule back on the track! Software is easy to change A general statement of objectives is sufficient to get started with the development of software. Missing/vague requirements can easily be incorporated/detailed out as they get concretized Company has latest computers and state-of- the-art software tools, so we shouldnt worry about the quality of the product .

What's a 'bug'?
When developers make mistakes while coding, we call these mistakes bugs

Q What is fault ??
A fault is the representation of an error, where representation is the mode of expression, such as narrative text, data flow diagrams, ER diagrams, source code etc. Defect is a good synonym for fault.

Q What is failure?
A failure occurs when a fault executes. A particular fault may cause different failures, depending on how it has been exercised

What is 'cleanroom'?
'Cleanroom' is a software process based on mathematical verification of components and statistical system-level testing

What's the 'spiral model'?


Basically, the idea is evolutionary development, using the waterfall model for each step; it's intended to help manage risks. Don't define in detail the entire system at first. The developers should only define the highest priority features. Define and implement those, then get feedback from users/customers (such feedback distinguishes "evolutionary" from "incremental" development). With this knowledge, they should then go back to define and implement more features in smaller chunks.

What comprises software project planning??


Software planning begins before technical work starts, continues as the software evolves from concept to reality, and culminates only when the software is retired. Size Cost estimation Development

Resources requirements

Project scheduling

What are the features of function point approach? /How does this approach scores over LOC approach?
Function points are directly linked to the statement of requirements; any change of requirements can easily be followed by a re-estimate. Function points are based on the system users external view of the system, non-technical users of the software system have a better understanding of what function points are measuring. Function point approach is independent of the language, tools, or methodologies used for implementation; i.e. they do not take into consideration programming languages, data base management systems, processing hardware or any other data base technology. Function points can be estimated from requirement specification or design specification, thus making it possible to estimate development efforts in early phases of development.

What is Alpha Testing

Alpha Tests are conducted at the developers site by some potential customers. These tests are conducted in a controlled environment. Alpha testing may be started when formal testing process is near completion

What is Beta Testing??


Beta Tests are conducted by the customers / end users at their sites. Unlike alpha testing, developer is not present here. Beta testing is conducted in a real environment that cannot be controlled by the developer

What is Acceptance Testing

The term Acceptance Testing is used when the software is developed for a specific customer. A series of tests are conducted to enable the customer to validate all requirements. These tests are conducted by the end user / customer and may range from adhoc tests to well planned systematic series of tests.

What is Requirement Engineering ?

Requirements EngineeringEliciting, organizing, and documenting the requirements of the systemThe process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed Software requirements should be ClearcompleteUnambiguousQuantitative

What are Functinoal and Non Functional Requirements in Software Enginering ?

Functional Requirements are the Expected functionality or services from the system. Non - Functional Requirements are System property and constraints. Now Constraints can be on requirements itself. Some examples are of Response time, 24X7 availability of the system etc.

What is SRS ?

SRS stands for Software Requirement Specification. It establishes the basis for agreement between customers and contractors or suppliers on what the software product is expected to do, as well as what it is not expected to do. Some of the features of SRS are It sets permits a rigorous assessment of requirements before design can begin. It sets the basis for software design, test, deployment, training etc. It also sets prerequisite for a good design though it is not enough. It sets basis for software enhancement and maintenance. It sets Basis for Project plans like Scheduling and Estimation.

What are the Different types of Architectures in Software Engineering ?


An architecture expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them. * Object-Oriented/Abstract Data Style * Layered Hierarchies * Blackboard architecture - involving shared access to data with loosely coupled agents * Client/Server * Three tier Client/Server architectures * Peer-to-Peer Architecture

What are use cases and class diagrams in Software Engineering ?


Use cases are graphical represenation of system parts and there interaction that is taking place. Normally we depict the part of the systems who are involved in some activity as actors. Class Diagrams are a part of designing proess. After coming up with use cases of the system, we take each use case and come up with the classes that we need to perform that functionality. Each class will have Class Name, Attribues and Operations associate with it. Some of the features of the classes are -

- Each class should have well defined responsibilities - These responsibilities should be cohesive i.e. the system as a whole looks sensible and looks together.

What are sequence diagram ? What are package diagram ? What are collaboration diagram ?
Sequence Diagrams They are pictorial representation of event happening according to the time line. In sequence Diagrams, we show respective class names by a small box and the event as a arrow. Sequence Diagrams help in describing the normla course and alternative course of use cases. VOPC - View of Participating Classes VOPC is a a combined representation(showing) of all classes on one page. Collaboration Diagrams - are an alternative presentation of a sequence diagram. We uses boxes to desibe objects, the lines connecting two boxes indiate that the objects collborate with to one another and we use a multiplicity factor "*" to indiate that all elements of the aggregation receive a message. Package Diagram is complete set of sequence Diagrams or Collaboration Diagrams of the system.

. What are Design patterns ?


Design Patterns are simple and elegant solutions of commonly occuring problems in software design. Design Patterns make it easier to reuse successful designs and architectures of expereinced and Professional Designers. There are three types of Patterns 1. Creational - Concerned with creation of objects 2. Structural - Concerned with composition of classes or objects 3. Behavioral - characterize the ways in which classes and objects interact and distribute responsibility.

What are the characteristics of good design ? Name some Design Tools ?

Object Oriented Design Tools - Rational Rose, Rhapsody, Telelogic Tau G2 UI Design Tools - Rapid/Paper prototypes, Simple SUMI (Software Usability Measurement Inventory ) - It will tell you how your product compares to this standardization base: whether you are about average for the market, below, or above.

What is SDLC ? What are the various SDLC models ? Explain them?

A software cycle deals with various parts and phases from planning to testing and deploying. All these activities are carried out in different ways, as per the needs. Each way is known as a Software Development Lifecycle Model (SDLC). Some SDLC models * The Linear model (Waterfall) - Separate and distinct phases of specification and development - All activities in linear fashion - Next phase starts only when first one is complete * Evolutionary development - Specification and development are interleaved (Spiral,incremental,prototype based,Rapid Application development) - Incremental Model (Waterfall in iteration) - RAD(Rapid Application Development) - Focus is on developing quality product in less time - Spiral Model - We start from smaller module and keeps on building it like a spiral. It is also called Component based development. * Formal systems development - A mathematical system model is formally transformed to an implementation * Agile Methods - Inducing flexibility into development * Reuse-based development - The system is assembled from existing components

What is RUP ??

RUP stands for Rational Unified Process It deals with Iterative software development process. Visual Modeling of Systems Quality Management Change Control Management Deals with the role, the activity, and the artifact For managing OO Software Development Some Features of RUP are Online Repository of Process Information and Description Templates for all major artifacts, including: Requirements tracking (RequisitePro templates) Use Cases (Word Templates ) Project Management (Project Templates) Process Manuals describing key processes

WHAT IS PSP??
PSP stands for Personal Software Process PSP Objectives are To introduce individuals to a process-based approach to developing software To show individuals how to measure, estimate, schedule, and track their work To show individuals how to improve the quality of their programs In general PSP improves quality and productivity - The time saved in testing because of better quality reduces time across the project

by 20-40% Advantage of PSP To manage your work & assess/build your talents/skills To plan better To track your performance precisely To measure the quality of your software products

Q What is DFD

A A data-flow diagram (DFD) is a graphical representation of the "flow" of data through


an information system. It differs from the flowchart as it shows the data flow instead of the control flow of the program.

Q What are ER diagrams


A An Entity-Relationship Model (ERM) in software engineering is an abstract and
conceptual representation of data. Entity-relationship modeling is a relational schema database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements in a topdown fashion.

Q what is rational rose??

Rational Rose is a powerful visual modeling tool to aid in the analysis and design of objectoriented software systems. It is used to model your system before you write any code, so you can be sure that the system is architecturally sound from the beginning. Using the model, you can catch design flaws early, while they are still inexpensive to fix.

Q What are the basic parts of rational rose screen??


The five primary pieces of the Rose interface are the browser, the documentation window, the toolbars, the diagram window, and the log. In this section, we'll look at each of these. Briefly, their purposes are: Browser Used to quickly navigate through the model Documentation window Used to view or update documentation of model elements Toolbars Used for quick access to commonly used commands Diagram window Used to display and edit one or more UML diagrams Log Used to view errors and report the results of various commands

Q what are business use cases??


Business use cases, which are workflows within the organization

Q what are actors??

Actors, which are external entities that interact with the system being built.

Q what are business actors??


Business actors, which are people, companies, or other entities outside the organization who interact with the business.

Q What do you mean by UML??


The Unified Modeling Language (UML) is an open method used to specify, visualise, construct and document the artifacts of an object-oriented software-intensive system under development.[1] UML offers a standard way to write a system's blueprints,

Q What are interaction diagrams?


Interaction diagrams, which include Sequence and Collaboration diagrams, are used to display the classes that participate in one flow of events through a use case. As we mentioned above, Interaction diagrams can be created in either the Use Case view or the Logical view. Interaction diagrams in the Use Case view tend to be highlevel and implementationindependent, while Interaction diagrams in the Logical view are more detailed.

Q What are statechart diagrams?


Statechart diagrams, which show the dynamic behavior of an object. A Statechart diagram includes all of the states in which a particular object can exist. It also illustrates how the object moves from one state to another, what state the object is in when it is first created, and what state the object is in when it is destroyed. A Statechart diagram can be useful in detailing business rules.

Q What are packages?

Packages, which are groups of related classes or other modeling elements. Packaging isn't required, but it is certainly recommended. A typical system may have a hundred classes or more. Packaging your classes can help reduce the complexity of your model. To get a general picture of the system, you can look at the packages. To see a more detailed view, you can go into any of the packages and view the classes inside.

Q What is a component in UML?


A component is a physical module of code.

Q What are component diagrams?

Component diagrams, which show the components and their relationships to each other. Relationships between the components let you know what the compilation dependencies are. With this information, you can determine the compilation order of the components

Q What is activity Diagram?


An activity diagram is a way to model the workflow of a use case in graphical form. The diagram shows the steps in the workflow, the decision points in the workflow, who is responsible for completing each step, and the objects that are affected by the workflow.

Q What is a transition in activity diagram?


A transition is a movement from one state to another.

Q What is an event in an activity diagram?


An event is something that causes a transition from one state to another to occur