You are on page 1of 13

Republic of the Phillipines

ISABELA STATE UNIVERSITY


Roxas, Campus
Roxas, Isabela

INSTITUTE OF INFORMATTION AND COMMUNICATION TECHNOLOGY


Midterm Exam I IT 58: Software Engineering I 2nd Sem. – SY 2018- 2019

1ST QUIZ

Answer the following list of question:

1. Explain the meaning of software danger and its importance in concerned of

software engineering.

2. Describe the importance of software Engineering? What should be steps taken

under the process of developing a software system.

3. Explain the principles which play a major role in development of software.

4. Explain the design principle of software Engineering.

Prepared by:

RAYMUND M. EDRA
Instructor 1

ISUR-IICT-SQA-089
Question 1: Explain the meaning of software danger and its importance in concerned of
software engineering?

Answer:

Software danger
During the period of software development and up gradation, we faced following
problems after 1960,

 Capability and capacity of machines increased.

 People became more aware about the use of computers.

 The cost of Hardware became low.

 Computer system improved fast with the help of more powerful machines and
availability of user friendly operating system.

Software requirements increased because the use of computer and its applications
increased. For the development of software system the attention shifted from the simple
programming. For the development of software systems, the techniques for simple
writing program could not be upgraded. Thus the software find in computer world always
in the middle of software danger. Software danger can be described as a group of errors
and troubles which grows during the period of development of software. These software
dangers spread very quickly.

Responsible factors for software dangers


We have a lot of factors which affected the software dangers.

 Measuring problems - We have some thoughts or idea for the development of


small software then these idea / thought will not be suitable for the large scale of
software. On the other hand if we clearly say about the techniques which is used
for the small software then these techniques will not be acceptable in the case of
large software development.

 Higher costs - Development of software is very expensive. For the development


or upgrade of a software process, only those people are necessary who have fully
skilled and perfect knowledge about software development. For the appointment
of educated person a big amount of money required. For this is reason of software
cost goes higher. Now it proves that the cost of human power plays a major role
in this case.
 Untrusted software - When we use software then several of times we get the
result wrong or undesired. In the other words this software produce the wrong
information and required result is not found.

 Regularity problems - When we use software then several of times we get the
result wrong or undesired. In the other words this software produce the wrong
information and required result is not found.

 Delay in software - Here this term is used in that case where the software
development not completed on time or takes a lot of time to complete the
software.

 Program and software both are different.

 Necessary a large amount of maintenance for the software. Maintenance required


a lot of time to resolve the problems and required modification are done in this
period.

 Higher demand for big size and difficult software systems.

Importance of software danger in concerned to software Engineering


discipline
The computer system covered a wide area, the requirement of computer software
system become more than the capability of our computer production and maintenance.
Some methodical thoughts are used to solve the problem of software danger because
they help in development of a software system or upgrade a software system. To
resolution of software danger with computerized techniques is used as a term of software
Engineering.

IEEE defines the definition of software, a set of commands on computer, procedures,


rules and associated documentation and data is known as a software programme.
Software Engineering term may be used or defined as a set of those programs and
thoughts that helps in solutions of computer problems or software danger. Development
of software and regular maintenance of it is the main part of software Engineering.
Resolution of problems which creates by soft danger is the discipline which is concerned
to software Engineering.
Question 2: Describe the importance of software Engineering? What should be steps
taken under the process of developing a software system.

Answer:

Software Engineering
Software Engineering is a part of computer science in which several kind of method,
thoughts and techniques used for getting the high quality software and computer
programs.

1. Minimum cost

2. On given time

3. Continuous production

We can judge the usefulness of the software Engineering with the importance of its
attributes. Both are used for the same manner. The basic target of software Engineering
is to provide the high quality software, which can be delivered.

1. On given time,

2. Within budget &

3. That fulfills the need.

Thus we can say that this is the best way or programs to get the following points:

1. To provide the best output of software system.

2. To make easy to use the software systems and develop them.

3. To improve the rate of production.

4. To maintain the budget for development of Software system.

5. Job satisfaction of software engineering.

It is necessary to produce a high quality software to fulfill the below given points.

1. Consistency

2. Improved quality

3. Minimum cost

4. Within time
5. Reliability &

6. Fulfill the need of user

Steps used while developing a software system


To achieve consistency, software development process is divided into set of phases.
Various methods, tools & techniques are applied to accomplish each phases. The
process of developing a software system is divided in two parts to bring the consistency
in this process. To complete the software developing process several kind of methods,
Techniques, used. Below given steps are used to develop a software system.

