Beruflich Dokumente
Kultur Dokumente
Software Engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software, that is, the application of engineering to software software.
FEEDBACK
User Requirements
FEEDBACK
10
11
12
Architect: A software engineer involved in the design of the solution after the analyst has clearly specified the business requirements.
14
Roles in a typical software project(Contd) project(Cont d) Developer: A software engineer, who writes l f h the code, tests it and delivers it error free.
15
Roles in a typical software project(Contd) project(Cont d) Tester: A software engineer who conducts tests t t on th completed software or a unit of the l t d ft it f the software. If any defects are found these y defects are logged and a report is sent to the owner of the tested unit.
16
17
In a broader sense a requirement is q 1. A condition or a capability needed by a user which will help the user to solve a problem or to achieve an objective. j 2. A condition or a capability that must be met by a system to satisfy a contract, standard or specification.
18
Functional Requirements
These are the requirements that specify the inputs to the system, the outputs from the system and the behavioral relationship between them. l i hi b h Examples: The software should calculate and display the cumulative interest at the rate of 12% on all fixed deposits until maturity. The software should display a separate web page, giving details of all the founder members of the company. The software is required to generate a monthly report on the number of outstanding loan amounts
19
In a broader sense a requirement is q 1. A condition or a capability needed by a user which will help the user to solve a problem or to achieve an objective. j 2. A condition or a capability that must be met by a system to satisfy a contract, standard or specification.
20
Non-Functional Requirements N F ti lR i t
These are requirements that describe the overall attributes of the system. Examples: Good User Interface, High Performance, Modular software and Scalable Model
21
Process Model
Data
Data Model
FEEDBACK
22
23
Levels of Testing
24
System testing
System testing is the process of testing the completed software as a part of the environment it was created for for. It is done to ensure that all the requirements specified by the customer are met. System testing involves functional testing and performance testing.
25
System testing
Functional testing traps errors in implementation of the business requirements. requirements Performance testing looks at the way the functions are performed, that is, considerations of speed and response time.
26
Testing stages
Acceptance testing
Testing with customer data to check that it is acceptable
27
28
Design Phase h
In the design h I th d i phase th requirements are the i t translated into an actual representation for software construction.
software architecture procedural detail data design interface design
32
Design Phase
Design of existing project Standard documents High Level Design Document
FEEDBACK
FEEDBACK
Review
Integration Test Plan Write Integration Test Plan REQUIREMENTS GATHERING PHASE Write Unit Test Plan
Review R i
FEEDBACK
FEEDBACK
DESIGN PHASE
33
Design Phase h
The High Level Design (HLD) describes the logical view of the solution. It views the solution at a higher level of abstraction.
34
35
Testing stages
Unit testing
Individual components are tested
Module testing
Related collections of dependent components are tested
Integration testing
Modules are integrated into sub-systems and g y tested. The focus here should be on interface testing
36
37
Design Phase h
The four documents below form the output of the design phase: p g p High Level Design Detailed Design Integration Test Plan Unit Test Plan
38
Build Phase
39
Test Script
It is a program which automates the steps identified for a test
40
Testing Phase
41
Deployment Phase
A number of points need to be kept in mind for the deployment of final software. The complete delivery package needs to be assembled and tested Ensure that the plan for the support of the software is ready Early communication to customers about the changes that the software will bring about. For example, reports might look different or l l k diff location of i f i f information might h i i h have changed
42