SE20192 - Lesson 3 - Software Life Cycle

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

1

INTRODUCTION TO SOFTWARE ENGINEERING


2. SOFTWARE LIFE CYCLE
Nguyen Thanh Hung
[email protected]
2

Content
1. Business Application System
2. System Life Cycle Process
3. Software Life Cycle Process
4. Software Implementation/Development
Process
3

Content
1. Business Application System
2. System Life Cycle Process
3. Software Life Cycle Process
4. Software Implementation/Development
Process
4

What is a Business Application System?


• “Whole system to accomplish the business”
• Example: Personnel System, Payment System…
• In this course, Computerized BA System is treated.

• The BA System includes:


• hardware, networks, software*, and manual operations
• software*: Includes platform software (OS…), middle software,
and “Business Application Software”
5

A big picture of Business Application System

Business Application System


Manual
IT System operations

BA Software
Hardware
Equipments

Network
6

Importance of new IT System


• “There is No new business without new IT
system”
• IT system enables organizations to react,
respond, serve, store, retrieve, disseminate, and
control their new valuable asset that is
information.

è BA Software is the main component to


computerize business tasks for the BA system
7

Content
1. Business Application System
2. System Life Cycle Process
3. Software Life Cycle Process
4. Software Implementation/Development
Process
8

Life Cycle of BA System


• Life Cycle: from birth until death
• BA system: from the conception to the retirement
1. Conception: Project request

2. System Initiation: System proposal

3. System Development: Includes the development of BA software

4. System Deployment

5. System Operation and Maintenance


à Disposal (retirement) as the end of maintenance
9

System and Software development


• System Requirements Analysis
• Stakeholder's requirements are extracted and defined

• System Architectural Design process


• Envisage whole system structure is designed and the system components
such as hardware, software, network, manual operation
• System Integration
• Integrate the components including the business application software into
a system
• System Qualification Testing
• If the test is successful completion, Software developer can start to
prepare the software deliverables
è Development of Application Software as a component of the System
10

System and Software operation/maintenance


• System Operation
• Software Installation/Acceptance at same time
• Installation of the software product in the target environment
• Acceptance review and testing of the software product
• Depending on the contract, software developer has to assist the
activities.
• Operation of Application System and Software
• New Business based on the new system starts then!!!

• System maintenance
• Software Maintenance at same time
• Depending on the contract, software developer has to assist the
activities.
èWhen the operation are terminated, it is the
system/software is disposed, the maintenance is also
terminated.
11

How software is made – Video


12

Content
1. Business Application System
2. System Life Cycle Process
3. Software Life Cycle Process
4. Software Implementation/Development
Process
13

3. Software Life Cycle Process


• “ISO/IEC 12207:2008, Systems and software engineering — Software
life cycle processes”
• The latest and International Standard Software Development Process
• “The life cycle begins with an idea or a need that can be satisfied
wholly or partly by software and ends with the retirement of the
software.”
• Standard implementation works PROCESS
• hierarchically as processes

ACTIVITY 1 … ACTIVITY N

TASK 1.1 … TASK N.1

TASK 1.N TASK N.N


14

What are International Standards?


uIn ISO, all industry standards, including Information
Technology, are developed.
uIn the field of Information Technology, in ISO/IEC JTC1,
international standards are developed.
uISO/IEC JTC1 has 32 principal member bodies which
develop the international standards, and 44 observer
member bodies.
uSome abbreviation
• ISO: International Organization for Standard
• IEC: International Electrotechnical Commission
• JTC1: Joint Technical Committee
15

Why International Standards?


uStandards are important, especially in ICT
• Basis of common understanding such as frameworks,
and terminology / definitions
• TBT Agreement of WTO recommends the use of ISO
Standards for governmental purchase in affiliate
countries
• Based on some standards, the certifications can be got,
and they make some appeal points in international
transaction

WTO: World Trade Organization


TBT Agreement: Agreement on Technical Barriers to Trade
16

Software Life Cycle Process


• “This International Standard groups the activities that may
be performed during the life cycle of a software system into
seven process groups”[1]*:
1. Agreement Processes: 2 processes
2. Organizational Project-Enabling Processes: 5 processes
3. Project Processes: 7 processes
4. Technical Processes: 11 processes
5. Software Implementation Processes: 6 processes
• Purpose: “to produce a specified system element implemented
as a software product or service” [1]**.
6. Software Support Processes: 8 processes
7. Software Reuse Processes: 3 processes

[1]*: clause 5.2.1; pp. 13, [1]**: clause 7.1.1.1; pp. 57,
17

