Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Architecture Analysis (Architectural Issues (Switched programming…
Software Architecture Analysis
Principles that apply
Choose components so that each can be implemented independently of the internal implementation of all others
Personnel skill dominates all other factors in productivity and quality
The cost of discovering a defect does not rise. It may be cheaper to discover a requirements defect in customer testing than in any other way; hence the importance of prototyping
Case study did not mention that costs raised much, but schedule definitely slipped
Not nearly as bad of a schedule slip as the EFV program that I am covering for the Risk class final project
Software should be grown or evolved, not built
Principle of dualism
Principle of Emergence
Architectural Issues
MSIP I & II Prototypes were delivered long before the software development plans were completed/signed
Switched programming languages mid-way through
They used an un-validated compiler
Could not tell if defects were due to compiler or software
Validated compiler would not be available until 1 year after MSIP II delivered
New compiler meant lack of experienced engineers to fix problems
Too heavily reliant on simulators - made for late discoveries of actual deficiencies
Not enough access to Software Test Stations
GFAE to integrate to being developed at the same time
Requirements for GFAE changing as software is being developed
GFAE had software issues and was not ready in time to be integrated on schedule
They didn't listen to customer (pilots) feedback from testing and had to remechanize the cockpit area to be more operationally effective
Many software changes to MSIP II, assessed as low to moderate tech risk
APG-68 radar alone accounted for an 8-fold increase in complexity of software from F-16A to F-16C
Less time given to develop than the F-16A
Increased memory reserve meant increased complexity/sophistication could be achieved
Previously issues would not be realized because things would have been left out due to a lack of memory
Impressions
Bias
I do NOT understand the complexity/intricacies of software!!
Reading that all these things were being developed in parallel by different entities seems like a disaster waiting to happen to me, but appears to be common practice for software
I do not have an IT/software background so a lot of this was Greek to me
Architecture approach
Seemed reasonably "open" to accommodate future GFE/GFAE
I think they ended up being successful, it was just not without some growing pains
Dates/timeline was a bit hard for me to follow