Sie sind auf Seite 1von 10

Question Paper: 1

Q1. Fill in the blanks (05) (One marks for each)

1. 1.SDLC Stands for Software development life cycle


2. Software engineering is done by Software Engineer.
3. Software should be written in such a way so that it can evolve to meet the changing needs of
Customers.
4. Software dependability includes a range of characteristics including reliability, security, and
safety
5. Software development, where the software is designed and programmed.

Q2. Select True or False (05) (One marks for each)

1. If a software production gets behind schedule, one can add more programmers and catch up.
false
2. The only deliverable work product for a successful project is the working program. false
3. A general statement of objectives is the major cause of failed software efforts true
4. Component-based Software Engineering allows faster delivery. true
5. A Use-case actor is always a person having a role that different people may play. false

Q3 One Line answer (Any 5) (10)

1. What is software engineering?


Software engineering is a discipline in which theories, methods and tools are applied to
develop professional software

2. What is Software?
Software is nothing but a collection of computer programs that are related documents that
are indented to provide desired features, functionalities and better performance.
3. Define software process ?
Software process is defined as the structured set of activities that are required to develop the
software system.
4. Define software testing?
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design, and coding.
5. What is Requirement gathering in SE?
This process is related to identifying business needs and opportunities.
It defines a detail information about the system design and user requirements, but the
requirements should be testable, measurable and documented.
Requirement process may result in success or failure of a software product.
This process can be too long.

6. What is Analysis in SE?


The main goal of the analysis is to build the models.
The requirements of the users, developers and managers provide the information needed
to develop the initial problem statement.
7. Why does it take so long to get software finished?
Changing the Customer Requirements, Changing The development Model, Changing the
People who is involved in the development, Try with new technologies which is not aware
by them, not understanding the requirements clearly and etc.
8. Why are development costs so high?
Working the same project for long amount time, Pay for the developers, Machinery and
equipments and other related plug ins, Testing and maintaining etc.

Q4. Write a short note on (Any 2) (10)

1.What is the prime objective of software engineering & Define software engineering paradigm?
Software engineering is an engineering discipline that is concerned with all aspects of software
production from the early stages of system specification through to maintaining the system after
it has gone into use. In this definition, there are two key phrases:
Engineering discipline Engineers make things work. They apply theories, methods, and tools
where these are appropriate. However, they use them selectively
Maintainability:
Software should be written in such a way so that it can evolve to meet the changing needs of
customers. This is a critical attribute because software change is an inevitable requirement of a
changing business environment.
Dependability and security:
Software dependability includes a range of characteristics including reliability, security, and
safety. Dependable software should not cause physical or economic damage in the event of
system failure. Malicious users should not be able to access or damage the system.
Efficiency:
Software should not make wasteful use of system resources such as memory and processor
cycles. Efficiency therefore includes responsiveness, processing time, memory utilization, etc.
Acceptability:
Software must be acceptable to the type of users for which it is designed. This means that it must
be understandable, usable, and compatible with other systems that they use and always try to
discover solutions to problems even when there are no applicable theories and methods.
Engineers also recognize that they must work to organizational and financial constraints so they
look for solutions within these constraints.

The software development paradigm helps developer to select a strategy to develop the software.
A software development paradigm has its own set of tools, methods and procedures, which are
expressed clearly and defines software development life cycle. A few of software development
paradigms or process models are defined as follows
Methodology:
A software development methodology or system development methodology in software
engineering is a framework that is used to structure, plan, and control the process of developing
an information system.
2.What do you mean by spiral model?

Spiral model is a combination of both, iterative model and one of the SDLC model. It can be seen as if
you choose one SDLC model and combine it with cyclic process (iterative model).

This model considers risk, which often goes un-noticed by most other models. The model starts with
determining objectives and constraints of the software at the start of one iteration. Next phase is of
prototyping the software. This includes risk analysis. Then one standard SDLC model is used to build
the software. In the fourth phase of the plan of next iteration is prepared.

3.Write a brief note on waterfall model. ?

Waterfall model is the simplest model of software development paradigm. It says the all the
phases of SDLC will function one after another in linear manner. That is, when the first phase is
finished then only the second phase will start and so on.
This model assumes that everything is carried out and taken place perfectly as planned in the
previous stage and there is no need to think about the past issues that may arise in the next
phase. This model does not work smoothly if there are some issues left at the previous step. The
sequential nature of model does not allow us go back and undo or redo our actions.This model is
best suited when developers already have designed and developed similar software in the past
and are aware of all its domains.

4.Give the importance of software engineering.

