Monday, April 18, 2016

Is the programmer a scientist, an engineer or an artist?


A programmer must create ne idea of science in the solution of the problem.Also all the solution of program is related to the science. So a programmer is a scientist.

A engineering is concerned with all aspects of software production. So, a programmer is an engineer as he applies special as well as engineering methods.

A programmer is also as artist, as he should know the artistic representation of program's output.

What are the responsibilities of software engineering?

The responsibilities of software engineering : Software engineers have responsibilities to the engineering profession & society, Some of these are :

Confidentiality : Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.

Competence : Engineers should not misrepresent their level of competence. They should not knowing accept work which is out with their competence.

Intellectual property right : Engineers should aware of local laws governing the use of intellectual property such as patents, copyright, etc. They should be careful to ensure that the intellectual property of employers and client is protected.

Computer misuse : Software engineers should not use their technical skills to misuse other people's computers. Computer misuses ranges from relatively trivial (game playing on an employer's machine, say) to extremely serious (dissemination of viruses).


Mention the different types of program design tools & techniques


  • Top-down design, top-down implementation(programming)
  • Bottom-up design, bottom-up implementation(programming)
  • Modular design and programming
  • Structured design and programming
  • Defensive  design and programming
  • Redundant design and programming
  • Automatic programming
  • Design representations
  • Design and programming tools
  • Program proofs
  • Data-directed design techniques(data flow diagrams)
  • Cause-effect graphs

In which cases we say a program is improper?


  • Interrupt and trap instructions in assembly language
  • Fortran-type end of file conditions
  • PL/ 1-type on conditions
  • Fixed overflow and underflow conditions
  • DO CASE, BREAK/LEAVE instructions
  • Self-modifying code if it can become nonstructured

List the common errors, which occur in assembly language programming but do not or are less likely to occur in high level language programming


  • Array overwrite
  • Stack overflow
  • Off by 1 in indexing or shifting
  • Wrong flag hit
  • Complement arithmetic problems
  • Floating-point arithmatic problems
  • Double-precision arithmatic problems
  • Initialization
  • Pointer Problems
  • Wrong transfer of control
  • Indirect address problems
  • Iterated DO LOOP problems.

What is Software process? Explain their activities

Software process : A software process is a set of activities and associated results which produce a software product. These activities are mostly carried out by software engineers. 

There are four fundamental process activities are :

Software Specification : The functionality of the software and constraints on its operation must be defined.

Software development : The software to meet the specification must be produced.

Software validation : The software must be validated to ensure that it does what the customer wants.

What umbrella activities are requires in engineering phases?

Umbrella activities are requires in engineering phases : 
 Software engineering can be categorized into three generic phases, regardless of application area, project size, or complexity.

  • Definition phase
  • Development phase &
  • Support phase


There are the umbrella activities are requires in engineering phases-

  • Software project tracking and control.
  • Formal technical reviews
  • Software quality assurance
  • Software configuration management.
  • Document preparation and production
  • Reusability management
  • Measurement
  • Risk management.

Show the advantages and Disadvantages of Modular Programming


Advantages of Modular Programming : 

  • It is easier and less costly to change features, add features or correct errors after deployment.
  • It is easier to write and debug the program.
  • It is easier to manage since more difficult modules can be skilled programmers and easy modules to junior programmers.
  • One can divide a large, complex problem into each of manageable complexity.
  • The modular concept fits in well with top-down design.
  • Formal modular interface definition may be a especially helpful in "organization" a bottom-up, or a two-stage design, first bottom-up, and then top-down.



Disadvantages of Modular Programming : 

  • Because there are few formal design techniques, it is difficult to learn, although the principles are clear.
  • Modular programming requires more design effort and care.
  • Many programmers are reluctant to try new modules can be given to more things, including modular design.
  • Modular programming may require slightly a number of modules more memory space and run time.
  • To avoid slow processing, in some operating systems one may have to ensure that modules that call each other frequently are in the same machine page.  

     
Learn More from Blog : 

Expert Web Engineering

Expert Computer Networking

Talent Programming Language C

Logical Discrete Mathematics

Expert Compiler Design

Expert Data Structure

Professional Algorithm Design

Professional Responsive Web Page Design By Bootstrap

Thursday, March 31, 2016

Write down the requirements vs Design

Requirements vs. Design
 
Distinction:

 Design solution: HOW to achieve something

 Requirements: WHAT to achieve

