;

Friday, 13 April 2018

Function decomposition Thesis


Introduction
System design:
System design is process of defining the elements of the system such as the architecture,
Modules and components, the different interfaces of those components and the data that goes
Through that system. It is meant to satisfy specific needs and requirements of a business or organization
Through the Engineering of a coherent and well-running system.

3.2.  System Decomposition/Modularization:
In system design decomposition is the separate of system into simpler or basic sub-
Systems. As many experienced designers know, it is often difficult task to create an optimal
Decomposition of a system. It is often as much a people problem as a technical problem.

An optimal decomposition requires gathering all the necessary requirements from people
And then using those requirements do design the appropriate decomposition of system and sub-
Systems. It is also often difficult to know if you have all the requirements. And, give you actually have all the requirements; it is difficult to create an decomposition.

Modularization Is a technique to divide a software system into multiple discrete and
Independent modules, which are expected to be capable of carrying out task(s) independently.
These modules may work as basic construct for the entire software. Designers tend to design
Modules such that they can be executed and/or compiled separately independently.
Modular design unintentionally follows the rules of ‘divide and conquer’ problem-
Solving  strategy this is because they are many other benefits attached with the modular design
of software.


Advantage of Modularization;
·         Smaller components are easier to maintain
·         Program can be divided based on functional aspects
·         Desired level of abstraction can be brought in the program
·         Components with high cohesion can be re-used again
·         Concurrent execution can be made possible
·         desired from security aspect

Following is the design decomposition of our Projects











Fig 4 Functional Decomposition:


                                                         

 








3.3 Concurrency Control

All software’s are meant to be executed sequentially. By sequential execution we mean
That the coded instruction will be executed one after another implying only one portion of
Program being activated at any given time. Say, Software has multiple modules, and then only
One of all the modules can be   found active at any time of execution.

In system design , Concurrency is implemented by splitting the software into multiple
Independent units of execution, Like modules and executing them in parallel. In other words,
Concurrency provides capability to the software to execute more than one part of code in
Parallel to each other.
It is necessary for the programmers and designers to recognize those modules, which can be made parallel execution.
Example:
The spell check features in word processor is a module of software, which run
Alongside the word processor itself.
3.4 Hardware and Software Mapping
By mean of Hardware and software mapping we mean that what kinds of hardware and
Software we have  used to develop our project. Following are The details of Hardware and
Software we have used.



3.4.1 Hardware
Ø Windows
Ø RAM 2GB
Ø Processor 2.40 GHZ
Ø Hard Disk 500GB

Testing
5.1. Introduction
1. The process  of executing  a system with the intent of finding an error.
2. Testing is defined as the process in which defects are identified, isolated, subjected for
Rectification and ensured that the product is defect free in order to produce the quality product and
Hence costumer satisfaction.
3. Quality is defined as justification of the requirements.
4. defect is nothing but deviation from the requirements.
5. Defect is nothing but bug.
6. Testing --- The presence of bugs.
7. testing can demonstrate the presence of bugs, but not their absence.
8. Debugging and testing is not the same thing.
9. testing is a systematic attempt to break a program or theAUT.

5.2 Testing Methodologies;
·         Black box testing; is the testing process in which tester can perform testing on an
Application without having any internal structural knowledge of application.
Usually test Engineers are involved in the Black Box Testing.
 

·         White box Testing: is the testing process in which tester can perform testing on an
Application with having internal structural knowledge.
Usually the developer are involved in white box testing.

·         Gray Box Testing: is the process in which the combination of black box
White box tonics are used.


5.3 Software testing Life Cycle (STLC)
Software life cycle models describe phases of the software cycle and and the order in which whose
Phase are executed. Each phase produces deliverable required by the next phase in the Life
Cycle. Requirements are translated into design. Code is produced according to the design which
is Called development phase. After coding and development the testing verifies the deliverable of
the implementation phase against requirements.

There are following six phases in every software development life Cycle Model;
1.      Requirement gathering and analysis
2.      2. Design
3.      Implementation or coding
4.       Testing
5.      Deployment
6.      Maintenance

1)      Requirement gathering and analysis: Business requirements are gathered in this phase
This phase is the main focus of the project managers and stake holders. Meeting with managers
Stack holders and users are held in order to determine the requirements like; Who is going to use
The system? How will they use the system? What data should be input into the system? What
Data should be output by the system? These are general questions that get answered during  a
Requirement gathering phase. After Requirement gathering these requirements are analyzed.


5.4 Test planning:
·         Test plan is defined as a strategic document with describes the procedure how to
Perform various testing on the total application in the most efficient way.
·         This document involves the scope of testing.
·         Objective of testing.
·         Area that need to be tested.
·         Area that should not be tested.
·         Scheduling resources planning.
5.5 Types of testing:
Regression Testing: Is one of the best and important testing . regression testing is the
Process in which the functionality, Which is already tested before, is once again tested
Whenever some new change is added in order to check whether the existing functionality
Remains same.
Re Testing: is the process in which testing is performed on some functionality
Which is already tested before to make sure that the defects are reproducible and to rule out the
Environments issues if at all any defects are there.
Static Testing: Is the testing, which is performed on an application when it is not been
Executed ex: GUI, document Testing.
Dynamic Testing: Is the testing which is performed on an application when it is being
Executed ex: Functional Testing
Alpha Testing: it is a type of user acceptance testing, which is conducted on a
Application when it is just before released to the costumer.
Beta testing: It is a type of  UAT that is conducted on an application when it is released
To the costumer, when deployed into in real time environment and being accessed by the
Real time users.

Installation Testing: It is the process of testing which tester try to install or try to
Deploy the module into the corresponding environment by following the guidelines.
Produced in the deployment document and check whether the installation is successful or not
Their validity and the possibility of incorporating the requirements in the system to be development is also studied.

Finally a requirement  Specification Document is created which serves the purpose of guideline
For the next phase of  the model.

2)      Design: In this phase the system and software design is prepared from the requirement.
Specification which were studied in the first phase. System design helps in specifying hardware
And system requirements and also helps in defining overall system architecture. The System
Design Specifications serve as input for the next phase of the model.

In this phase the testers come up with the test strategy, Where they mention what to test, how
To test.

3)      Implementation/Coding: On receiving system design Documents, The work is divided in
A modules/units and actual coding is started. Since, In this phase the code is produced so it is the
Main focus for the developer. This is the longest phase of the software development life cycle
.
4)      Testing: After the code is developed it is tested against the  requirements to make sure that
The product is actually solving the needs addressed and gathered during the requirement phase.
During this phase all types of functional testing like unit testing, integration testing, system
Testing, acceptance testing are done as well as non functional testing are also done.


5)      Deployment: After successful testing the product is delivered/ deployed to the costumer for
Their use. As soon as the product is given to the costumers they will first to do beta testing. If
Any changes required or if any bugs are caught, then they will report it to the engineering
Team. Once those changes are made or the bugs are fixed then the final deployment will happen.

6)      Maintenance: Once when the costumer starts using the developed system then the actual
Problems comes up and needs to be solved from time to time. This process where the care is taken
For the developed product is known as Maintenance.


Share this post to

FacebookTwitterGoogle BuzzStumnleuponDeliciousDiggTechnorati

Comments From Facebook
Subscribe Us

Get free daily email updates!

Follow us!

0 comments:

Post a Comment