The Software Development Standards

28
The Software The Software Development Standards Development Standards Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

description

The Software Development Standards. Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU. OUTLINE. The System Life Cycle Model and the System Development Process. Software Engineering and the Software Development Process Software Development standards - PowerPoint PPT Presentation

Transcript of The Software Development Standards

Page 1: The Software Development Standards

The Software The Software Development StandardsDevelopment StandardsInstructor: Dr. Hany H. AmmarDept. of Computer Science and Electrical Engineering, WVU

Page 2: The Software Development Standards

OUTLINEOUTLINE

The System Life Cycle Model and the System Development Process.

Software Engineering and the Software Development Process

Software Development standards The ICASE Environments ICASE Tool: Teamwork (see notes

of Ch. 2), and Software through Pictures (StP)

2

Page 3: The Software Development Standards

Software Development Software Development StandardsStandardsTwo standards for software

development are discussed ◦The software engineering standard

(PSS-05-0) of the European Space Agency (ESA)

◦The MIL-STD-498 standard for software development of the US Department of Defense

3

Page 4: The Software Development Standards

The ESA standard The ESA standard The ESA standard consists of two

parts namely, the product standards part and the procedure standards part. ◦The product standards part contains

standards, recommendations and guidelines concerning the software product,

◦The procedure standards part describes the procedures used to manage the software development project.

4

Page 5: The Software Development Standards

The ESA standardThe ESA standardThe ESA product standard mandates

that all software projects shall have a life cycle approach consisting of the following basic phases:◦User Requirements (UR) definition◦Software Requirements (SR) specification◦Architectural Design (AD) specification◦Detailed Design (DD) and production of

the code◦Transfer (TR) of software to operation,

and◦Operations and Maintenance (OM).

5

Page 6: The Software Development Standards

The ESA standardThe ESA standardThe UR phase is the problem definition phase

in which the scope of the software is clearly specified by the users in cooperation with the developer’s teams of software engineers, hardware engineers, and managers.

In the UR phase, the operational environment of the software is determined.

The users requirements are captured and documented in a User Requirements Doc (URD).

The review of the URD (UR/R) is performed by the same teams who have already worked on software specifications in the UR phase.

6

Page 7: The Software Development Standards

The ESA standardThe ESA standardThe SR phase is the software

requirements analysis and specification phase

A logical model of the software is produced (using Structured analysis or Object-Oriented Analysis) and used to analyze the completeness, consistency, and testability of the requirements

Software Requirements Document (SRD) is produced and is formally reviewed (SR/R) by the users, software engineers, hardware engineers, and managers concerned.

7

Page 8: The Software Development Standards

The ESA standardThe ESA standardThe Architecture Design (AD) phase deals

with the construction of what is termed as “the physical model” of the software. It defines the architecture or structure of the software in terms of components or modules and their interfaces

The software components as well as the data flow and control flow between them are defined.

The deliverable produced in this phase is the Architectural Design Document (ADD). The ADD is again formally reviewed (AD/R) by the same teams mentioned above.

8

Page 9: The Software Development Standards

The ESA standardThe ESA standardThe activities of the DD phase include

module design, coding, unit testing, integration testing and system testing.

A Detailed Design Document (DDD) and the Software User Manual (SUM) are produced concurrently with coding and testing

Unit, integration, and system testing is performed according to verification plans established in the SR and AD

9

Page 10: The Software Development Standards

The ESA standardThe ESA standardThe code, DDD, and SUM documents are

reviewed in the formal Detailed Design Review (DD/R) by software engineers and the management concerned

The TR phase includes the installation and the provisional acceptance testing activities to establish that the software fulfils the requirements

A Software Transfer document (STD) is produced which contains the description of the activities performed and the transfer of the software to the operation team.

In the OM phase, the software is monitored for enough time to establish the final acceptance testing

10

Page 11: The Software Development Standards

The MIL-STD-498The MIL-STD-498The software engineering process shall include the

following major activities (system view) (notes:page 2-61)

System requirements analysis (SYSRA) generates• Operational Concept Description document (OCD),• the System/Subsystem Specification (SSS) doc, and• the Interface Requirement Specification (IRS) doc

System Design (SYSD), defines the system as SW/HW configuration items, and generates• the System/Subsystem Design Description (SSDD) document, and• the Interface Design Description (IDD) document

11

Page 12: The Software Development Standards

12

Figure 2.8 Sequential Development Model (Adapted from MIL-STD 498)

Page 13: The Software Development Standards

The MIL-STD-498The MIL-STD-498Parallel development threads are then shown for

each Computer SW Configuration Item (CSCI) Software Requirements Analysis (SWRA)

generates the SW Requirements. Specifications (SRS) and Interface Requirements Specifications (IRS) documents