Reduces complexity
Big software’s are always complex and difficult to develop. Software engineering has a great
solution to decrease the complexity of any project. Software engineering divides big problems
into several small problems. And then start solving each small problem one by one. All these
small problems are solved independently to each other. At the end, all these solved problems are
combined with each other to get the final solution. Also it always focuses on solving the most
relevant problems by omitting the irrelevant problems. By this manner, the big problem of
software complexity can be solved easily with the help of software engineering.
To minimize software cost
Software requires a lot of hard work and software engineers are highly paid professionals. A lots
of man force is requires to develop software with millions of codes. But in software engineering,
programmers plan everything and reduce all those things that are not required. In turn, cost for
software productions becomes less as compared to any software that does not use software
engineering approach.
To decrease time
Anything that is not made according to the plan always wastes time. And if you are making big
software then you may need to run many code to get the ultimate running code. This is a very
time consuming process and if it is not well managed then this can take a lot of time. So if you are
making your software according to software engineering approach then it will reduce a lot of
time.
Handling big projects
Big projects are not made in few days and they require lots of patience, planning and
management. And to invest six and seven months of any company, it requires lots of planning,
direction, testing and maintenance. No one can say that he has given four months of company to
the project and the program is still in its first stage. Because company has given many resources
to the projects and it should be completed. So to handle big projects without any problem,
company has to go for software engineering approach.
Reliable software
Software should be reliable, means if you have delivered the software then it should work for at
least it’s given time span or subscription. And if any bugs come in the software then company is
responsible for solving all these bugs. Because in software engineering, testing and maintenance
is provided so there is no worry of its reliability.
Effeteness
Effectiveness comes if anything has made according to the standards. Software standards are the
big focus of companies to make it more effective. So Software becomes more effective in
performance with the help of software engineering.
Productivity
With the help of software engineering, any company can increase its productivity. Any project
that decrease cost and requires less time always helps to increase company productivity. In
software engineering, proper care of software productivity is taken because it has testing system
at every level. If programs fails to meet its standard at any stage, then programmers always
improves the code of software to make it sure that software maintains its standards.

5.Distinguish clearly between verification & validation.


The major drawback of waterfall model is we move to the next stage only when the previous one
is finished and there was no chance to go back if something is found wrong in later stages. V-
Model provides means of testing of software at each stage in reverse manner.

At every stage, test plans and test cases are created to verify and validate the product according
to the requirement of that stage. For example, in requirement gathering stage the test team
prepares all the test cases in correspondence to the requirements. Later, when the product is
developed and is ready for testing, test cases of this stage verify the software against its validity
towards requirements at this stage.

This makes both verification and validation go in parallel. This model is also known as
verification and validation model.

Q5. Answerer the following in brief (Any 3) (30)

1. Explain the software development activities?


SDLC provides a series of steps to be followed to design and develop a software product efficiently. SDLC

framework includes the following steps:

Communication

This is the first step where the user initiates the request for a desired software product. He contacts the
service provider and tries to negotiate the terms. He submits his request to the service providing organization
in writing.

Requirement Gathering

This step onwards the software development team works to carry on the project. The team holds discussions
with various stakeholders from problem domain and tries to bring out as much information as possible on
their requirements. The requirements are contemplated and segregated into user requirements, system
requirements and functional requirements. The requirements are collected using a number of practices as
given

 studying the existing or obsolete system and software,

 conducting interviews of users and developers,

 Referring to the database or collecting answers from the questionnaires.

Feasibility Study
After requirement gathering, the team comes up with a rough plan of software process. At this step the team
analyzes if software can be made to fulfil all requirements of the user and if there is any possibility of
software being no more useful. It is found out, if the project is financially, practically and technologically
feasible for the organization to take up. There are many algorithms available, which help the developers to

the feasibility of a software project.

System Analysis
At this step the developers decide a roadmap of their plan and try to bring up the best software model
suitable for the project. System analysis includes Understanding of software product limitations, learning
system related problems or changes to be done in existing systems beforehand, identifying and addressing
the impact of project on organization and personnel etc. The project team analyzes the scope of the project
and plans the schedule and resources accordingly.

Software Design
Next step is to bring down whole knowledge of requirements and analysis on the desk and design the
software product. The inputs from users and information gathered in requirement gathering phase are the
inputs of this step. The output of this step comes in the form of two designs; logical design and physical
design. Engineers produce meta-data and data dictionaries, logical diagrams, data-flow diagrams and in some
cases pseudo codes.

Coding

This step is also known as programming phase. The implementation of software design starts in terms of
writing program code in the suitable programming language and developing error-free executable programs
efficiently.

Testing

An estimate says that 50% of whole software development process should be tested. Errors may ruin the
software from critical level to its own removal. Software testing is done while coding by the developers and
thorough testing is conducted by testing experts at various levels of code such as module testing, program
testing, product testing, in-house testing and testing the product at user’s end. Early discovery of errors and
their remedy is the key to reliable software.

Integration
Software may need to be integrated with the libraries, databases and other program(s). This stage of SDLC is
involved in the integration of software with outer world entities.

