The document outlines a framework process for software engineering, identifying five generic framework activities: communication, planning, modeling, construction, and deployment, which are essential for all software projects. It also describes various umbrella activities such as project tracking, risk management, and quality assurance that support the framework activities throughout the software development process. Additionally, it discusses different software process models, including linear sequential, iterative, evolutionary, and parallel process flows, emphasizing the importance of selecting an appropriate model based on project characteristics.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
16 views17 pages
Com Sc6 Lecture2
The document outlines a framework process for software engineering, identifying five generic framework activities: communication, planning, modeling, construction, and deployment, which are essential for all software projects. It also describes various umbrella activities such as project tracking, risk management, and quality assurance that support the framework activities throughout the software development process. Additionally, it discusses different software process models, including linear sequential, iterative, evolutionary, and parallel process flows, emphasizing the importance of selecting an appropriate model based on project characteristics.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17
SOFTWARE
ENGINEERING APPROACHES A Process Framework
A framework process establishes the
foundation for a complete software process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. Five Generic Framework Activities
Communication- This framework activity
involves heavy communication and collaboration with the customer(and other stakeholders)and encompasses requirements gathering and other related activities. Planning- This activity establishes a plan for the software engineering work that follows. It describes the technical tasks to be conducted , the risks that are likely , the resources that will be required, the work products to be produced, and a work schedule. Modeling-This activity encompasses the creation of models that allow the developer and the customer to better understand software requirements and the design that will achieve those requirements. Modeling activity is composed of two software engineering actions: 1. Analysis-encompasses a set of work tasks(e.g. requirement gathering, elaboration, negotiation, specification, and validation)that lead to the creation of the analysis model. 2. Design-includes work tasks(data design, architectural design, and component-level design)that create a design model. Construction- This activity combines code generation(either manual or automated) and the testing that is required to uncover errors in the code. Deployment- The software is delivered to the customer who evaluates the delivered product and provides feedback based on the evaluation. These activities can be used during the development of small programs , the creation of large Web applications, and for the engineering of large , complex computer-based systems. ESSAY: Explain the following essay question. Write in ½ crosswise.
Why every framework activity is important
in software development? Explain. Different projects demand different task sets. The software team chooses the task set based on problem and project characteristics.
Task Set-The actual work to be done to
accomplish the objectives of a software engineering action.
The framework described in the generic view
of software engineering is complemented by a number of umbrella activities. Umbrella activities are independent of any framework Software engineering Umbrella Activities:
Software Project Tracking and
Control-allows the software team to asses progress against the project plan and take necessary action to maintain schedule. Risk Management-Assesses risks that may effect the outcome of the project or the quality of the product. Software Quality Assurance-Defines and conducts the activities required to ensure software quality. Formal Technical Reviews-Assesses software engineering work products in an effort to uncover and remove errors before they propagated to the next action or activity. Measurement- Defines and collects process, projects, and product measures that assist the team in delivering software that meets customer’s needs; can be used in conjunction with all other framework and umbrella activities Software Configuration Management-Manages the effects of change throughout the software process. Reusability Management-Defines criteria for work product reuse(including software components)and establishes mechanisms to achieve reusable components. Work Product Preparation and Production- Includes the activities required to create work products such as models, documents, logs, forms, and lists.
Umbrella Activities occur throughout the
A generic process framework for software engineering defines five framework activities— communication, planning, modeling, construction, and deployment. In addition, a set of umbrella activities— project tracking and control, risk management, quality assurance, configuration management,technical reviews, and others— are applied throughout the process. Another one important aspect of the software process is a Process flow—describes how the framework activities and the actions and tasks that occur within each framework activity are organized with respect to sequence Software Process Model It is important to define a life-cycle model for each software project because the model provides a basis for controlling the various activities required to develop and maintain a software product. The selection of a process model is based on the nature of the project and application, the tools to be used and the controls and deliverables that are required. Linear sequential model-It suggests a systematic, sequential approach to the software development that begins at the system level and progresses through analysis, design, coding, testing and maintenance. Iterative process flow- repeats one or more of the activities before proceeding to the next activity. Evolutionary process flow- executes the activities in a “circular” manner. Each circuit through the five activities leads to a more complete version of the software Parallel process flow- executes one or more QUERIES? ESSAY:
Among the Software Process models
discussed, what process model would you preferred to adopt? Why? Discuss your answer.