This action might not be possible to undo. Are you sure you want to continue?
The Product and The Process
Structure: 1.1 Introduction Objectives 1.2 The Product The Evolving Role of Software Software Software Characteristics Software Applications Software: A Crisis on the Horizon Software Myths 1.3 The Process The Software Process Software Process Models The Linear Sequential Model The Prototyping Model The Incremental Model The Spiral Model The RAD Model 1.4 Fourth Generation Techniques 1.5 Summary 1.6 Terminal Question(s) (TQs) 1.7 Multiple Choice Question(s) (MCQs) 1.8 Answers to SAQs, TQs, and MCQs
The world today is growing at a very fast pace. Most of the activities related to business and various applications are computerized. Computerization has led to the development of various types of software. Software has become the basis for various decision-making. Software helps in solving day to day problems and also helps in systematic production. It has become an integral part of service industry today. Software has penetrated various other sectors in applications of forecasting, scientific applications, animation, film making, inventory etc. Software has greatly impacted our society and culture. Its significance has no bounds and has led to rapid development of
Sikkim Manipal University Page No.: 1
There is not one software which can do everything. The thirst for developing better and better software continues to increase day by day. The technologies aim at specific applications like Web-Site development. It is repetitive in nature. . Objectives In this Unit you will learn about: What is computer software . astronomic research etc where quality is of prime importance. artificial intelligence. It is a dialogue in which the knowledge becomes the software. Software is an embodied knowledge and is a social learning process. It is enriched with more and more rounds of the interaction where plenty of useful knowledge from the people is involved. It provides the facility of computing the various needs of computer hardware like network of computers to be made accessible by Sikkim Manipal University Page No. chemical lab tests. where the tool itself serves as the medium for communication.: 2 . First it acts as a product. crime detection. really? Why do we struggle to build high-quality computer-based systems? How can we categorize application domains for computer software? What myths about software still exist? What is a “software process”? Is there a generic way to assess the quality of a process? What process models can be applied to software development? How do linear and iterative process models differ? What are their strengths and weaknesses? What advanced process models have been proposed for Software Engineering work? 1. which provides an interaction between users and designers.2 The Product 1.2. expert systems etc. and secondly it acts as a delivery model. technology domain like object-oriented systems. .Software Engineering Unit 1 technologies across the globe. This has also created a competition amongst various companies. This has resulted in processes.1 Software Evolutionary Role Software has a dual role. There is also a need to develop areas of importance like hospitals. Software enables one to have a quality system. and between designers and evolving technology.
: 3 . Software is not a manufactured component but it is developed or engineered.2. Self Assessment Question(s) (SAQs) 1. By transformation data becomes information which is then more useful in various contexts of business and scientific application. It acts as a controller of the ther entire systems of communication of information. Self Assessment Question(s) (SAQs) 1. (T/F) 1.2 Software A software refers to instructions which when executed provide desired function and performance and data structures that enable the programs to adequately manipulate information. Self Assessment Question(s) (SAQs) 1. Software is the basis and a driver to deliver the product. What are the characteristics of software? Sikkim Manipal University Page No. Today software takes on a ______________ role. Along with the growth of the software industry there has been a drastic growth in the development of new hardware components and devices.3 Characteristics of a Software Software is a logical element.Software Engineering Unit 1 local hardware. management. 2. Transformation of data is done by software. or transmitting information in simple as a single bit.2. 2. Software does not undergo wear out which is seen in many manufactured components. Software helps in transferring personal information. It is developed keeping in mind the requirements of delivery process and finished product. and documents describing the operation and the use of the software. and as a means to acquire information. It helps in enhancing competitiveness. It refers to a set of instructions also known as program. modification. 3. acquisition. A software acts as an information transformer. providing gateway to worldwide information networks. It transforms one or more of production. Software has the following characteristics: 1. Most of softwares today are custom built which means the software are customized to meet the user needs. displaying. What is software? 1.
an analysis component that transforms information. It includes data gathering components and formats information from an external environment. Development becomes easy and convenient depending on the degree of structure. Compilers and Interpreter. Other systems applications like the operating system components. a responder component that responds to the changes in the external environment.It is a collection of programs written to serve other programs. It is difficult to develop generic categories for software applications. and other interactive applications have gained prominence. system simulation. The following software areas indicate potential applications: System software .. Such software is mainly useful in decision making and transactions that facilitates business operations or management decision making. Information determinacy refers to the predictions of the order and timing of information. telecommunication processors process largely indeterminate data. Business software: Business software refers to applications in the areas of business. e. drivers. Engineering and scientific software: Engineering and scientific software have been developed mainly to deal with "number crunching" algorithms. and a monitoring component coordinating all other components. Information content and determinacy play an important role in determining the nature of a software application. Computer-aided design. Such programs control the entire event and act as a monitor or as an analyzer of the real-world events.4 Software Applications The application of software is based on the nature of instructions in a particular area.Software Engineering Unit 1 1. In addition to conventional data processing applications. Higher the degree better it is to develop the software for such applications. business software applications also encompass interactive computing. Real-time software: Events that are real world based if possible to be controlled by programs are referred to as programmable events.: 4 . Applications range from astronomical science to seismology to molecular biology to automated manufacturing. Sikkim Manipal University Page No. If the set of instructions are structured well it is appropriate to develop software for such application.g. Such software are known as real time software.2. Content means the form of incoming and outgoing information.
Self Assessment Question(s) (SAQs) 1. In the other hand we can say that. also called knowledge based systems. and database access are some of the applications.5 Software Crisis The success rate of software people is high. multimedia. it may be extended to the stages of the development of the software. entertainment. artificial neural networks. What do you mean by crisis? 1. Sikkim Manipal University Page No. The set of problems that are encountered in the development of computer software is not limited to software that malfunctions.Managers are often under pressure to maintain budgets. spreadsheets. Myth about Management .2. Also it is based on how we support a growing volume of existing software. computer graphics. and game playing are representative of applications within this category. Rather. A crisis may indicate either a downfall of a set and well established activity or activities of software. and how one can keep pace with a growing demand in the industry. personal and business financial applications. Artificial intelligence software: It uses non-numerical algorithms to solve complex problems. work towards objectives and accomplish task within deadline. What do you mean by Web-based software? 2. It may signify a change in the software which is considered healthy for the growth of the software and its improvement. Self Assessment Question(s) (SAQs) 1.Software Engineering Unit 1 Personal software: The personal computer software like the word processing.2. pattern recognition. database management. external network.: 5 . Web-based software: The Web pages are a software application page that incorporates executable instructions performing one or more tasks. the selection of the software from total market availability is the software crisis. Write on personal computer software. It is not possible to easily change the old attitudes and habits.6 Myths about Software Most of the knowledgeable professionals understand myths as misleading attitudes that have caused serious problems for managers and technical people. Last two to three decades never one has seen a serious software crisis. Expert systems. keep control schedules from slipping. 1. and improve quality.
Level 4: Managing the processes . These activities are documented procedures developed over years which are used by both the management and development team. The five levels are as follows Level 1: Initial level – It is to address the initial processes where there is a tendency of one or more processes getting chaotic. Level 3: Documentation – Organizations follow a streamed line of software development activities.3. The quantification of Sikkim Manipal University Page No.1 The Software Process A lot of focus is on process maturity.It is necessary to measure various product features and processes associated with the software process.Software Engineering Unit 1 Myth: A book that's full of standards and procedures for developing software is available. Software Engineering Institute (SEI) based on a software engineering capabilities. Is that enough to provide people with everything they need to know? Reality: The question is whether the book of standards was ever used or not? Are managers aware of the availability of such codes? Is it complete? Is it streamlined? Most of the times. Modules developed are integrated into existing organization software processes. Some of the processes which are tracked are the process on costing." Self Assessment Question(s) (SAQs) 1. What do you mean by myths? 2. processes are reviewed and revised. Some of the issues are identified and steps are taken to bring in clarity in the initial processes. the answer to all of these questions is "no. What are the different types of myths? 1. Level 2: Repeat level – Based on the successes of certain processes in the past. have developed a model. SEI used a five point grading scheme to assess the maturity level.3 The Process 1. scheduling and various other related functions.: 6 . Measures are taken to collect data from various processes on various parameter of the software and each one is measured. to address the various levels of maturity levels present in an organization.
Hence the measurements have to be optimized measurements.3. A quantitative feedback is obtained for various processes and measured. This helps in taking decisions on the improvement of the process on a continual basis. The measurement methodology can be different for different processes.: 7 . What are the different CMM Levels? 1. It is achieved by means of some predefined characteristics which is expected from the processes. KPA is based on the following characteristics – Goals – goals refer to the overall objectives to be achieved Commitments – commitments are the requirements to be adhered to meet the goals. Monitoring – it refers to the ways and methodologies of monitoring a particular activity or a process.Software Engineering Unit 1 all such measures is done and used in the performance evaluation of the process and the product. Abilities – abilities refer to those aspects necessary to meet the commitments. Activities – it signifies task necessary to achieve a particular KPA. Verification – it refers to the ways of verifying the methodologies of the KPA Self Assessment Question(s) (SAQs) 1. Associated with each process level is the key process area (KPA). The measurements are made under constraints under which a process is expected to perform. Sikkim Manipal University Page No. Level 5: Optimization – Continual improvement is one of the major objectives of organization today. The five levels defined by SEI are on the basis of the evaluation responses from the assessment questionnaire based on CMM. It defines various functions associated with each process which reflect the qualitative aspect of the process.2 Software Process Models A development strategy for each process has to be developed to solve various types of problems associated with a process.
The stages may also exist in the form of nesting one consisting of the other similar block of stages. technical development refers to application of technology to solve the problem. Current state is represented by Status quo. problem definition. This technique may be applied at macro level or at micro level of processes.1: Stages of problem solving in software process model Self Assessment Question(s) (SAQs) 1.: 8 . It may run into repeated process of corrections and trouble shooting. 1. technical development. and solution integration. These stages are represented in the figure 1.Software Engineering Unit 1 Problem solving can become very troublesome if not attempted to solve properly. Software process model is used as ________________ level. identifying specific problem needed to be solved is problem definition. Status Quo Technical Development Integrating Solution Problem Definition Fig.1. and solution integration gives results. Sikkim Manipal University Page No. The stages normally encountered are: status quo.
The requirements are reviewed for time to time with the customer. design. Design: The design of software is based on the following steps – understanding data structure. Code generation: The code generation refers to the translation of design into a machine code. The requirements are identified for each system element and the related constraints. and databases.3. coding. The process of design transforms the requirements into a representation of the software which is then assessed for quality.: 9 . and algorithms. Code generation can be done systematically if the design steps are listed in detail. people. Testing is done on the logics of the program and the functionality. the software architecture. Such points are communicated to the developer who in turn incorporates the changes in the software. the interface representations. and support. The elements are the hardware. analysis. During the process of testing. This is recorded as a revision. It encompasses the following in a sequential order – modeling. testing. It indicates a systematic and sequential approach to software development. Support: Customers who are the end users of the software may come across certain points while using the software for their business applications. errors if any are identified and then necessary steps are taken to rectify the error. Requirements analysis: The information domain is understood for the software and the related functions and behavior of the various elements. Program Testing: After the development of the program it is subjected to testing.Software Engineering Unit 1 1. Modeling: Modeling is done based on the various characteristics and relevant parameters which affect the performance of the software. The requirements for software are well documented.3 Linear Sequential Model Linear Sequential Model is also known as the waterfall model. Software goes through a number of revisions during its lifetime of service. Sikkim Manipal University Page No. The view of the system indicating the interaction of various elements of the system helps in modeling the system.
processing requirements. till such a time that the entire product is completely finished for its intended use. An incremental progress is possible then with limited staff. It can be then developed further depending upon the acceptance of the product by the customer and can be very useful in handling technical risks. 2.6 The Spiral Model The spiral model was proposed by Boehm. A basic requirement is addressed. What are the features of sequential model? 1.4 The Prototyping Model Detailed input requirements. A prototype model on the requirements stated by the customer is developed which will enable the developer to understand the requirements more clearly and implement those requirements in the system. Also there is always a doubt about the efficiency of an algorithm. but many of the supplementary features are undelivered. This methodology is very useful in situation when there is shortage of staff but a progress is required.3.3.Software Engineering Unit 1 Self Assessment Question(s) (SAQs) 1. The incremental model combines elements of the __________________ model. While using the incremental model. It helps in rapid development of versions of the software through Sikkim Manipal University Page No. who in turn suggests he changes which is reflected as in increment.5 The Incremental Model The incremental model has the elements of linear sequential model and the prototype model. 1. The prototyping paradigm begins with ____________ gathering. It combines the repetitive aspect of prototyping and systematic and controlled aspect of linear sequential model.3. This is repeated. What are the features of the prototyping model? 1. The customer evaluates the prototype which becomes the basis to refine the requirements. and output requirements are not identified easily by the customer but states the general objectives. Core product is used by customer . Incremental model focuses on the delivery. What do you mean by linear sequential model? 2. Self Assessment Question(s) (SAQs) 1. it is observed that the first increment is a core product. Self Assessment Question(s) (SAQs) 1.: 10 .
test. and provide user support. Cost and schedule are adjusted depending upon the customer needs. The new product will evolve over iterations around the spiral. beginning at the center leading to the development of product specification and subsequent repetitions of the process leads to development of the prototype and hence the product. Construction and Release – This refers to the tasks required to construct. Self Assessment Question(s) (SAQs) 1. Risk Analysis – Risks related to technical and management are analysed. The feedbacks are evaluated which in turns determines the level of acceptance of the software by the customer.: 11 . Engineering – engineering refers to the set of tasks necessary to build one or more application forms. The system of feedback is a repetitive process aimed at continual improvement of the product and its services. Iterations done later are more in complete versions form. The feedbacks are inputs to the data on the software from the customers. The software team moves around the spiral in a clockwise direction. install. Customer Evaluation – Various feedback question types are prepared on the different types of processes of the system. The spiral model is a realistic approach to develop large-scale systems and software. 2. Planning – Resources and other project-related information are organized in a definite manner to achieve the intended results within the timeframe is achieved through planning. What are the features of the spiral model? rapid development of Sikkim Manipal University Page No.Software Engineering Unit 1 various incremental forms. Early iterations of the incremental release might be a paper model or prototype. The spiral model demands attention of the risks involved at various stages of the project and tend to minimize such risks. Each pass through the planning region results in improvements. A spiral model is divided into six task regions: Customer Communication – it refers to the setting up of a communication channel between the developer and the customer. ___________ provides the potential for incremental versions of the software.
Processes are described to add.: 12 . delete. Certain questions to generate the model would be on . testing will have to be done.RAD uses fourth generation techniques for creating software. Automated tools may be used to develop the software.7 The RAD Model Rapid application development (RAD) is similar to incremental software development process model.What drives the business process? What is generated? Who has generated it? Who is responsible to processes it? Data modeling phase – Business data objects are modeled based on the information flow and the functionality of the business module which is needed to be incorporated into the system.3. Process modeling phase – The objects developed in the above phase are transformed into the form necessary to be implemented in the systems as a function of the business. Developers and customers are needed to the rapid-fire activities necessary to get a system complete. Testing and turnover phase – The overall testing time is reduced in RAD since it emphasizes on the reusability of the components. Application generation phase . retrieve objects. The model is constructed based on the components or rapid development form linear sequential model. RAD approach covers the phases listed below: Business modeling phase – in this phase the flow of the information through various business functions is considered. What is the drawback of the RAD model? Sikkim Manipal University Page No. RAD requires sufficient human resources to form the right team. In case the projects are large and scalable. If the technical risks are high then RAD is not appropriate. What is the full form of RAD? 2. In case of new components. It focuses on short development cycle.Software Engineering Unit 1 1. RAD becomes troublesome if the if a system cannot be properly modularized. This will enable the smooth flow of the information through the various business processes. Self Assessment Question(s) (SAQs) 1. The focus of RAD process is to reuse existing program components. RAD is not appropriate to all types of business applications. modify.
Provide five examples of software development projects that would be amenable to prototyping. Name two or three applications that would be more difficult to prototype. code generation. A number of different process models have been proposed for software engineering. 2. Software has become a limiting factor. Web-site creation.: 13 . These elements comprise a configuration that is created as part of the software engineering process. For applications of smaller size moving from requirements gathering step to implementation a non procedural 4GL may be used. A software development environment that supports 4GT includes one or more of the following tools: data manipulation tools. interactions. For applications of larger size a design strategy along with the use of 4GL. software has evolved from a problem solving tool and information analysis tool to an industry in itself. Self Assessment Question(s) (SAQs) 1. Based on the developers specifications the tool generates the codes automatically. and tools for the development of software. nonprocedural languages. Sikkim Manipal University Page No.4 Fourth Generation Techniques It refers to software tools that enable the software engineer to specify some characteristic of software at a higher level.5 Summary In the evolution of computer based systems. is the differentiating element. etc. Software is the differentiating characteristic in many computer-based products and systems. software has become the key element. and documents. Each has some strength and some weakness. high-level graphics capability. Over the past few decades. What do you mean by 4GT? 1. 4GL is advantages in reducing the development time of the software and has a little disadvantage in it being not too simple to use.6 Terminal Question(s) (TQs) 1. screen generation. 1. data. Provide examples of two or three products and at least one system in which software. Software engineering integrates processes.Software Engineering Unit 1 1. The aim of software engineering is to build high quality software. methods. Software consists of programs. not hardware.
TQs.3.3. The Web pages retrieved by a browser are software that incorporates executable instructions (e.2 Refer to 1. The RAD model is often tied to CASE tools. 2.Software Engineering Unit 1 3. spreadsheets.8 Answers to SAQs.3.1 Answers to Self Assessment Questions (SAQs) 1.3. testing.7 Multiple Choice Question(s) (MCQs) 1.2.2 1. Refer to 184.108.40.206.3 1.g.2. sequential approach to software development. and support.4 1. Research the literature and provide a summary of a typical CASE tool that supports RAD. and MCQs 1.6 for both question 1 and 2 1. Word processing.8. Requirements 2.6 Refer to 1.4 1.2.3 1. entertainment. design.2 Macro 1. true 1. Refer to1.4 1. database management.3 Refer to1. or Java 2. coding. that begins at the system level and progresses through analysis.2. Which model is used at the time of risk? (a) Incremental model (b) Spiral model (c) Prototyping model (d) none of these.3 220.127.116.11..1 1.3.: 14 . Perl. CGI.1 Refer 1.3. computer graphics. personal and business financial applications 1.5 "the turning point in the course of a disease. multimedia. Which model incurs more cost? (a) Prototyping model (b) RAD (c) Spiral Model (d) None of these 2.1 : 1. HTML.5 Linear sequential Sikkim Manipal University Page No. 1.2. 1. when it becomes clear whether the patient will live or die 1. dual 2. The linear sequential model suggests a systematic.
6 Rapid application development Refer to 1.7 1.4 3. 1.: 15 .3.2.3 1.8.3. 1. 2.7 1.3. 2.3.4 Spiral model Refer to1.3. b Answers to Multiple Choice Questions (MCQs) Sikkim Manipal University Page No. 1.8.3.Software Engineering Unit 1 1.6 1. Refer to section 1.2 Answers to Terminal Questions (TQs) 1.7 The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common: each enables the software engineer to specify some characteristic of software at a high level. Refer to section 1.2 2. Refer to section 1. a 2.