0 оценок0% нашли этот документ полезным (0 голосов)
291 просмотров18 страниц
SOFTWARE A software is instructions (computer programs) that when executed provide desired function and performance. Software is developed or engineered, it is not manufactured in the classical sense. A software component should be designed and implemented so that it can be reused in many different programs.
SOFTWARE A software is instructions (computer programs) that when executed provide desired function and performance. Software is developed or engineered, it is not manufactured in the classical sense. A software component should be designed and implemented so that it can be reused in many different programs.
Авторское право:
Attribution Non-Commercial (BY-NC)
Доступные форматы
Скачайте в формате PPT, PDF, TXT или читайте онлайн в Scribd
SOFTWARE A software is instructions (computer programs) that when executed provide desired function and performance. Software is developed or engineered, it is not manufactured in the classical sense. A software component should be designed and implemented so that it can be reused in many different programs.
Авторское право:
Attribution Non-Commercial (BY-NC)
Доступные форматы
Скачайте в формате PPT, PDF, TXT или читайте онлайн в Scribd
A software is instructions (computer programs) that when executed provide
desired function and performance. Software characteristics 1 . Software is developed or engineered , it is not manufactured in the classical sense. (Although some similarities exist between software development and hardware manufacture, the two activities are fundamentally different in both activities, high quality is achieved through good design , but the manufacturing phase for hardware can introduce quality problems that are non existent for software.) 2 . Software doesn’t ‘wear out’ (As time passes , however , the failure rate rises again as hardware components suffer from the cumulative effects of dust, vibration, abuse, temperature extremes and many other environmental maladies , stated simply, the hardware begins to wear out. Software is not susceptible to the environmental maladies that cause hardware to wear out.) 3.Although the industry is moving towards component based assembly ,most software continues to be custom built. ( A software component should be designed and implemented so that it can be reused in many different programs.) SOFTWRE APPLICATIONS • System software • Real-time software • Business software • Engineering and scientific software • Embedded software • Web based software • Artificial intelligence software SOFTWARE PROCESS MODELS • THE LINEAR SEQUENTIAL MODEL • THE PROTOTYPE MODEL • THE RAD MODEL • EVOLUTIONARY MODEL THE INCREMENTAL MODEL THE SPIRAL MODEL THE WINWIN SPIRAL MODEL THE LINEAR SEQUENTIAL MODEL
• SOME TIMES CALLED THE CLASSIC LIFE CYCLE
OR THE WATER FALL MODEL, THE LINEAR SEQUENTIAL MODEL SUGGESTS A SYSTEMATIC, SEQUENTIAL APPROACH TO SOFTWARE DEVELOPMENT THAT BEGINS AT THE SYSTEM LEVEL AND PROGRESSES THROUGH ANALYSIS,DESIGN.CODING,TESTING AND SUPPORT Analysis Design Code Test support System /information engineering and modeling • Because software is always part of larger system , work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interact with other elements such as hardware, people and databases. system engineering and analysis encompass requirements gathering at the system level. Software requirements analysis
• The requirements gathering process is
intensified and focused specifically on software. To understand the nature of the program to be built , the software engineer must understand the information domain for the software , as well as required function , behavior ,performance and interface. Design • Software design is actually a multi step process that focuses on four distinct attributes of a program: data structure ,software architecture , interface representations and procedural detail. • The design process translates requirements into a representation of the software that can be accessed for quality before coding begins. Coding • The design must be translated into machine readable form. The code generation step performs this task. If design is performed in a detailed manner, code generation can be accomplished mechanistically. Testing • Once code has been generated, program testing begins. The testing process focuses on the logical internals of the software ,ensuring that all statements have been tested, and on the functional externals , that is , conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results. Support
• Software will undoubtedly undergo change
after it is delivered to the customer. Change will occur because errors have been encountered, because the software must be adapted to accommodate changes in its external environment or because the customer requires functional or performance enhancements. THE INCREMENTAL MODEL • The incremental model combines elements of the linear sequential model with the iterative philosophy of prototyping. The incremental model applies linear sequences in a staggered fashion as calendar time progresses. Each linear sequence produce a deliverable “ increment” of the software. • For example , word _processing software developed using incremental paradigm might deliver basic file management , editing , and document production function in the first increment . THE INCREMENTAL MODEL • More sophisticated editing and document production capabilities in the second increment ; spelling and grammar checking in the third increment ; and advanced page layout capability in the fourth increment and so on. THE INCREMENTAL MODEL • When an incremental model is used , the first increment is often a core product, that is basic requirements are addressed, but many supplementary features remain undelivered. the core product is used by the customer . As a result of use or evaluation , a plan is developed for the next increment. The plan addresses the modification of the core product to better meet the needs of the customer and the delivery of additional features and functionality. The prototype model • Often customer defines a set of general objectives for software but doesn’t identify detailed input ,processing or output requirements. • The prototyping paradigm begins with requirement gathering. Developer and customer meet and define the overall objectives for the software, identify whatever requirements are known and outline areas further definition is mandatory. A quick design then occurs. The prototype model The quick design focuses on a representation of those aspects of the software that will be visible to the customer. The quick design leads to the construction of a prototype. The prototype is evaluated by the customer and used to refine requirements for the software to be developed The spiral model • It provides the potential for rapid development of incremental versions of the software. Using the spiral model, software is developed in a series of incremental releases. • A spiral model is divided into a number of framework activities also called task regions. • customer communication , Planning , Risk analysis , engineering , construction and release , customer evaluation. THE SPIRAL MODEL • Customer communication -tasks required to establish effective communication between developer and customer. • Planning – tasks required to define resources ,timelines and other project related information. • Risk analysis-tasks required to assess both technical and management risks. • Engineering – tasks required to build one or more representation of the application. • Construction and release- tasks required to construct ,test , install and provide user support • Customer evaluation-tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation stage . THE SPIRAL MODEL • As this evolutionary process begins, the software engineering team moves around spiral in a clockwise direction ,beginning at the center. • The first circuit around the spiral result in the development of a product specification ; subsequent passes around the spiral might be used to develop a prototype and progressively more sophisticated versions of the software. • Each pass through the planning region results in adjustments to the project plan. Cost and schedule are adjusted based on feedback derived from customer evaluation.