Content
1. Business Application System
2. System Life Cycle Process
3. Software Life Cycle Process
4. Software Implementation/Development
Process
18

Software Development Life Cycle – Video


19

4. Software Implementation Process


System Requirements Analysis Process and System
Architectural Design Process are achieved just before
Software Implementation/Development Process.

Software Implementation Process includes the following


lower-level processes:
1. Software Requirements Analysis Process
2. Software Architecture Design Process
3. Software Detailed Design Process
4. Software Construction Process
5. Software Integration Process
6. Software Qualification Testing Process
20

3.1. Software Requirements Analysis process


• Purpose: “to establish the requirements of the software
elements of the system” [1]
• Main items written on the brief requirement description
• System environmental conditions under which the software is to
perform.
• The functional requirements and the interface requirements.
• Data definition and database requirements.
• Some non-functional requirement items such as reliability,
usability, time efficiency
• Qualification requirements: The requirements are used as criteria
or conditions to qualify a software product as complying with its
specifications.

[1]: Session 7.1.2.1; pp. 59


21

3.2. Software Architectural Design process


• Purpose: “to provide a design for the software that
implements and can be verified against the requirements”
[1]
• Software architecture is designed from the software
requirements
• Main items
• a top-level structure of the software and the software components
which constructs the software
• a top-level design for the interfaces external to the software and
between the software components
• a top-level design for the database

[1]: Session 7.1.3.1; pp. 61


22

3.3. Software Detailed Design process


• Purpose: “to provide a design for the software that
implements and can be verified against the requirements
and the software architecture and is sufficiently detailed to
permit coding and testing” [1]
• A detailed design for each software components are
developed. In the detailed design, the following items are
developed:
• each component is refined into software units that can be coded,
compiled, and tested
• the interfaces external to the software item, between the
software components, and between the software units

[1]: Session 7.1.4.1; pp. 62


23

3.4. Software Construction process


• Purpose: “to produce executable software units that
properly reflect the software design” [1]
• Main items to be developed:
• Each software unit and database
• Test procedure and test data for software unit and database
• Unit tests and database test
• The implementer shall evaluate software code and test
results considering internal external consistency, test
coverage of units and, traceability to the requirements and
design of the software.

[1]: Session 7.1.5.1; pp. 63


24

3.5. Software Integration process


• Purpose: “to combine the software units and software
components, producing integrated software items,
consistent with the software design, that demonstrate that
the functional and non-functional software requirements
are satisfied on an equivalent or complete operational
platform” [1]
• Main tasks
• An integration plan, including test requirements, test procedure,
and test cases/data.
• Integration of software units/components
• Program/software/integration test

[1]: Session 7.1.6.1; pp. 64


25

3.6. Software Qualification Testing Process


• Purpose: “to confirm that the integrated software product
meets its defined requirements” [1].
• Qualification testing in accordance with the qualification
requirements for the software item is conducted
• Tests, test cases, and test procedures
• The implementer supports audit(s) to conform the
software meets to the qualification requirements
• If it is successful completion of the audits, the implementer prepare
the deliverable software product for System Construction process

[1]: Session 7.1.7.1; pp. 66


26

Summary
• “Software Life Cycle Process – SLCP” is the
international standard processes focused on the
development and support of Application Software.
• SLCP can be used as a common language among the
stakeholders such as acquirers and suppliers. They can
communicate or order the software development using
SLCP. For example, we can say “To order the software
detailed design process or later software
implementation processes of new library system”.
27

Learning points
“The customer’s business success depends on the system
development success.”

BA Software is one of the major components of the BA


System.
What are the main factors for the system development success?
1. The Software to be developed meets to functional
requirements à ?
2. To keep appointed date of delivery à ?
3. Meets the required quality such as Reliability, Usability,
Performance, Maintainability à ?
4. Necessary to provide maintenance activity during the system
operation period à ?
28

Summary
uSystem Construction Process
• Following the Software Implementation Process,
System Construction Process, which consists of the
following processes, are achieved
• Software Developer may assist the following processes
depending on contract
uSystem Integration Process
uSystem Qualification Testing
uSoftware Installation Process
uSoftware Acceptance Support Process
29

Summary (2)
• “Software Life Cycle Process – SLCP” is the
international standard processes focused on the
development and support of Application Software.
• SLCP can be used as a common language among the
stakeholders such as acquirers and suppliers. They can
communicate or order the software development using
SLCP. For example, we can say “To order the software
detailed design process or later software
implementation processes of new library system”.

You might also like