0% found this document useful (0 votes)
30 views22 pages

Development Technology IP PPT

Uploaded by

hsint htay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views22 pages

Development Technology IP PPT

Uploaded by

hsint htay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Development Technology

Daw Hsint Hsint Htay

Lecturer
2 Outlines

 4-1 System Development Technology

 4-1-1 System Development Processes

 4-1-2 Estimate of Software

 4-2 Software Development Management


Techniques

 4-2-1 Software Development Process and Methods

 4-3 Chapter Quiz


3 4-1-1 Process of system development
 It is natural that in a system used in business operations, the necessary
functions must operate normally, and in addition, such a system must be
easy to use by users (system user departments).
 It is important for the department developing a system to coordinate with
various departments that would use the system, investigate and analyze
their requirements, and reflect them in the system to be developed.
 Furthermore, a system need not necessarily be developed within one’s
own company, and can be outsourced to a company specializing in
system development.
 A “contract for work” is a typical contract method used at the time of
outsourcing system development to another company.
 The general procedure of developing a system is as described below.
The general procedure for
4 developing a system is as
shown below.

(1) Requirements definition


(2) System Design
(3) Development
(4) Testing
(5) System installation and
acceptance
(6) System operation and
maintenance
5 Reference: Necessity of review

 It is necessary to implement a “review” for each process of system


development.
 Review refers to checking and ensuring that there are no bugs (errors) in
the design or system.
 The purpose of a review is to improve the quality by detecting and
correcting latent bugs.
 A review may be performed personally by a developer, or by a project
team of a small number of persons, or else by all those who are
concerned.
 While a review is effective even if conducted by the developer him/herself,
if it is performed by a person other than the developer, checking can be
done by objectively, and the bugs that went unnoticed by the developer
him/herself may be detected.
6 1. Requirements definition
 The “Requirements definition” clarifies the functions, performance, and
other details required for the system and software, and includes the
“System requirements definition” and the “Software requirements
definition."
 The demands of the users (system user departments) are investigated
and analyzed, and it is determined whether or not the demands are
technically feasible, and thereafter, the requirements for achieving the
demands are defined in detail, and arranged as a “Requirements definition
document."
 At the time of investigating the demands of the users, the method of
finding out the requirements through the way of interviews, etc., that is
called “Hearing," is effective.
7 Cont’d
 In order to implement the requirements definition smoothly without any
omissions, items to be heard are clarified beforehand, and a plan is set up
and implemented.
 In order to enable checking the results of hearing at a later stage, it is
important to maintain them as minutes, etc.
 The requirements definition constitutes the first step of system design.
 Progression to the process of system design happens on the basis of the
contents of the system requirements definition, and in this process, the
requirements definition for software is performed.
 In order to develop a superior system, it is necessary to define each
requirement while cooperating with various departments that would be
using the system.
8 Cont’d
1. Operational Requirements
2. Functional Requirements
3. Non-functional Requirements

 In the “System requirements definition," the functions that are necessary for
computerization are clearly specified.
 Generally, the requirements concerning system reliability (such as operation
time and operation conditions) and security (such as countermeasures against a
failure and maintenance) are specified.
 Moreover, the performance of the hardware to be used for system operation and
the conditions for education of users of the system are also specified together.
 In order to check if the contents specified in the system requirements definition
meet the cost and achieve the maximum effect within a limited budget, it is
necessary to prioritize the specified items.
9 Reference: Quality Characteristics
Quality
Description
Characteristics
The extent of whether or not necessary functions have
Functionality been incorporated

The extent of whether or not a correct operation


Reliability continues

The extent of whether or not it is easy to use (has good


Usability operability)

The extent of how small the amount of resources is


Efficiency required for operation

The extent of whether not revisions are easy to make


Maintainability (whether or not the reflect of revisions is confined)

The extent of whether or not transplanting into another


Portability environment is easy
10 2. System design
 The system is designed on the basis of the requirements definition.
 The procedure of designing a system is as described below:
11 (1) Systems architecture design
(External
design)
 In the “Systems architecture design,” the system configuration is designed
on the basis of the contents of the requirements definition.

 All system requirements in the requirements definition document are


classified as shown below:
12 Cont’d

 By thus classifying the requirements, the user work scope