1. Statement of problem & system study - The first step of system development
process is started with statement of problem & system study. In this step, we get
the more knowledge from everywhere on computer and manually. With the help
of this knowledge we find out the errors at the present time software system which
is need to change for improvement. Here several important points are given on
this stage which is:

1. Full knowledge of problems and errors.


2. Ability to improve

3. Find the target for achieving.

4. Find out the benefits which should be in new software.

5. Find the area of plan which is affected after that change.

If we study the problems then it is necessary to think about the other solutions of
the problem and the cost of it which should be in the budget of the user. For this
improvement a lot of skill and attention required.

2. Study of work ability - On the basis of first steps result we moves for the next
step which is about the study of work ability. In this step we think about the present
system and future system and compared them. The area of comparison is skilled
manpower, estimated time period, and other important things. A study of work
ability helps to decide the important things.

o This plan is in our favor or not.

o We are capable for the required resources or not.

o Think again.

o Many types of work ability checked.

5. Technical work ability -

 We have the required technology?

 With the available tools can we developed the new system?

 Can the future system provide the result as required?

The new system will be more suitable for the user or not it is checked by
the expert. For Example: If a software actual requirement to develop visual
basic with oracle at a backend. But here we use less than 48 processer
with 14 bit word length then this software will not be technically sound. It is
concerned about the used technology and tools which are satisfying the
need of the system or not.

6. Social work ability - This is the study of user behavior that people like or
dislike the new software.
7. Economic work ability - This factor is determined that new software
benefits and savings is more in the comparison of old software.

8. Legal work abilit - Legal work ability determined that the new software is
under the govt. rule or not. According to the result of the work ability study
it is analyzed to reach the following:

 Formulation of the different solution planning.

 To check the other solution planning & their benefits and compared
them.

 Find out the best output and annualizes him.

3. Software need analysis and specification - Analysis is a study of following


factors which plays a major role in this step.

o By the system many kind of activity are performed.

o Connections between many functions and sub systems.

o Finally the relationship out of the boundary of system.

Need analysis - The main objective of need analysis is to understand what the
user expectation with this software and collection of data and information about
that.

o Working capacity

o performance

o easy to use

o easy to maintain

During this process several kind of tools and method used .flow chart, collected
data, diagram and etc. are the part of this exercise. After the resolution of all
problems and needs regarding this, information is organized into a software need
specification document.

Software need specification - This topic covers the following points:

o All the document of the user should be arranged in a systematic way,

o Nature of its interface


o Need of hardware

o Base of agreement

o Moral, legal coordination between client and developer

o A detailed plan

o To analyses and confirmation by the customer that it have all quality which
is expected by customer.

o With the help of software engineers to develop a solution.

4. Software design and specification - During the process of this step need
specification converted in to a base, which is used in programming language. We
have two types of approaches:

0. Traditional Approach - This approach is also divided in two parts which


are

 First part-

1. Specific needs of this software is moved out.

2. Structured analysis is converted in to a shape of software


design.

3. Analysis of many functions, flow chart of data is a part of


structured analyses.

 Second part- Architecture design takes place after analysis of


structured.

1. Which components are required.

2. The general base of the software.

3. The programs provided by every design.

4. Interfaces between modules.

5. Data base and result form of the system.

1. Object oriented design - In this design many kind of object raised in the
domain of problem and relationship between these objects is figured out.
5. Coding and module testing - Coding phase comes after the software design.
Coding is a process with the help of this we can convert the shape structure in to
a programming language. Every part of the design is a program module. Hare
every module checked for the surety of module that is according to the need.

6. Integration and system testing - In this phase as a whole system all modules
which are tested jointly according to architectural design. For getting the
information that interconnection concerned to modules are correct or not this step
taken by the developer. Effects of testing helps to get

0. Production of high quality software

1. User more satisfied

2. Cheap cost of maintenance

3. Accuracy

4. Result of surety

This system is tested only for getting the information that it is according to SRS
or not. At the last this test is done in the client presence.

7. System Implementation - System implementation means providing the


information on client site. We have three types of implementation.

0. Direct conversion

1. Phased conversion

2. Parallel conversion

8. System Maintenance - This step is required after that when customer use our
software and getting some problems .These problems can be related to website,
installation and operational. Maintenance divided in three parts.

o Corrective maintenance - During the process of software development


corrective fault not found or discovered.

o Perfective maintenance - Under this step functions which are performed


by this software increased according to the need of customer.

o Adaptive maintenance - Transform the software to new operating system,


environments or to a new computer is called Adaptive maintenance.
Question 3: Explain the principles which play a major role in development of software.

Answer:

Principles of software development


