Showing posts with label BS Computer Science. Show all posts
Showing posts with label BS Computer Science. Show all posts

Monday, August 15, 2016

Requirement Tracing - Software Engineering

Requirement Tracing: 
Requirement Tracing | Software Engineering
Requirement Tracing | BSCSCAFE

It is a process of linking requirements to the others according to the relationship. It also includes documenting, capturing and agreeing on requirements and controlling the every change that was made to the requirements in both the directions forward and reverse.

Tracing Tools: 
A computer program for storing all the requirements of all specification of a technical system under development, which are arranged in a tree and linked each one to the parent.

Methods of Requirement Tracing: 

  1. Vertical Tracing: A high level documentation which maps the requirements to all the phases of software development cycle. 
  2. Horizontal Tracing: It identifies the relationship between requirements. Every requirement has a test case. When requirement changed it will used to identify the test case prepared for it.


Friday, August 12, 2016

Prototyping - Software Engineering II

Prototyping
Prototyping | bscscafe

Prototyping:

An activity of releasing pre-built sample or first version  of a process or concept to run, in which a few of function are implemented and refined through number of stages to the final system.

Prototyping Process:

  1. Identify Basic Requirement: when we are going to build a first version of a product we have to collect the some of the main and basic requirements to work the main features of a product. 
  2. Develop Initial Prototype: Now we have identified the requirements, It’s time built an initial version or release to demonstrate the basic functionality of a prototype. 
  3. Review: Now collect reviews from the user, related testing unit to refine the functionality and specifications. 
  4. Enhance the Prototype: As everything is going fine, we have defined the requirements, develop initial release, reviews are collected and now work according to the reviews to build a complete system through looping these four steps.

Prototyping Process
Prototyping Process

Types of Prototypes: 


  1. Throwaway Prototyping: A small part of the system is developed to understand the requirement that is given to the end-user to try-out and then discarded soon rather than becoming a part of final system also called Rapid Prototyping. 
  2. Evolutionary Prototyping:A process of creating a mature system in which an initial prototype is provided to the end-user to get feedback and refine the same piece of code through the number of stages to approach the final system. 
  3. Incremental Prototyping: Each function is developed as a separate prototype, at the end all the prototypes are merged to into a final system. 
  4. Extreme Prototyping: It breaks down all the system into three phases especially used for web application development, each one is based on the proceeding one.

    • First phase is Static Phase, consisting of HTML pages, 
    • Second one is coding program, making sure screen are fully functional. 
    • Third and last is implement all the services


Advantages of Prototyping:


  • Improves the quality of developed system. 
  • Reduces time and cost. More communication, less misunderstanding


Disadvantages of Prototyping: 


  • Can leads to delay in the development if the user throwaway the prototype. 
  • Developer consume so much time on the sub system and attached to it. 
  • It increases the cost if the project prolonged

Wednesday, August 10, 2016

Software Verification and Validation - Software Engineering II


Software Verification and Validation
Software Verification and Validation | BSCSCAFE


Verification and Validation are two independent procedures that are used together to make sure that a product, service or system meets requirements and specifications that it fulfill the needs of end-user.


Software Validation: 


It is a process to verify that the product being built is according to the needs of the end-user and all the specifications of a product satisfies the user expected requirements. The product is actually meets the user need. It is done by Dynamic Testing and reviews. 


Are we building the right product for the user?

Software Verification: 


It is a process to make sure that we are building the product in a right way and product is being processed according to the needs of the user. The service or system being built is according to the set of requirement and designed specification. It is a process that evaluates whether product or system compiles with the initial specification or condition. Process chosen for the software development is right.


 Are we building the product in a right way?

There are two Verification approaches:



  1. Dynamic Verification: It is carried out while execution by checking dynamic behavior of the code or software. It is categorized into following three small families. 
    1. Test in the small: A process that tests a single class or function. Each function is tested individually at a very small level. 
    2. Test in the large: A test that tests a group of classes. 
    3. Acceptance test: A test that checks approval standards for a software. 
  2. Static Verification: it is a process of checking the software source code to meet the end-user requirements by investigating, mathematical calculation and logical evaluation before execution.



Efficiency:


When a software shows productivity, responsiveness or stability under a particular work load and stress produces desired results.


Correctness:


When it is said that algorithm is correct with respect to the specification. Total Correctness: which requires that the algorithm terminates but in Partial Correctness which simply requires if a value is returned it will be correct.


Integration: 


It is a process of concatenating functionally multiple units of a product to function together properly as a complete system. System is consisted upon multiple subsystems. 


Methods of Integration:



  1. Vertical Integration: is a process of integrating units and subsystems of a product according to their functionality. It make integrating quick and cheaper as compared to the other methods. 
  2. Star Integration: in this method every subsystems and units are inter-connected to every other remaining subsystems. Sometimes this method is preferable because of flexibility. Long term and costly projects.
  3. Horizontal Integration: this methods uses a specialized subsystem for the communication between the interface and other subsystems. Horizontal Integration cost’s high.