II-IT IV-SEM. 1. Software product and process. Software Engineering and Quality Assurance. Objectives:
|
|
- Owen Haynes
- 5 years ago
- Views:
Transcription
1 II-IT IV-SEM Software Engineering and Quality Assurance 1. Software product and process Objectives: To introduce software engineering and to explain its importance. To set out the answers to key questions about software engineering. To introduce software process models. To describe a number of different process models and when they may be used. To provide an overview about business process and product engineering. Topics Covered: Introduction What Is Software Engineering? What Is A Software Process Model? Evolution Of Software Engineering Paradigms Verification And Validation Software Process Models System Engineering Computer-Based Systems Business Process Engineering: An Overview Product Engineering: An Overview
2 Introduction Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. Software engineering is a layered technology. Any engineering approach (including software engineering) must rest on an organizational commitment to quality. Software engineering process is the glue that holds the technology layers together and enables rational and timely development of computer software. Process defines a framework for a set of key process areas (KPAs) that must be established for effective delivery of software engineering technology. When tools are integrated so that information created by one tool can be used by another, a system for the support of software development, called computer-aided software engineering, is established. CASE combines software, hardware, and a software engineering database (a repository containing important information about analysis, design, program construction, and testing) to create a software engineering environment analogous to CAD/CAE (computeraided design/engineering) for hardware. You Tube Video Links : Introduction to Software Engineering Lecture1 : Introduction to Software Engineering Lecture 2... What is software? Software is not just the programs but also all associated documentation and configuration data that is needed to make these programs operate correctly. A software system usually consists of a number of separate programs, configuration files, which are used to set up these programs, system documentation which describes the structure of the system, and user documentation, which explains how to use the system and web sites for users to download recent product information. There are two fundamental types of software product: 2 Software Product And Process
3 1. Generic products: These are stand-alone systems that are produced by a development organization and sold on the open market to any customer who us able to buy them. Ex: word processors etc. 2. Customized (or bespoke) products: These are systems which are commissioned by a particular customer. A software contractor develops the software especially for that customer. Ex: air traffic control systems etc. An important difference between these types of software is that, in generic products, the organization that develops the software controls the software specification. For custom products, the specification is usually developed and controlled by the organization that is buying the software. The software developers must work to that specification. What are the attributes of good software? The software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable. Maintainability Dependability Efficiency Usability What is software engineering? Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification to maintaining the system after it has gone into use. In this definition, there are two key phases: 1. Engineering Discipline: Engineers make things work. They apply theories, methods and tools where these are appropriate, but they use them selectively and always try to discover solutions to problems even when there are no applicable theories and methods. Engineers also recognize that they must work to organizational and financial constraints, so they look for solutions with these constraints. 3 Software Product And Process
4 2. All aspects of software production: Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production. In general, software engineers adopt a systematic and organized approach to their work, as this is often the most effective way to produce high-quality software. What s the difference between software engineering and computer science? Computer science is concerned with the theories and methods that underlie computer and software systems, whereas software engineering is concerned with the practical problems of producing software. Some knowledge of computer science is essential for software engineers. Ideally, all of software engineering should be underpinned by theories of computer science, by in reality this is not the case. Software engineers must often use ad hoc approaches to developing the software. Theories of computer science cannot always be applied to real, complex problems that require a software solution. What is the difference between software engineering and system engineering? System engineering is concerned with all aspects of the development and evolution of complex systems where software plays a major role. System engineering is therefore concerned with hardware development, policy and process design and system deployment as well as software engineering. System engineers are involved in specifying the system, defining its overall architecture and then integrating the different parts to create the finished system. They are less concerned with the engineering of the system components. 4 Software Product And Process
5 What is a software process? A software process is the set of activities and associated results that produce a software product. There are four fundamental process activities that are common to all software processes. These are: 1. Software specification where customers and engineers define the software to be produced and the constraints on it operation. 2. Software development where the software is designed and programmed. 3. Software validation where the software is checked to ensure that it is what the customer requires. 4. Software evolution where the software is modified to adapt it to changing customer and market requirements. Use of an inappropriate software process may reduce the quality or usefulness of the software product to be developed and/or increase the development costs. What is a software process model? A software process model is a simplified description of a software process that presents one view of that process. Process models may include activities that are part of the software process, software products and the roles of people involved in software engineering. Some examples of the types of software process model that may be produced are: 1. A workflow model: This shows the sequence of activities in the process along with their inputs, outputs and dependencies. 2. A dataflow or activity model: This represents the process as a set of activities, each of which carries out some data transformation. It shows how the input to the process, such a specification, is transformed to an output, such as a design. 3. A role/action model: This represents the roles of the people involved in the software process and the activities for which they are responsible. 5 Software Product And Process
6 Most software process models are based on one of three general models or paradigms of software development: 1. The waterfall approach: This takes the above activities and represents them as separate process phases such as requirements specification, software design, implementation, testing and so one. After each stage is defined it is signedoff, and development goes on to the following stage. 2. Iterative development: This approach interleaves the activities of specification, development and validation. An initial system is rapidly developed from very abstract specification. This is then refined with customer input to produce a system that satisfies the customer s needs. The system may then be delivered. 3. Component-based software engineering (CBSE): This technique assumes that parts of the system already exist. The system development process focuses on integrating these parts rather than developing them from scratch. You tube Video Links: Overview of phases in Software Engineering Verification and Validation Software testing is one element of a broader topic that is often referred to as verification and validation (V&V). Verification refers to the set of activities that ensure that software correctly implements a specific function. Validation refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements. Boehm states this way: Verification: "Are we building the product right?" Validation: "Are we building the right product?" The definition of V&V encompasses many of the activities that we have referred to as software quality assurance (SQA). Verification and validation encompasses a wide array of SQA activities that include formal technical reviews, quality and configuration audits, performance monitoring, simulation, feasibility study, documentation review, database review, algorithm analysis, development testing, qualification testing, and installation testing. Although testing plays an extremely important role in V&V, many other activities are also necessary. Testing does provide the last bastion from which quality can be 6 Software Product And Process
7 assessed and, more pragmatically, errors can be uncovered. But testing should not be viewed as a safety net. As they say, "You can't test in quality. If it's not there before you begin testing, it won't be there when you're finished testing." Quality is incorporated into software throughout the process of software engineering. Proper application of methods and tools, effective formal technical reviews, and solid management and measurement all lead to quality that is confirmed during testing. Miller relates software testing to quality assurance by stating that "the underlying motivation of program testing is to affirm software quality with methods that can be economically and effectively applied to both large-scale and small-scale systems." Need of Software models and Software methodologies: You tube Video: Click to View SOFTWARE PROCESS MODELS Objectives: At the end of this lesson the student will be able to: Explain what a life cycle model is. Explain what problems would occur if no life cycle model is followed. Identify the different software life cycle models. Identify the different phases of the classical waterfall model. Identify the activities undertaken in each phase. Identify the shortcomings of the classical waterfall model. Identify the phase-entry and phase-exit criteria of each phase. 7 Software Product And Process
8 There is growing recognition that software, like all complex systems, evolves over a period of time.business and product requirements often change as development proceeds, making a straight path to an end product unrealistic; tight market deadlines make completion of a comprehensive software product impossible, but a limited version must be introduced to meet competitive or business pressure; a set of core product or system requirements is well understood, but the details of product or system extensions have yet to be defined. In these and similar situations, software engineers need a process model that has been explicitly designed to accommodate a product that evolves over time. The linear sequential model is designed for straight-line development. In essence, this waterfall approach assumes that a complete system will be delivered after the linear sequence is completed. The prototyping model is designed to assist the customer (or developer) in understanding requirements. In general, it is not designed to deliver a production system. The evolutionary nature of software is not considered in either of these classic software engineering paradigms. Evolutionary models are iterative. They are characterized in a manner that enables software engineers to develop increasingly more complete versions of the software. Waterfall model 8 Software Product And Process
9 Waterfall model phases 1. Requirements analysis and definition 2. System and software design 3. Implementation and unit testing 4. Integration and system testing 5. Operation and maintenance 6. The drawback of the waterfall model is the difficulty of accommodating change after the process is underway Waterfall model problems 1. Inflexible partitioning of the project into distinct stages 2. This makes it difficult to respond to changing customer requirements 3. Therefore, this model is only appropriate when the requirements are well-understood. You tube Videos: Waterfall model The Incremental Model The incremental model combines elements of the linear sequential model (applied repetitively) with the iterative philosophy of prototyping. The incremental model applies linear sequences in a staggered fashion as calendar time progresses. Each linear sequence produces a deliverable increment of the software.for example, word-processing software developed using the incremental paradigm might deliver basic file management, editing, and document production functions in the first increment; 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. It should be noted that the process flow for any increment can incorporate the prototyping paradigm. When an incremental model is used, the first increment is often a core product. That is, basic requirements are addressed, but many supplementary features (some known, others unknown) remain undelivered. The core product is used by the customer (or undergoes detailed review). As a result of use and/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 9 Software Product And Process
10 of additional features and functionality. This process is repeated following the delivery of each increment, until the complete product is produced. The incremental process model, like prototyping and other evolutionary approaches, is iterative in nature. But unlike prototyping, the incremental model focuses on the delivery of an operational product with each increment. Early increments are stripped down versions of the final product, but they do provide capability that serves the user and also provide a platform for evaluation by the user. Incremental development is particularly useful when staffing is unavailable for a complete implementation by the business deadline that has been established for the project. Early increments can be implemented with fewer people. If the core product is well received, then additional staff (if required) can be added to implement the next increment. In addition, increments can be planned to manage technical risks. For example, a major system might require the availability of new hardware that is under development and whose delivery date is uncertain. It might be possible to plan early increments in a way that avoids the use of this hardware, thereby enabling partial functionality to be delivered to end-users without inordinate delay. 10 Software Product And Process
11 The Spiral Model The spiral model, originally proposed by Boehm is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential 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. During early iterations, the incremental release might be a paper model or prototype. During later iterations, increasingly more complete versions of the engineered system are produced. A spiral model is divided into a number of framework activities, also called task regions. Typically, there are between three and six task regions. Spiral model contains six task regions: Customer communication tasks required to establish effective communication between developer and customer. Planning tasks required to define resources, timelines, and other projectrelated information. Risk analysis tasks required to assess both technical and management risks. Engineering tasks required to build one or more representations of the application. Construction and release tasks required to construct, test, install, and provide user support (e.g., documentation and training). 11 Software Product And Process
12 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. Each of the regions is populated by a set of work tasks, called a task set, that are adapted to the characteristics of the project to be undertaken. For small projects, the number of work tasks and their formality is low. For larger, more critical projects, each task region contains more work tasks that are defined to achieve a higher level of formality. In all cases, the umbrella activities (e.g., software configuration management and software quality assurance) are applied. As this evolutionary process begins, the software engineering team moves around the spiral in a clockwise direction, beginning at the center. The first circuit around the spiral might result in the development of a product specification; subsequent passes around the spiral might be used to develop a prototype and then 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. In addition, the project manager adjusts the planned number of iterations required to complete the software. Unlike classical process models that end when software is delivered, the spiral model can be adapted to apply throughout the life of the computer software. An alternative view of 12 Software Product And Process
13 the spiral model can be considered by examining the project entry point axis. Each cube placed along the axis can be used to represent the starting point for different types of projects. A concept development project start at the core of the spiral and will continue (multiple iterations occur along the spiral path that bounds the central shaded region) until concept development is complete. If the concept is to be developed into an actual product, the process proceeds through the next cube (new product development project entry point) and a new development project is initiated. The new product will evolve through a number of iterations around the spiral, following the path that bounds the region that has somewhat lighter shading than the core. In essence, the spiral, when characterized in this way, remains operative until the software is retired. There are times when the process is dormant, but whenever a change is initiated, the process starts at the appropriate entry point (e.g., product enhancement). The spiral model is a realistic approach to the development of large-scale systems and software. Because software evolves as the process progresses, the developer and customer better understand and react to risks at each evolutionary level. The spiral model uses prototyping as a risk reduction mechanism but, more important, enables the developer to apply the prototyping approach at any stage in the evolution of the product. It maintains the systematic stepwise approach suggested by the classic life cycle but incorporates it into an iterative framework that more realistically reflects the real world. The spiral model demands a direct consideration of technical risks at all stages of the project and, if properly applied, should reduce risks before they become problematic. But like other paradigms, the spiral model is not a panacea. It may be difficult to convince customers (particularly in contract situations) that the evolutionary approach is controllable. It demands considerable risk assessment expertise and relies on this expertise for success. If a major risk is not uncovered and managed, problems will undoubtedly occur. Finally, the model has not been used as widely as the linear sequential or prototyping paradigms. It will take a number of years before efficacy of this important paradigm can be determined with absolute certainty. You tube Videos: Spiral Model in Software Engineering 13 Software Product And Process
14 The WINWIN Spiral Model The spiral model suggests a framework activity that addresses customer communication. The objective of this activity is to elicit project requirements from the customer. In an ideal context, the developer simply asks the customer what is required and the customer provides sufficient detail to proceed. Unfortunately, this rarely happens. In reality, the customer and the developer enter into a process of negotiation, where the customer may be asked to balance functionality, performance, and other product or system characteristics against cost and time to market. The best negotiations strive for a win-win result. That is, the customer wins by getting the system or product that satisfies the majority of the customer s needs and the developer wins by working to realistic and achievable budgets and deadlines. Boehm s WINWIN spiral model defines a set of negotiation activities at the beginning of each pass around the spiral. Rather than a single customer communication activity, the following activities are defined: 1. Identification of the system or subsystem s key stakeholders. 2. Determination of the stakeholders win conditions. 14 Software Product And Process
15 3. Negotiation of the stakeholders win conditions to reconcile them into a set of win-win conditions for all concerned (including the software project team). Successful completion of these initial steps achieves a win-win result, which becomes the key criterion for proceeding to software and system definition. The WINWIN spiral model is illustrated in the above Figure. In addition to the emphasis placed on early negotiation, the WINWIN spiral model introduces three process milestones, called anchor points that help establish the completion of one cycle around the spiral and provide decision milestones before the software project proceeds. In essence, the anchor points represent three different views of progress as the project traverses the spiral. The first anchor point, life cycle objectives (LCO), defines a set of objectives for each major software engineering activity. For example, as part of LCO, a set of objectives establishes the definition of top-level system/product requirements. The second anchor point, life cycle architecture (LCA), establishes objectives that must be met as the system and software architecture is defined. For example, as part of LCA, the software project team must demonstrate that it has evaluated the applicability of off-the-shelf and reusable software components and considered their impact on architectural decisions. Initial operational capability (IOC) is the third anchor point and represents a set of objectives associated with the preparation of the software for installation/distribution, site preparation prior to installation, and assistance required by all parties that will use or support the software. The Concurrent Development Model The concurrent development model, sometimes called concurrent engineering, has been described in the following manner by Davis and Sitaram: Project managers who track project status in terms of the major phases [of the classic life cycle] have no idea of the status of their projects. These are examples of trying to track extremely complex sets of activities using overly simple models. Note that although... [a large] project is in the coding phase, there are personnel on the project involved in activities typically associated with many phases of development simultaneously. Most software development process models are driven by time; the later it is, the later in the development process you are. [A concurrent process 15 Software Product And Process
16 model] is driven by user needs, management decisions, and review results. The concurrent process model can be represented schematically as a series of major technical activities, tasks, and their associated states. For example, the engineering activity defined for the spiral model is accomplished by invoking the following tasks: prototyping and/or analysis modeling, requirements specification, and design..the below figure provides a schematic representation of one activity with the concurrent process model. The activity analysis may be in any one of the states10 noted at any given time. Similarly, other activities (e.g., design or customer communication) can be represented in an 16 Software Product And Process
17 All activities exist concurrently but reside in different states. For example, early in a project the customer communication activity (not shown in the figure) has completed its first iteration and exists in the awaiting changes state. The analysis activity (which existed in the none state while initial customer communication was completed) now makes a transition into the under development state. If, however, the customer indicates that changes in requirements must be made, the analysis activity moves from the under development state into the awaiting changes state. The concurrent process model defines a series of events that will trigger transitions from state to state for each of the software engineering activities. For example,during early stages of design, an inconsistency in the analysis model is uncovered. This generates the event analysis model correction which will trigger the analysis activity from the done state into the awaiting changes state. The concurrent process model is often used as the paradigm for the development of client/server11 applications. A client/server system is composed of a set of functional components. When applied to client/server, the concurrent process model defines activities in two dimensions: a system dimension and a component dimension. System level issues are addressed using three activities: design, assembly, and use. The component dimension is addressed with two activities: design and realization. Concurrency is achieved in two ways: (1) System and component activities occur simultaneously and can be modeled using the state-oriented approach described previously; (2) A typical client/server application is implemented with many components, each of which can be designed and realized concurrently. In reality, the concurrent process model is applicable to all types of software development and provides an accurate picture of the current state of a project. Rather than confining software engineering activities to a sequence of events, it defines a network of activities. Each activity on the network exists simultaneously with other activities. Events generated within a given activity or at some other place in the activity network trigger transitions among the states of an activity. LINK: FURTHER READINGS AND INFORMATION SOURCE 17 Software Product And Process
18 COMPUTER-BASED SYSTEMS The word tells us little. We use the adjective describing system to understand the context in which the word is used. Webster's Dictionary defines system in the following way: 1. A set or arrangement of things so related as to form a unity or organic whole; 2. a set of facts, principles, rules, etc., classified and arranged in an orderly form so as to show a logical plan linking the various parts; 3. A method or plan of classification or arrangement; 4. An established way of doing something; method; procedure... Borrowing from Webster's definition, we define a computer-based system as a set or arrangement of elements that are organized to accomplish some predefined goal by processing information. The goal may be to support some business function or to develop a product that can be sold to generate business revenue. To accomplish the goal, a computer-based system makes use of a variety of system elements: Software. Computer programs, data structures, and related documentation that serve to affect the logical method, procedure, or control that is required. Hardware. Electronic devices that provide computing capability, the interconnectivity devices (e.g., network switches, telecommunications devices) that enable the flow of data, and electromechanical devices (e.g., sensors, motors, pumps) that provide external world function. People. Users and operators of hardware and software. Database. A large, organized collection of information that is accessed via software. Documentation. Descriptive information (e.g., hardcopy manuals, on-line help files, Web sites) that portrays the use and/or operation of the system. Procedures. The steps that define the specific use of each system element or the procedural context in which the system resides. The elements combine in a variety of ways to transform information. For example, a marketing department transforms raw sales data into a profile of the typical purchaser of a product; a robot transforms a command file containing specific instructions into a set of control signals that cause some specific physical action. Creating an information system to assist the marketing department and control software to support the robot both require system engineering. 18 Software Product And Process
19 One complicating characteristic of computer-based systems is that the elements constituting one system may also represent one macro element of a still larger system. The macro element is a computer-based system that is one part of a larger computerbased system. To summarize, the manufacturing cell and its macro elements each are composed of system elements with the generic labels: software, hardware, people, database, procedures, and documentation. In some cases, macro elements may share a generic element. For example, the robot and the NC machine both might be managed by a single operator (the people element). In other cases, generic elements are exclusive to one system. 19 Software Product And Process
20 SYSTEM ENGINEERING The system engineering process is called business process engineering when the context of the engineering work focuses on a business enterprise. When a product (in this context, a product includes everything from a wireless telephone to an air traffic control system) is to be built, the process is called product engineering. Both business process engineering and product engineering attempt to bring order to the development of computer-based systems. BUSINESS PROCESS ENGINEERING: AN OVERVIEW Introduction: The goal of business process engineering (BPE) is to define architectures that will enable a business to use information effectively. Today, each IT organization must become, in effect, its own systems integrator and architect. It must design, implement, and support its own unique configuration of heterogeneous computing resources, distributed logically and geographically throughout the enterprise, and connected by an appropriate enterprisewide networking scheme. Moreover, this configuration can be expected to change continuously, but unevenly, across the enterprise, due to changes in business requirements and in computing technology. These diverse and incremental changes must be coordinated across a distributed environment consisting of hardware and software supplied by dozens, if not hundreds, of vendors. Description: We expect these changes to be seamlessly incorporated without disrupting normal operations and to scale gracefully as those operations expand. Three different architectures must be analyzed and designed within the context of business objectives and goals: Data architecture Applications architecture Technology infrastructure 20 Software Product And Process
21 The data architecture provides a framework for the information needs of a business or business function. The individual building blocks of the architecture are the data objects that are used by the business. A data object contains a set of attributes that define some aspect, quality, characteristic, or descriptor of the data that are being described. For example, an information engineer might define the data object customer. Once a set of data objects is defined, their relationships are identified. A relationship indicates how objects are connected to one another. Not only is the specification of the appropriate computing architecture required, but the software architecture that populates the unique configuration of heterogeneous computing resources must be developed. Business process engineering is one approach for creating an overall plan for implementing the computing architecture. The application architecture encompasses those elements of a system that transform objects within the data architecture for some business purpose. In the context of this book, we consider the application architecture to be the system of programs (software) that performs this transformation. However, in a broader context, the application architecture might incorporate the role of people (who are information transformers and users) and business procedures that have not been automated. The technology infrastructure provides the foundation for the data and application architectures. The infrastructure encompasses the hardware and software that are used to support the application and data. This includes computers, operating systems, networks, telecommunication links, storage technologies, and the architecture (e.g., client/server) that has been designed to implement these technologies. To model the system architectures described earlier, a hierarchy of business process engineering activities is defined. The world view is achieved through information strategy planning (ISP). ISP views the entire business as an entity and isolates the domains of the business (e.g., engineering, manufacturing, marketing, finance, sales) that are important to the overall enterprise. ISP defines the data objects that are visible at the enterprise level, their relationships, and how they flow between the business domains.the domain view is addressed with a BPE activity called business area analysis (BAA). It is only concerned with specifying what is required in a business area. As the system engineer begins BAA, the focus narrows to a specific business domain. BAA views the business area as an 21 Software Product And Process
22 entity and isolates the business functions and procedures that enable the business area to meet its objectives and goals. BAA, like ISP, defines data objects, their relationships, and how data flow. But at this level, these characteristics are all bounded by the business area being analyzed. The outcome of BAA is to isolate areas of opportunity in which information systems may support the business area. Once an information system has been isolated for further development, BPE makes a transition into software engineering. By invoking a business system design (BSD) step, the basic requirements of a specific information system are modeled and these requirements are translated into data architecture, applications architecture, and technology infrastructure. The final BPE step construction and integration focuses on implementation detail. The architecture and infrastructure are implemented by constructing an appropriate database and internal data structures, by building applications using software components, and by selecting appropriate elements of a technology infrastructure to support the design created during BSD. Each of these system components must then be integrated to form a 22 Software Product And Process
23 complete information system or application. The integration activity also places the new information system into the business area context, performing all user training and logistics support to achieve a smooth transition. PRODUCT ENGINEERING: AN OVERVIEW The goal of product engineering is to translate the customer s desire for a set of defined Capabilities into a working product. To achieve this goal, product engineering likes business process engineering must derive architecture and infrastructure. The architecture encompasses four distinct system components: software, hardware, data (and databases), and people. A support infrastructure is established and includes the technology required to tie the components together and the information (e.g., documents, CD-ROM, video) that is used to support the components. Referring to Figure 10.3, the world view is achieved through requirements engineering. The overall requirements of 23 Software Product And Process
24 the product are elicited from the customer. These requirements encompass information and control needs, product function and behavior, overall product performance, design and interfacing constraints, and other special needs. Once these requirements are known, the job of requirements engineering is to allocate function and behavior to each of the four components noted earlier. Once allocation has occurred, system component engineering commences. System component engineering is actually a set of concurrent activities that address each of the system components separately: software engineering, hardware engineering, human engineering, and database engineering. Each of these engineering disciplines takes a domain-specific view, but it is important to note that the engineering disciplines must establish and maintain active communication with one another. Part of the role of requirements engineering is to establish the interfacing mechanisms that will enable this to happen. The element view for product engineering is the engineering discipline itself applied to the allocated component. For software engineering, this means analysis and design modeling activities (covered in detail in later chapters) and construction and integration activities that encompass code generation, testing, and support steps. The analysis step models allocated requirements into representations of data, function, and behavior. Design maps the analysis model into data, architectural, interface, and software component-level designs. SUMMARY A high-technology system encompasses a number of elements: software, hardware, people, database, documentation, and procedures. System engineering helps to translate a customer s needs into a model of a system that makes use of one or more of these elements. System engineering begins by taking a world view. A business domain or product is analyzed to establish all basic business requirements. Focus is then narrowed to a domain view, where each of the system elements is analyzed individually. Each element is allocated to one or more engineering components, which are then addressed by the relevant engineering discipline. 24 Software Product And Process
25 Self assessment: 1. How does a phased life cycle model assist software management? 2. What are two required characteristics of a milestone? 3. For each of the following documents, indicate in which phase(s) of the software life cycle it is produced: final user manual, architectural design, SQA plan, module specification, source code, statement of work, test plan, preliminary user manual, detailed design, cost estimate, project plan, test report, documentation. 4. Order the following tasks in terms of the waterfall model: acceptance testing, project planning, unit testing, requirements review, cost estimating, high-level design, market analysis, low-leveldesign, systems testing, design review, implementation. 5. Draw a diagram that represents an iterative life cycle model. Answers to assessment Questions: 1. How does a phased life cycle model assist software management? The phased life cycle improves the visibility of the project. The project can be managed by using the phases as milestones. More detailed phases will allow closer monitoring of progress. 2. What are the two required characteristics of a milestone? A milestone (1) must be related to progress in the software development and (2) must be obvious when it has been accomplished. 3. Documents in the software life cycle: Final user manual Implementation phase Architectural design Design phase SQA plan Project planning phase Module specification Design phase Source code Implementation phase Statement of work Feasibility phase 25 Software Product And Process
26 Test plan Requirements phase Preliminary user manual Requirements phase Detailed design Design phase Cost estimate Project planning phase Project plan Project planning phase Test report Testing phase Documentation Implementation phase 4. Order of tasks: Market analysis Project planning, cost estimating, requirement specification (may be done concurrently) Requirements review High-level design Low-level design Design review Implementation Unit testing Systems testing Acceptance testing 5. Draw a diagram that represents an iterative life cycle model. 26 Software Product And Process
27 Objective type questions: 1. In a classical waterfall model, which phase precedes the design phase? Coding and unit testing Maintenance Requirements analysis and specification Feasibility study 2. Among development phases of software life cycle, which phase typically, consumes the maximum effort? Requirements analysis and specification Design Coding Testing 3. Among all the phases of software life cycle, which phase consumes the maximum effort? Design Maintenance Testing Coding 4. In the classical waterfall model during which phase is the Software Requirement Specification (SRS) document produced? Design Maintenance Requirements analysis and specification Coding 5. Which phase is the last development phase of a classical waterfall software life cycle? Design Maintenance Testing Coding 6. Which development phase in classical waterfall life cycle immediately follows coding phase? Design Maintenance Testing Requirement analysis and specification 27 Software Product And Process
28 7. Out of the following life cycle models which one can be considered as the most general model, and the others as specialization of it? Classical Waterfall Model Iterative Waterfall Model Prototyping Model Spiral Model Mark the following as either True or False. Justify your answer. 1. Evolutionary life cycle model is ideally suited for development of very small software products typically requiring a few months of development effort. Ans.: - False. Explanation: - The Evolutionary model is very useful for very large problems where it becomes easier to find modules for incremental implementation. 2. Prototyping life cycle model is the most suitable one for undertaking a software development project susceptible to schedule slippage. Ans.: - False. Explanation: - The prototype model is suitable for projects whose user requirements or the underlying technical aspects are not well understood. 3. Spiral life cycle model is not suitable for products that are vulnerable to large number of risks. Ans.: - False. Explanation: - The spiral model is suitable for development of technically challenging software products that are prone to several kinds of risks. Possible Questions: 1. Explain how both the waterfall model and the prototyping model can be accommodated in the spiral process model. 2. Mention the six specific design process activities. Give explanation for two of them. 3. Software is product. Justify this statement. 4. Explain the attributes of good software. 5. Explain the salient features of spiral model of a software process with an illustration diagram. 6. Explain different the different stages of testing a process with a neat diagram. 7. What is software validation? Explain with an example. 8. Describe the professional responsibilities of a software engineer. 28 Software Product And Process
Introduction to Software Engineering
UNIT I SOFTWARE PROCESS Introduction S/W Engineering Paradigm life cycle models (water fall, incremental, spiral, WINWIN spiral, evolutionary, prototyping, objects oriented) -system engineering computer
More informationSOFTWARE ENGINEERING
Page 1 MCA302 SOFTWARE ENGINEERING UNIT I - SOFTWARE PROCESS Introduction S/W Engineering Paradigm life cycle models (water fall, incremental, spiral, WINWIN spiral, evolutionary, prototyping, object oriented)
More informationLecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation
Chapter 2 Software Processes Lecture 1 Software process descriptions When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing
More informationSoftware Processes 1
Software Processes 1 Topics covered Software process models Process activities Coping with change 2 The software process A structured set of activities required to develop a software system. Many different
More informationLectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1
Lectures 2 & 3 Software Processes Software Engineering, COMP201 Slide 1 What is a Process? When we provide a service or create a product we always follow a sequence of steps to accomplish a set of tasks
More informationSoftware Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1
Software Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be
More informationChapter 3 Software Process Model
Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models
More informationSoftware Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models
Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationObjectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes
Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationTopics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationChapter 3 Prescriptive Process Models
Chapter 3 Prescriptive Process Models - Generic process framework (revisited) - Traditional process models - Specialized process models - The unified process Generic Process Framework Communication Involves
More informationPertemuan 2. Software Engineering: The Process
Pertemuan 2 Software Engineering: The Process Collect Your Project Topic What is Software Engineering? Software engineering is the establishment and sound engineering principles in order to obtain economically
More informationThe software process
Software Processes The software process A structured set of activities required to develop a software system Specification; Design; Validation; Evolution. A software process model is an abstract representation
More informationSoftware Engineering
Software Engineering (CS550) Software Development Process Jongmoon Baik Software Development Processes (Lifecycle Models) 2 What is a S/W Life Cycle? The series of stages in form and functional activity
More informationII. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini
II. Software Life Cycle Laurea Triennale in Informatica Corso di Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process
More informationDEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers UNIT 1 1. What are software myths Answer: Management myths: We already have a book
More informationCLASS/YEAR: II MCA SUB.CODE&NAME: MC7303, SOFTWARE ENGINEERING. 1. Define Software Engineering. Software Engineering: 2. What is a process Framework? Process Framework: UNIT-I 2MARKS QUESTIONS AND ANSWERS
More informationBased on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems
Software Processes Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems Slide 1 Objectives To introduce software
More informationDarshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1
Failure Rate Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 SOFTWARE (What is Software? Explain characteristics of Software. OR How the software product is differing than
More informationSoftware Engineering Part 2
CS 0901341 Software Engineering Part 2 In this part, we look at 2.1 Software Process 2.2 Software Process Models 2.3 Tools and Techniques for Processing Modelling As we saw in the previous part, the concept
More informationSWE 211 Software Processes
SWE 211 Software Processes These slides are designed and adapted from slides provided by Software Engineering 9 /e Addison Wesley 2011 by Ian Sommerville 1 Outlines Software process models Process activities
More informationA Comparison Between Evolutionary and Prototype Model
A Comparison Between Evolutionary and Prototype Model Aditi Thakur Department of Computer Science, Baddi University of Emerging Sciences and Technology ABSTRACT: In this paper, I have examined a number
More informationSoftware Engineering COMP 201
Software Engineering COMP 201 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 2 Software Processes
More informationIntroduction to Systems Analysis and Design
Introduction to Systems Analysis and Design What is a System? A system is a set of interrelated components that function together to achieve a common goal. The components of a system are called subsystems.
More informationA Comparative Study on Software Development Life Cycle Models
A Comparative Study on Software Development Life Cycle Models Prof. Supriya Madhukar Salve 1, Prof. Syed Neha Samreen 2, Prof. Neha Khatri-Valmik 3 123Assistant Professor, Dept. of Computer Science and
More informationSoftware Engineering. Unit 1. Software Process
1 Unit 1 Software Process Software: a) Instructions (Computer Programs) that when executed provide desired features, function, and performance. b) Data structures that enable the programs to adequately
More informationCMPT 275 Software Engineering
CMPT 275 Software Engineering Software life cycle 1 Software Life Cycle Sequence of processes completed as a software project moves from inception to retirement At beginning of project development, choose
More informationCMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources
CMSC 435: Software Engineering Section 0101! Atif M. Memon (atif@cs.umd.edu)! 4115 A.V.Williams building! Phone: 301-405-3071! Office hours!.tu.th. (10:45am-12:00pm)! Don t wait, don t hesitate, do communicate!!!
More informationSoftware Engineering
Software Engineering Part I. Aspects and Models of Software Development Process Gunadarma University 1 Software Engineering Outline 1 Introduction 2 Aspects of Software Engineering Software Engineering
More informationSoftware configuration management
Software configuration management Bởi: Hung Vo Introduction A system can be defined as a collection of components organized to accomplish a specific function or set of functions. The configuration of a
More informationChapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 3 Information Systems Development McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 3-2 Describe the motivation for a system development process
More informationSystem and Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1
System and Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the answers
More informationWhat is Software Engineering?
COSC 3351 Software Software Life Cycle (I) Spring 2008 What is Software Engineering? Real world problems are large and complex. Solving problems requires multiple steps Analyzing: Break the problems into
More informationProcesses. Object Orientated Analysis and Design. Benjamin Kenwright
Processes Object Orientated Analysis and Design Benjamin Kenwright Outline Review What are Processes? Why are they important in Object Orientated Analysis and Design Conclusion and Discussion Summary Revision
More informationA New Divide & Conquer Software Process Model
A New Divide & Conquer Software Process Model First A. Hina Gull, Second B. Farooque Azam Third C. Wasi Haider Butt, Fourth D. Sardar Zafar Iqbal Abstract The software system goes through a number of stages
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process 11.1 What is Project Management? Project management encompasses all the
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK Subject Code & Subject Name: IT1251 Software Engineering and Quality Assurance Year / Sem : II / IV UNIT I SOFTWARE PRODUCT
More informationABHELSINKI UNIVERSITY OF TECHNOLOGY
T 76.3601 Introduction to Software Engineering Software Life-Cycle Models http://www.soberit.hut.fi/t-76.3601/ Casper.Lassenius@tkk.fi Software Engineering? 1. The application of a systematic, disciplined,
More information7. What is planning? It is an act of formulating a program for a definite course of action. Planning is to decide what is to be done.
UNIT I FUNDAMENTALS 2 MARKS QUESTIONS & ANSWERS 1. What is software project management? Software project management is the art and science of planning and leading software projects. It is sub discipline
More informationCourse Organization. Lecture 1/Part 1
Course Organization Lecture 1/Part 1 1 Outline About me About the course Lectures Seminars Evaluation Literature 2 About me: Ing. RNDr. Barbora Bühnová, Ph.D. Industrial experience Research Quality of
More informationRational Software White Paper TP 174
Reaching CMM Levels 2 and 3 with the Rational Unified Process Rational Software White Paper TP 174 Table of Contents Abstract... 1 Introduction... 1 Level 2, Repeatable... 2 Requirements Management...
More informationActionable enterprise architecture management
Enterprise architecture White paper June 2009 Actionable enterprise architecture management Jim Amsden, solution architect, Rational software, IBM Software Group Andrew Jensen, senior product marketing
More informationObject-Oriented and Classical Software Engineering
Slide 3.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 3 Slide 3.2 THE SOFTWARE PROCESS Overview Slide 3.3
More informationThis chapter illustrates the evolutionary differences between
CHAPTER 6 Contents An integrated approach Two representations CMMI process area contents Process area upgrades and additions Project management concepts process areas Project Monitoring and Control Engineering
More informationNote 10: Software Process
Computer Science and Software Engineering University of Wisconsin - Platteville Note 10: Software Process Yan Shi Lecture Notes for SE 3330 UW-Platteville Based on Pressman Chapter 2 & 3 Software Process
More informationChapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.
Chapter 2 Objectives What we mean by a process Software development products, processes, and resources Several models of the software development process Tools and techniques for process modeling 2.1 The
More informationExplore Comparative Analysis Software Development Life Cycle Models
Explore Comparative Analysis Software Development Life Cycle Models Anshu Mishra Assistant Professor, Department of Information Science and Engineering Jyothy Institute of Technology, Bangalore Abstract-The
More informationAgile Projects 7. Agile Project Management 21
Contents Contents 1 2 3 4 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management
More information03. Perspective Process Models
03. Perspective Process Models Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Prescriptive Process Models advocates an orderly approach to software
More information7. Model based software architecture
UNIT - III Model based software architectures: A Management perspective and technical perspective. Work Flows of the process: Software process workflows, Iteration workflows. Check Points of The process
More informationPlanning and the Software Lifecycle. CSCE Lecture 2-08/26/2015
Planning and the Software Lifecycle CSCE 740 - Lecture 2-08/26/2015 Today s Goals Introduce software development processes Definitions - processes and process models Choosing a process AKA: planning and
More informationSelecting Software Development Life Cycles. Adapted from Chapter 4, Futrell
Selecting Software Development Life Cycles Adapted from Chapter 4, Futrell Examples of Software Life Cycle Models Classical Waterfall Waterfall with feedback V-Shaped Prototyping Incremental Spiral Rapid
More informationversion NDIA CMMI Conf 3.5 SE Tutorial RE - 1
Requirements Engineering SE Tutorial RE - 1 What Are Requirements? Customer s needs, expectations, and measures of effectiveness Items that are necessary, needed, or demanded Implicit or explicit criteria
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 Friday 30 th September 2016 - Morning Answer any THREE questions
More informationSystem Engineering. Instructor: Dr. Jerry Gao
System Engineering Instructor: Dr. Jerry Gao System Engineering - System Engineering Hierarchy - System Modeling - Information Engineering: An Overview - Product Engineering: An Overview - Information
More informationTECHNICAL REVIEWS AND AUDITS
Chapter 11 Technical Reviews and Audits CHAPTER 11 TECHNICAL REVIEWS AND AUDITS 11.1 PROGRESS MEASUREMENT The Systems Engineer measures design progress and maturity by assessing its development at key
More informationComplex Systems of Systems (CSOS) : Software Benefits,Risks,and Strategies
Complex Systems of Systems (CSOS) : Software Benefits,Risks,and Strategies Barry Boehm, USC Vic Basili, Fraunhofer Maryland SIS Acquisition Conference January 28, 2003 10/22/02 USC-CSE 1 Complex Systems
More informationAcquiring IT Applications and Infrastructure
Chapter 15 Acquiring IT Applications and Infrastructure Information Technology For Management 6th Edition Turban, Leidner, McLean, Wetherbe Lecture Slides by L. Beaubien, Providence College John Wiley
More informationSolutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung
2 David Kung Object-Oriented Software Engineering An Agile Unified Methodology Solutions Manual 3 Message to Instructors July 10, 2013 The solutions provided in this manual may not be complete, or 100%
More informationInformation Systems Development
Information Systems Development Based on Chapter 3 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007 Wei-Tsong Wang 1 IIM, NCKU 3 Objectives
More informationCSE 435 Software Engineering. Sept 14, 2015
CSE 435 Software Engineering Sept 14, 2015 What is Software Engineering Where Does the Software Engineer Fit In? Computer science: focusing on computer hardware, compilers, operating systems, and programming
More informationObject-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.
Slide 3.1 CHAPTER 3 Slide 3.2 Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 3.3 Overview (contd) Slide 3.4
More informationEvolutionary Differences Between CMM for Software and the CMMI
Evolutionary Differences Between CMM for Software and the CMMI Welcome WelKom Huan Yín Bienvenue Bienvenido Wilkommen????S???S??? Bienvenuto Tervetuloa Välkommen Witamy - 2 Adapting an An Integrated Approach
More informationIntelligent Workflow Management: Architecture and Technologies
Proceedings of The Third International Conference on Electronic Commerce(ICeCE2003), Hangzhou Oct. 2003, pp.995-999 Intelligent Workflow Management: Architecture and Technologies Chen Huang a, Yushun Fan
More informationData Warehousing provides easy access
Data Warehouse Process Data Warehousing provides easy access to the right data at the right time to the right users so that the right business decisions can be made. The Data Warehouse Process is a prescription
More informationChapter 16 Software Reuse. Chapter 16 Software reuse
Chapter 16 Software Reuse 1 Topics covered What is software reuse? Benefit and problems with reuse. The reuse landscape Application frameworks Software product lines COTS product reuse 2 Software reuse
More informationLecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016
Lecture 2: Software Quality Factors, Models and Standards Software Quality Assurance (INSE 6260/4-UU) Winter 2016 INSE 6260/4-UU Software Quality Assurance Software Quality Quality Assurance Factors and
More informationSocial Organization Analysis: A Tutorial
Social Organization Analysis: A Tutorial Gavan Lintern Cognitive Systems Design glintern@cognitivesystemsdesign.net Copyright 2013 by Gavan Lintern Abstract Far less attention has been paid to social organization
More informationTOGAF 9.1 Phases E-H & Requirements Management
TOGAF 9.1 Phases E-H & Requirements Management By: Samuel Mandebvu Sources: 1. Primary Slide Deck => Slide share @ https://www.slideshare.net/sammydhi01/learn-togaf-91-in-100-slides 1. D Truex s slide
More informationSoftware Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO
Software Modeling & Analysis - Fundamentals of Software Engineering - Software Process Model Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is Software Engineering? [ IEEE Standard 610.12-1990 ] Software
More informationVolume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at
Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info A Study of Software Development Life Cycle Process Models
More informationSHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY
SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY-621105. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS1301- SOFTWARE ENGINEERING UNIT I
More information"Change is inevitable; except in vending machines."
Configuration Management Change is inevitable. In acquisition programs, missions, requirements, technologies, and environments change. In response, the system design will change as it evolves through the
More informationSoftware Engineering Modern Approaches
Software Engineering Modern Approaches Chapter : Software Process Eric Braude and Michael Bernstein Maintenance Testing The Software Development Lifecycle Implementation Design Phase most relevant to this
More informationPassit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2
Passit4Sure.OG0-093.221Questions Number: OG0-093 Passing Score: 800 Time Limit: 120 min File Version: 7.1 TOGAF 9 Combined Part 1 and Part 2 One of the great thing about pass4sure is that is saves our
More informationCS SOFTWARE ENGINEERING QUESTION BANK
CS6403 - SOFTWARE ENGINEERING QUESTION BANK UNIT I- SOFTWARE PRODUCT AND PROCESS Part - A (2 M ARKS) 1. What is the prime objective of software engineering? 2. Define software engineering paradigm. 3.
More informationBCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SOFTWARE ENGINEERING 1. Examiners Report March 2018
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SOFTWARE ENGINEERING 1 Examiners Report March 2018 Section A A1. Testing is an important aspect of software
More informationQAIassist IT Methodology General Context
QAIassist IT Methodology General Context IT Methodology General Context From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the evolving
More informationChapter 4 Software Process and Project Metrics
Chapter 4 Software Process and Project Metrics 1 Measurement & Metrics... collecting metrics is too hard... it's too time-consuming... it's too political... it won't prove anything... Anything that you
More informationRequirements Analysis and Design Definition. Chapter Study Group Learning Materials
Requirements Analysis and Design Definition Chapter Study Group Learning Materials 2015, International Institute of Business Analysis (IIBA ). Permission is granted to IIBA Chapters to use and modify this
More informationPMBOK Guide Fifth Edition Pre Release Version October 10, 2012
5.3.1 Define Scope: Inputs PMBOK Guide Fifth Edition 5.3.1.1 Scope Management Plan Described in Section 5.1.3.1.The scope management plan is a component of the project management plan that establishes
More informationRethinking the way personal computers are deployed in your organization
IBM Global Technology Services August 2009 Rethinking the way personal computers are deployed in your organization Leveraging an innovative, end-to-end model to save time and reduce costs 2 IBM Global
More information9/24/2011 Sof o tw t a w re e P roc o e c s e s s s Mo M d o e d l e s l 1 Wh W a h t t i s i s a Pr P oc o ess s 2 1
Software Process Models 1 What is a Process 2 1 What is a Process? Given input, transforms it into output Consist of a set of activities Ordering among the activities (a partial order) Software Process
More informationChapter 16 Software Reuse. Chapter 16 Software reuse
Chapter 16 Software Reuse 1 Topics covered The reuse landscape Application frameworks Software product lines COTS product reuse 2 Software reuse In most engineering disciplines, systems are designed by
More informationCOSC 735: Software Engineering Test 1 Sample Solution
COSC 735: Software Engineering Test 1 Sample Solution QUESTION 1: 1. (a) Define Software Engineering. Software engineering is the establishment and use of sound engineering principles in order to obtain
More informationQuizzes for 1 st Study Group Session
Quizzes for 1 st Study Group Session General 1. Business analysis is performed: a. Sequentially and in order. b. According to logical relationships (dependencies). c. Iteratively or simultaneously. d.
More informationRequirements Organisation, Analysis. Software Requirements & Project Management CITS3220
Requirements Organisation, Analysis and Negotiation Software Requirements & Project Management CITS3220 Organising Requirements Viewpoints Interactor viewpoints: people or other systems that interact
More informationThis tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.
i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give
More informationKEY LESSONS FROM SUCCESSFUL ASC 606 IMPLEMENTATIONS
KEY LESSONS FROM SUCCESSFUL ASC 606 IMPLEMENTATIONS 1 Revenue management is a complex exercise for most businesses. The incoming guidance change in the form of ASC 606 has made it even more complicated.
More informationChapter 6. Software Quality Management & Estimation
Chapter 6 Software Quality Management & Estimation What is Quality Management Also called software quality assurance (SQA) s/w quality:- It is defined as the degree to which a system, components, or process
More informationFOUNDATIONAL CONCEPTS FOR MODEL DRIVEN SYSTEM DESIGN
FOUNDATIONAL CONCEPTS FOR MODEL DRIVEN SYSTEM DESIGN Loyd Baker, Paul Clemente, Bob Cohen, Larry Permenter, Byron Purves, and Pete Salmon INCOSE Model Driven System Interest Group Abstract. This paper
More informationCHAPTER 1. Business Process Management & Information Technology
CHAPTER 1 Business Process Management & Information Technology Q. Process From System Engineering Perspective From Business Perspective In system Engineering Arena Process is defined as - a sequence of
More informationSoftware Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?
Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? Jussi Ronkainen P.O. Box 1100 FIN-90570 Oulu, Finland +358 8 551 21040 Jussi.Ronkainen@vtt.fi Pekka Abrahamsson
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: USDP and EUP 1 Unified Software Development Process (USDP) Also known as Unified Process (UP)
More information7. Project Management
Subject/Topic/Focus: 7. Project Management Management of Systems Engineering Processes Summary: Project management Systems engineering Maturity model and process improvement Literature: Ian Sommerville:
More informationSoftware Development Software Development Activities
Software Development Software Development Activities Problem Definition Requirements Analysis Implementation Planning High-level Design (or Architecture) Detailed Design Coding and Unit Testing (Debugging)
More informationChapter. Redesigning The Organization With Information Systems
Chapter Redesigning The Organization With Information Systems 1 Objectives Demonstrate how building new systems produces organizational change Explain how a company can develop information systems that
More informationThe Product and the Process The Product The Evolving Role of Software Software Software: A Crisis on the Horizon Software Myths Summary References
The Product and the Process The Product The Evolving Role of Software Software Software: A Crisis on the Horizon Software Myths Further Readings and Information Sheets The Process Software Engineering
More informationunderstand, in outline, the activities involved in software requirements engineering, software development, testing and evolution;
4 Software processes Objectives The objective of this chapter is to introduce you to the idea of a software process-a coherent set of activities for software produetion. When you have read this chapter,
More informationPragmatics. Object Orientated Analysis and Design. Benjamin Kenwright
Pragmatics Object Orientated Analysis and Design Benjamin Kenwright Next Week Revision Week No Lecture "That's a great question. Come to think of it, I'm not sure what it is I'm trying to design." Crossword
More information