Two cases where a requirements and desigin solutions are mixed up:

 The customer mandates a design solution as a requirement

  •  Design solution (HOW): “provide a database for X”
  • Requirements (WHAT): “capabilities for navigation and sort for X”

 Otherwise:

  •  Restrict design space.
  • Risk to miss requirements: ask WHY!

Risk to miss requirements: ask WHY!

A derived requirement which is actually a design solution and no
requirement
 
  •  See allocation and flowdown
  •  Often alternation of requirements analysis and design
  •  One person’s design is the next person’s requirements

what are the software requirement for complex systems?

Requirements for Complex Systems :

A system of any but the smallest size will
be decomposed into a hierarchy of
elements (partitioning):

 This is reflected at the requirement level by:
 
(1) Allocation: assigning requirements to
elements
 
(2) Flowdown: requirements which respond to the
allocated highel level requirements
 
(3) Traceability: keep track of the dependencies
Analysis & Negotiation :

 The analysis has to establish an agreed set of requirements
which are complete, consistent, and unambiguous. Such
a set can be used as the basis for systems development.

 Negotiation:

Stakeholders often disagree over requirements.
Therefore they need to negotiate to try to reach agreement.

What are the software requirement analysis?

Requirement Analysis

Requirement Analysis: the process of analyzing
the customers’ and users’ needs to arrive at a
definition of the requirements

requirements analysis.

(1) The process of studying user needs to arrive at
a definition of system, hardware, or software
requirements.
(2) The process of studying and refining system,
hardware, or software requirements.

what are the software requirement elicitation?

Requirement Elicitation :
 Requirement Elicitation: the process through which the
customer and developer discover, review, articulate, and
understand the users’ needs and constraints on the
software and development activities
Requirements elicitation is about discovering what
requirements a system should be based upon

This doesn’t involve just asking stakeholders what they
Want. It requires a careful analysis of:

  •  The organization
  •  The application domain
  •  Organization processes where the system will be used

 To determine what the stakeholders Need.
Requirement Engineering Elements :

(1) Requirement Elicitation

(2) Requirement Analysis

(3) Requirement Specification

(4) Requirement Validation

(5) Requirement Management



Write down the System vs. Software

System vs. Software

 System Requirement Engineering  is the science
and discipline concerned with analyzing and
documenting system requirements.
origin: user needs

Software Requirement Engineering  is the
science and discipline concerned with analyzing
and documenting software requirements.
origin: system requirements and/or specification
 
BUT: For software-intensive systems software
people should be involved in the elicitation of the
system requirements!

What is software requirement priority? Write a good set requirement

Requirement Priority :

  • Characterize the relative importance of a
    requirement
  •  Basis for trade studies
  •  Unlike the other characteristics the priority
    depends on company needs.


A Good Set of Requirements is …

  • Correct
  •  Unambiguous
  •  Complete
  •  Consistent
  •  Ranked for importance and/or stability
  •  Verifiable

what are the types of software requirement compliance level

Requirement Compliance Level :

 Mandatory: must be implemented

 Guidance: desirable that it be
implemented

Information: non-binding statements
which significantly influence the context,
meaning, and understanding of other
requirements

Write the requirement engineering applications

Requirement Application :

Product parameter: applies to a product or service to be
developed

Qualitative – not directly measurable

 children (derived requirements) refine which provide quantifiable
criteria should be met

Quantitative – measurable

children (derived requirements) can be generated for the purpose of
specifying particular approaches to meet this measurable requirement


Program Parameter: activities associated with enabling the
creation of the product/service

Task: effort to be performed

 Compliance Evaluation: methodology for measuring compliance

Regulatory: administrative elements

What are the types of Software Requirement type?

 Requirement Type 

 Primary requirements: 

Sources:

  •  Contract or pre-contract document
  • established by management or marketing


Derived requirements:
 
  •  Derived form a primary requirement
     
  • Derived from a

Describe the requirement characteristics

Requirement Characteristics

i. Type: the source and contractual
applicability

ii. Application: the object of a requirement

iii. Compliance Level: the depth of
compliance mandated for a requirement

iv. Priority: relative importance of a
requirement

What is Requirement Engineering?

 Requirement Engineering :

  •  Requirement Engineering (RE) is the science and
    discipline concerned with analyzing and documenting
    requirements.
  •  requirement.
    (1) A condition or capability needed by a user to solve a
    problem or achieve an objective.
    (2) A condition or capability that must be met or possessed
    by a system or system component to satisfy a contract,
    standard, specification, or other formally imposed
    documents.
    (3) A documented representation of a condition or capability
    as in (1) or (2).