0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
26 tayangan22 halaman
The document discusses the key characteristics of software that differentiate it from physical systems and hardware. Software is a logical rather than physical element, it is developed not manufactured, each application is unique, and it is more complex than physical systems due to a large number of requirements and lack of understanding between users and developers. Software also behaves differently over time compared to hardware, as it does not deteriorate physically but requires modifications to adapt to changes, and failures indicate design errors rather than replacing spare parts.
The document discusses the key characteristics of software that differentiate it from physical systems and hardware. Software is a logical rather than physical element, it is developed not manufactured, each application is unique, and it is more complex than physical systems due to a large number of requirements and lack of understanding between users and developers. Software also behaves differently over time compared to hardware, as it does not deteriorate physically but requires modifications to adapt to changes, and failures indicate design errors rather than replacing spare parts.
The document discusses the key characteristics of software that differentiate it from physical systems and hardware. Software is a logical rather than physical element, it is developed not manufactured, each application is unique, and it is more complex than physical systems due to a large number of requirements and lack of understanding between users and developers. Software also behaves differently over time compared to hardware, as it does not deteriorate physically but requires modifications to adapt to changes, and failures indicate design errors rather than replacing spare parts.
Michelle L. Crane CFICSE 2002 / SF01 - 2 Reference Roger S Pressman, Software Engineering: A Practitioners Approach, Fifth Edition, McGraw- Hill, 2002 1.2
CFICSE 2002 / SF01 - 4 Software Software is: 1. instructions (computer programs) that when executed provide desired function and performance 2. data structures that enable the programs to adequately manipulate information 3. documents that describe the operation and use of the programs Reference: Pressman, 1.2 CFICSE 2002 / SF01 - 5 Characteristics how is software is different from other things that we build?
it is a LOGICAL rather than a PHYSICAL element of a system as such, it has several key characteristics which are different than those of hardware CFICSE 2002 / SF01 - 6 How is Software Manufactured? We talk about the software manufacturing process. Is this a viable analogy? How is software manufactured?
Software is developed or engineered, it is not manufactured in the classical sense. CFICSE 2002 / SF01 - 7 What is Software Design? one of the hallmarks of an engineering artifact is that a responsible engineer can certify the artifacts design as being adequate for its intended purpose. considering this, what is software design? what about other stuff thats called design? interior design, fashion design, industrial design would you put your engineers stamp on a software design? Why or why not? CFICSE 2002 / SF01 - 8 Software Economics What is software worth? How is it valued? Where is the cost? Where is the profit? CFICSE 2002 / SF01 - 9 Each Application is Unique fact or myth? we would like to build software from components but standards are lacking, so the Lego pieces dont always fit together anyway software firm can build software in any way it likes so, need to either buy software as a complete unit be prepared to develop large portions from scratch adopt and emerging component technology CFICSE 2002 / SF01 - 10 Complexity a software project typically has a large number of requirements lack of mutual understanding between users and developers requirements change; software is seen as malleable CFICSE 2002 / SF01 - 11 Sidebar: Understanding Requirements Shoes must be worn Dogs must be carried CFICSE 2002 / SF01 - 12 Physics vs. Logic think about the difference between physical systems, and logical systems such as software. CFICSE 2002 / SF01 - 13 Physical Systems are Continuous (disregarding quantum effects) continuity means approximations are allowed allows calculus to be used as a modelling tool CFICSE 2002 / SF01 - 14 Software is Discrete any single change can have an arbitrarily large effect requires discrete calculus as a modeling tool models must be essentially complete to be useful CFICSE 2002 / SF01 - 15 Hardware Maintenance all manufactured products have a life-span, during which time they wear out and eventually break down hardware maintenance consists of preventative maintenance (e.g., oiling, replacing worn parts) corrective maintenance (e.g., repairing or replacing failed parts)
CFICSE 2002 / SF01 - 16 Hardware Failure Curve f a i l u r e
r a t e
time infant mortality wear out Reference: Pressman, Figure 1.1 CFICSE 2002 / SF01 - 17 Software Maintenance software isnt maintained in the classic sense software maintenance consists of modifications to correct deficiencies or adapt to changes in the real world you cant oil it it doesnt wear out the parts wont fail CFICSE 2002 / SF01 - 18 Software Failure Curve (Ideal) f a i l u r e
r a t e
time defect removal residual defects (~constant) CFICSE 2002 / SF01 - 19 Software Failure Curve (~Actual) f a i l u r e
r a t e
time Huh? CFICSE 2002 / SF01 - 20 Spare Parts when hardware breaks down or wears out, just replace the part! software has no spare parts! every software failure indicates an error in design (or in the translation from design to machine executable code) therefore, fixing a default means considerably more than just swapping out a part CFICSE 2002 / SF01 - 21 Summary characteristics of software not manufactured design? economics uniqueness complexity logical vs. physical discrete vs. continuous maintenance deterioration over time no spare parts