Implementation
This means installing the software on user machines. At times, software needs post-installation
configurations at user end. Software is tested for portability and adaptability and integration related issues
are solved during implementation.
Operation and Maintenance

This phase confirms the software operation in terms of more efficiency and less errors. If required, the users
are trained on, or aided with the documentation on how to operate the software and how to keep the
software operational. The software is maintained timely by updating the code according to the changes
taking place in user end environment or technology. This phase may face challenges from hidden bugs and
real-world unidentified problems.

2. Explain the waterfall model briefly with proper example?


Waterfall model is the simplest model of software development paradigm. It says the all the
phases of SDLC will function one after another in linear manner. That is, when the first phase is
finished then only the second phase will start and so on.

This model assumes that everything is carried out and taken place perfectly as planned in the
previous stage and there is no need to think about the past issues that may arise in the next
phase. This model does not work smoothly if there are some issues left at the previous step. The
sequential nature of model does not allow us go back and undo or redo our actions.This model is
best suited when developers already have designed and developed similar software in the past
and are aware of all its domains.
Prove with any real time project which is followed the water fall model in any company.

3. Explain the customer and practioner’s myth with proper example?


Customer myths. A customer who requests computer software may be a person at the next desk, a
technical group down the hall, the marketing/sales department, or an outside company that has
requested software under contract. In many cases, the customer believes myths about software
because software managers and practitioners do little to correct misinformation. Myths lead to false
expectations (by the customer) and ultimately, dissatisfaction with the developer.
Myth: A general statement of objectives is sufficient to begin writing programs we can fill in the
details later.
Reality: A poor up-front definition is the major cause of failed software efforts. A formal and detailed
description of the information domain, function, behaviour, performance, interfaces, design
constraints, and validation criteria is essential. These characteristics can be determined only after
thorough communication between customer and developer.
Myth: Project requirements continually change, but change can be easily accommodated because
software is flexible.
Reality: It is true that software requirements change, but the impact of change varies with the time at
which it is introduced. If serious attention is given to up-front definition, early requests for change can
be accommodated easily. The customer can review requirements and recommend modifications with
relatively little impact on cost. When changes are requested during software design, the cost impact
grows rapidly. Resources have been com-mitted and a design framework has been established.
Change can cause upheaval that requires additional resources and major design modification, that is,
additional cost. Changes in function, performance, interface, or other characteristics during
implementation (code and test) have a severe impact on cost. Change, when requested after software
is in production, can be over an order of magnitude more expensive than the same change requested
earlier.
Practitioner's myths. Myths that are still believed by software practitioners have been fostered by 50
years of programming culture. During the early days of software, programming was viewed as an art
form. Old ways and attitudes die hard.
Myth: Once we write the program and get it to work, our job is done.
Reality: Someone once said that "the sooner you begin 'writing code', the longer it'll take you to get
done." Industry data ([LIE80], [JON91], [PUT97]) indicate that between 60 and 80 percent of all effort
expended on software will be expended after it is delivered to the customer for the first time.
Myth: Until I get the program "running" I have no way of assessing its quality.
Reality: One of the most effective software quality assurance mechanisms can be applied from the
inception of a project—the formal technical review. Software reviews are a "quality filter" that have
been found to be more effective than testing for finding certain classes of software defects.
Myth: The only deliverable work product for a successful project is the working program.
Reality: A working program is only one part of a software configuration that includes many elements.
Documentation provides a foundation for successful engineering and, more important, guidance for
software support.
Myth: Software engineering will make us creates voluminous and unnecessary documentation and
will invariably slow us down.
Reality: Software engineering is not about creating documents. It is about creating quality. Better
quality leads to reduced rework. And reduced rework results in faster delivery times.

4. What is testing explain different types of testing with proper examples?


Software Testing

Software testing is the process of evaluation a software item to detect differences between given
input and expected output. Also to assess the feature of A software item. Testing assesses the quality
of the product. Software testing is a process that should be done during the development process. In
other words software testing is a verification and validation process.

Verification

Verification is the process to make sure the product satisfies the conditions imposed at the start of
the development phase. In other words, to make sure the product behaves the way we want it to.

Validation

Validation is the process to make sure the product satisfies the specified requirements at the end of
the development phase. In other words, to make sure the product is built as per customer
requirements.

Basics of software testingThere are two basics of software testing: blackbox testing and whitebox
testing.

Blackbox TestingBlack box testing is a testing technique that ignores the internal mechanism of the
system and focuses on the output generated against any input and execution of the system. It is also
called functional testing.
Whitebox Testing White box testing is a testing technique that takes into account the internal
mechanism of a system. It is also called structural testing and glass box testing.
Black box testing is often used for validation and white box testing is often used for verification.
And explain any 4 examples

5. Map the Student management system with SDLC activities?


Explain the student Fedena system briefly with modules and users and access etc.

Das könnte Ihnen auch gefallen