Software Design (SWD) generates Software Design Description (SDD), IDD (interfaces), and DBDD docs

Software Implementation & Unit Testing (SWIUT)

Unit Integration and Testing (UIT) generates SW Test Description (STD) doc

CSCI Qualification Testing (CSCIQT) generates Software Test Report (STR) doc

13

Page 14: The Software Development Standards

The MIL-STD-498The MIL-STD-498The parallel threads of development merge

into a sequential development thread in the following◦ CSCI/HWCI Integration and Testing (IT) generates

the system Test Description (SYSTD) doc◦System Qualification Testing (SYSQT)

generates the system Test report (SYSTR)The last two phases are accomplished in

parallel◦ Preparing for Software Use (PSWU)◦ Preparing for Software Transition (PSWT)

Notes: See Figures 2.8, 2.9, and 2.10 for the three models

14

Page 15: The Software Development Standards

15

Page 16: The Software Development Standards

16

Page 17: The Software Development Standards

17

Page 18: The Software Development Standards

18

Features of life cycle Features of life cycle modelsmodels

Page 19: The Software Development Standards

The ICASE EnvironmentsThe ICASE EnvironmentsICASE stands for Integrated Computer-Aided

Software Engineering EnvironmentsThese environments support a variety of

development techniques and notations in an integrated environment

All the tools used in the development process are presented through a common user interface.

Data and diagrams developed in a tool during a particular phase in the development process can be used by another tool in a different phase of development (analysis tools, design tools, etc.)

19

Page 20: The Software Development Standards

The ICASE EnvironmentsThe ICASE Environments

20

Page 21: The Software Development Standards

ICASE Tool: Software through ICASE Tool: Software through Pictures (StP)Pictures (StP)The tool-suite of Software through

Pictures is divided into four sets of tools ◦Graphical Editors◦Checking Programs◦Code Generation◦Documentation programs

The data related to all of these tool-sets is stored in the project data-base◦See Figure 2.15 and the on-line docs of

StP 21

Page 22: The Software Development Standards

ICASE Tool: Software through ICASE Tool: Software through Pictures (StP)Pictures (StP)StP supports two main

development techniques ◦Structured Analysis and Design

Environments for Real-Time Systems (Hatley/Pirbhai notation) See Structured Environment (StP/SE) on-

line docs

◦Object-Oriented Analysis and Design Environment based on Unified Modeling Language (UML) notation See StP/UML Environment on-line docs

22

Page 23: The Software Development Standards

ICASE Tool: Software through ICASE Tool: Software through Pictures (StP)Pictures (StP)StP/SE provides the following

features◦Automates requirements analysis,

behavioral modeling, system design, and implementation of structured applications.

◦Provides complete support for the most popular structured methods

◦Automates forward and reverse engineering of C code, including creation of flow charts and incremental update

23

Page 24: The Software Development Standards

ICASE Tool: Software through ICASE Tool: Software through Pictures (StP)Pictures (StP)

◦Stores the semantics of the model in an open, multi-user, shared repository built upon a commercial DBMS.

◦Uses this repository for correctness and consistency checking within and across all models and views

◦Integrates with DocEXPRESS, FrameMaker, Interleaf, and Word for automatic generation of documentation

24

Page 25: The Software Development Standards

ICASE Tool: Software through ICASE Tool: Software through Pictures (StP)Pictures (StP)StP/SE integrates all SE models into

a multi-user environment via seven editors1. Requirements Table Editor - Captures

the requirements and facilitates traceability

2. Data Flow Editor - Models system processes and the data they manipulate.

3. Data Structure Editor - Views the system from a data only perspective

25

Page 26: The Software Development Standards

ICASE Tool: Software through ICASE Tool: Software through Pictures (StP)Pictures (StP)

4. Control Flow Editor - Models event- driven aspects of real-time systems, showing the interaction between discrete-valued control signals and processes.

5. State Transition Editor - Models the behavior of event-driven systems for an event-control perspective.

6. Control Specification Tables Editor - Shows the interaction among discrete-valued control events, data, states and processes.

26

Page 27: The Software Development Standards

ICASE Tool: Software through ICASE Tool: Software through Pictures (StP)Pictures (StP)StP contains the following editors

at the design phase◦Structure Chart Editor - Models

architectural view of the system, depicting program modules and their call relationships (i.e., their dependencies)

◦Flow Chart Editor - Draws flowchart diagrams that model the detailed flow of logic in each program module.

27

Page 28: The Software Development Standards

ICASE Tool: Software through ICASE Tool: Software through Pictures (StP)Pictures (StP)It supports a team working on the

same project concurrentlyStP/SE utilizes a core architecture

that allows a development team to work in a heterogeneous Windows NT and UNIX environment.

Can be Installed for a heterogeneous, a straight Windows NT, or a straight UNIX environment.

28