becomes clear, and it becomes possible to propose options in
view of the risks, and also to design the system configuration
on the basis of effective operation and maintenance, etc.
 The designed contents are arranged as a “Systems
architecture design document.
13 (2) Software requirements definition

 In the “Software requirements definition” the software requirements as


seen from the users are defined.
 Generally, the system interface is designed and data to be handled is
identified.
 The contents defined here are arranged as a “Software requirements
definition document."
14 (3) Software architecture design
(Internal design)
 In “Software architecture design," an internal design for the system, such
as “how to implement” the functions necessary for the system is drawn.
 That is, the design is made from the viewpoint of performing programming
in order to implement the functions determined in the systems architecture
design and the software requirements definition.
 The contents designed here are arranged as a “Software architecture
design document.”
 Since internal functions of the system are to be designed, this task is
performed by the system development department, but the users (system
user departments) do not contribute to this designing.
15 (4) Software detailed design
(Program design)
 The internal structure of a program is designed on the basis of the software
architecture design.
 In the “Software detailed design," the functional details of the program are
defined, and the detailed processing units of the program structure, such as the
access method (SQL statements) to the database, are designed.
 The contents designed here are arranged as a “Software detailed design
document."
 Thereafter, programming is implemented on the basis of this design document.
 Since internal functions of the system are to be designed, this task is performed by
the system development department, but the users (system user departments) do
not contribute to this designing.
16 Reference: Hardware configuration and
Software configuration
 A hardware configuration (server configuration, network configuration,
etc.) is determined taking into account the duplication and
decentralization of servers and hard disks.
 A software configuration is determined taking into account the choices of
new development or use of packages, or kinds of middleware to use, etc.

Reference: Joint review


 The system requirements definition and systems architecture design, as
well as the software requirements and software architecture design are
reviewed by the system development department and users (system
user department).
 The joint review involves prioritization of items from the view point of
cost effectiveness to achieve maximum results within a limited budget.
17 3. Development (Programming)
 “Programming” refers to describing algorithms (procedures for
problem solving) in accordance with the rules and grammar of the
programming language.
 It also refers to others up to completing operation tests.
 Each program module is created on the basis of the contents
designed in the system design.
 In order to properly operate the system, it is important to write each
module’s procedures and processing contents, as well as the
processed results, etc. exactly following the contents specified in
the relevant design documents.
 In addition, in order to ensure that each module that has been
prepared operates normally according to the software detailed
design document, a “Unit test (module test)” is implemented.
18 Cont’d

 A unit test is implemented to detect logical errors in every single


module, and checks whether or not the modules function in
accordance with predetermined specifications.
 Generally, unit tests are conducted mainly by the persons in charge
of the software detailed design (program design) and by the
persons in charge of program development.
 Mainly, the “White box test” is used for unit tests.
 The program is converted to a program that can run on the
computer by using a “Compiler," and the presence of bugs in the
prepared program is ruled out.
19 Reference:
Improving the maintainability of a program
 In order to improve the maintainability of a program, it is necessary
to abide by program rules, such as (1) the way of naming variables
and writing comments, (2) restriction on the usable characters and
the maximum length of character strings, (3) differentiation between
upper- and lower-case characters, etc.
 These rules to be follow are called “Programming style.”
 A program written in accordance with a given programming style
allows anyone to easily understand the program processes and
allows anyone to straightforwardly make revisions.
20 Reference: Coding
 “Coding” refers to the creation of codes through writing algorithms
and data processing logic in a programming language.
 The code thus created are called “source code”.

Reference: Code review


 “Code review” refers to reviewing creating source codes.
 It involves checking whether the reliability and maintainability of
codes are high, whether the codes are written in accordance with
the software detailed design and programming style.
21 Reference: Debugging
 “Debugging” refers to looking for and eliminating bugs from a
computer program .
 It is different from a unit test in that when a bug is found, the
location of the bug is focused upon, and only the bug focus upon is
corrected.

Reference: Module
 A “module” is the smallest unit of configure a program.
 Generally, one program is made of one or more modules.
22 Quiz

Q 4.1. Which of the following quality characteristics of software


products corresponds to the condition described below?
Whether a system can restore the immediately preceding state
without losing data after unexpected operation

a) Portability
b) Maintainability
c) Usability
d) Reliability

You might also like