Unit 3
Unit 3
I/P O/P
System
Architectural design
• In this we understand what are the major modules that must be
implemented in the system and what are their responsibility and how
they will communicate with each other.
• We do not give stress on individual modules but concentrate coupling
and cohesion between the modules. Here we treat modules as black
box.
Detailed design/Low level design
• In this, specification of internal elements of all modules their functions, their
processing methods, data structure, algorithms, everything is defined properly.
Modularity
• In modular architecture, we understand that a system is composed of well
defined conceptually simple and independent units interacting through a well-
defined interface.
• Advantage of having modular architecture
• Easy to understand and explain
• It is easy to design and document
• It is easy to code and test.
• It is easy to maintain.
Design Structure Charts
• Structure Chart represent hierarchical structure of modules. It breaks down the entire
system into lowest functional modules, describe functions and sub-functions of each
module of a system to a greater detail.
• Structure Chart partitions the system into black boxes (functionality of the system is
known to the users but inner details are unknown). Inputs are given to the black boxes
and appropriate outputs are generated.
Symbols used in construction of structured chart
• Module: It represents the process or task of the system. It is of three types.
• Control Module: A control module branches to more than one sub module.
• Sub Module: Sub Module is a module which is the part (Child) of another
module.
• Library Module: Library Module are reusable and invokable from any
module.
• Conditional Call: It represents that control module can select any of the sub
module on the basis of some condition.
• Loop (Repetitive call of module): It represents the repetitive execution of
module by the sub module. A curved arrow represents loop in the module. All
the sub modules cover by the loop repeat execution of module.
• Data Flow: It represents the flow of data between the modules. It is
represented by directed arrow with empty circle at the end.
• Control Flow: It represents the flow of control between the modules.
It is represented by directed arrow with filled circle at the end.
• Physical Storage: Physical Storage is that where all the
information are to be stored.
• Structure chart for an Email server
Benefits of Design Structure Charts in Software Engineering
• Disadvantage
• When a problem is very complex and very large then we can not understand
the entire problem as a whole.
• Bottom Up: This approach is important as the s/w grows in complexity in a
systematic fashion. if the problem is very difficult to understand instead of
understanding the entire problem, we must solve some sub-problem and then
should keep repeating the process until the entire problem is solved.
• Advantage
• Should be used on large size projects.
• Easy to use by designers as we work in incremental fashion.
• Disadvantage
• it has complex architecture very difficult to understand and manage.
Estimation model
• Here we try to estimate about two things time and cost of
development
• In base estimation we predict the cost and time of the entire project
based on the experience which we have gained from the previous
projects.
Decomposition based estimation
• It is used for large projects where decomposition of the problem into smaller
problems is done, usually it is done on two bases.
• (size oriented, function oriented, extended functions point matrices) here we say that the
size of the software is directly dependent on the number and type of different functions it
performs.
FP
2D 3D
• 2D- in 2D FP we consider only information domain where we consider mainly five factors, as
follows:
• No of inputs: Each user data input is counted
• No of outputs: Output refers to reports, screen and error messages
• No of inquiries: The no of distinct interactive queries made by user which requires specific
actions by the system
• No of files: Each logical file. So either can be data structure or physical files
• No of external interfaces: Data files on tapes, disk etc. and other interfaces that are used
to transmit information to other systems are counted
FP
2D 3D
Unadjustable Adjustable
Function point calculation
o In Adjustable case
o FP= total_count * EAF(error adjustable factor/Cost adjustment Factor)
o EAF = 0.65 + i"
𝑓i 14 factors are indirectly involved to estimate the size of the software.
1
o ∑i analysis
In FP
0.01* " 1$
• 3D- In 3D FP we consider only information domain where we consider
mainly five factors, and along with Function domain and behaviour
domain.
FP
2D 3D
Unadjustable Adjustable
Empirical models
• Empirical models are estimation models which uses empirically
derived formulas for predicting based on LOC or FP.
• Organic(application)
• Semidetached(utility)
• Embedded(system)
• In order to classify a product into any of the three proposed classes, we take
into consideration the characteristics of the product as well as those of the
development team.
• According to the brooks the relative level of the product complexity for the
three categories of product are in the ratio 1:3:9 for application, utility and
system programs relatively
• Organic: Relatively small group work in a familiar environment to
develop well understood application program, here little innovation is
required, constraints and deadlines are few and the development
environment is stable.
• Semidetached: Project teams consist of a mixture of experienced and
inexperienced staff. It is of medium size, some innovation is required,
constraints and deadlines are moderate and the development
environment is somewhat fluid.
• Embedded: the s/w is strongly coupled to complex h/w, such as air traffic
control, ATM’s or weapon systems. The project team is large, a great deal of
innovation is required, constraints and deadlines are tight and the development
environment consist of many complex interfaces, including those with h/w and
with customer.
Basic COCOMO
• A simple and static cost estimation model that calculates project effort and duration based
on the size of the software, measured in thousands of lines of code (KLOC)
• DE = ab (KLOC) bb
• DD = cb (DE) db
• Team Size = DE / DD
20KLOC Organic Semidetached Embedded
Team Size 5 7 11
• DE = ab (KLOC) bb
• DD = cb (DE) db
• Team Size = /
Intermediate COCOMO
• Definition: An extension of the Basic COCOMO model that refines effort and duration
estimates by considering additional project factors, such as product attributes, hardware
constraints, and personnel/team attributes.
• Introduces 15 cost drivers to adjust the estimation, these drivers plays a major role in
computation of effort estimation.
• Effort Adjustment Factor (EAF) accounts for the influence of cost drivers.
20 KLOC / Organic Semidetached Embedded
EAF=1.25
20 KLOC /
Embedded
Organic Semidetached
EAF=1.25
Effort
• DE = a (KLOC)b X EAF(Error Adjustment Factor)
20 KLOC /
EAF=1..675
Organic Semidetached Embedded
Effort
Detailed COCOMO
• Definition: The most comprehensive and accurate COCOMO model that divides
a software project into multiple components or modules, and accounts for
interactions between cost drivers and project phases.
• Estimates effort and duration for each component using the Intermediate
COCOMO model, then sums them up.