A set of rules which is made on the basis a number of observations done by user is
called the principles of software development. We have described the software
development principles which are given below:

1. Quality on preference - Quality is the first objective of software development


process. Because a low level of quality not accepted by the user or client. We
have a lot of definitions about the quality product. According to customer he wants
the best response on given time with a lot of capacity. The aim of developer should
be make unique design software.

2. Possibility of high quality software - Scope of higher quality is always there.


For getting the high quality many techniques, design inspections on time and hired
the best employee for this can be adopted.

3. Be on time delivery - The better way is to send the sample to the customer so
that he can use that software and give feedback. On the basis of feedback
developer can take charge and developed the software according to the need of
customer.

4. Fix the problem - Before getting any solution of problem fix the problem which
cause is customer needs. After getting the problem we are trying to use alternate
solution of that problem basis on time, cost and risk factor.

5. Valuation of alternate design - When we know the need of customer then we


observed much kind of algorithms and architectural so that with the help of them
we can build the software. We select that alternate who have the quality of safety,
alteration and more functional.

6. Selection of appropriate process model - Software development process


model have a large area of choice just like waterfall, prototype and spiral module
are the suitable examples for this. But there is a fact that every process is not
suitable or in favor every time. So on the bases of need of software, area of
applications and most importantly risk factor should be sensible.

7. Minimum gap between client and developer - According to famous Dijkestra


intellectual gap may be describe, is the distance between the real world problem
and the computerized solution to the problem. If the maintenance of the software
is easy then the gap will be low. With the help of the object oriented design and
jack system of development method we can find that the structure of software
which will be near real world structure.

8. Design for change - The techniques or method which is used in development


process of software should have capacity of change.

9. Reduce tricks - We should try to reduce of those programs and code who makes
compaction in that process.

10. Management - In the comparisons of good technology, good management is the


best option because it helps the employees to motivate them for doing their duties
in the proper way. Management planning cannot be done for a long period
because its base is time and situation which can change any time. With a lack of
resources a person who has deep knowledge of management can provide a
positive result in every case.

11. Right person is the base of success - For the success of any planning we need
to experts, experienced and skilled person. An expert can provide the best output
with those sources who are not enough in normal condition. On the other hand
without experienced person became fail in this condition. So quality is the main
part in the selection time of employees.

12. Use carefully - For getting the best output it is necessary to use different method
and techniques with carefully otherwise they provide the wrong output.

13. Keep updated - In the present time, this world is more progressive and
competitive so to survive in the present time it is necessary to stay updated every
time for new technology and their risk factors.
Question 4: Explain the design principle of software Engineering.

Answer:

A particular area provided by design principle for the judgments of particular aspects
of design. We have three types of principles which are explained below:

1. Division of problems - The base of these principles is to divide a big problem in


to little parts. Every little part developed by different programs individually. Every
little part can be individually altered.

o This helps the system to become more sufficient.

o This principle reduce the size of the problem and make simple and easy to
service or maintenance.

o Leads to hierarchy in the design.

For the solution of big problem it is necessary to became proper coordination


between these small pieces of problems.

2. Abstraction - To get the information in concerned to software parts from the


outside is called the abstraction.

3. Top down and bottom up design planning - According to this principle a big
problem divided in two little parts which is called modules and solved these
modules one by one individually so that no one module can effected each other.
We have two types of approaches. The top down approach goes from high level
to the lower level. On the other side the bottom up approach goes the opposite
that mean it goes lower level to top level.

o Top down design planning - When planning of system starts from that
target which system wants to get then that approach is called top down
design planning.When we see the desired task is not easy for achieving
then this task divided in parts and these parts is called sub task. These sub
tasks have some quality which is:

 Size of problem will be small

 Reduce the level of difficulty

 Easy to achieve
If a task is difficult then we may divide it low difficulty and easily getable
subtasks. Thus the process of division of various tasks in to sub tasks is to
make simple and easy which can be used or solved easily. Many types of
module based on this approach but this approach is useful only those that
case where the target is mentioned clearly.

Benefits
 This method of program development is same to human approach
of problem solving .In this approach first we decide the goal and
after that we takes the steps to achieve the targets.

 The programmer became aware about the goal at every level.

 It reduces the level of confusion.

 It gives a proper process with the help of this problem solved easily
and quickly.

o Bottom up design planning - To get the big goal for the system, this
approach is used. It started from the lower level and at the end it reached
the top level. In this approach individual modules are combined with each
other so that a big module can be built which is the target of this system. A
good idea is must require for the success of this approach. Until we have
not good idea about the operation need at the higher level then we cannot
decide what operation support at this time.

You might also like