0
ÁREAS ENGENHARIA DE
SOFTWARE
Agile software development
Objectives
The objective of this chapter is to introduce you to agile software development
meth...
Requirements engineering
Objectives
The objective of this chapter is to introduce software requirements and to discuss the...
Design and implementation
Objectives
The objectives of this chapter are to introduce object-oriented software design using...
System modeling
Objectives
The aim of this chapter is to introduce some types of system model that may be developed as
par...
Software testing
Objectives
The objective of this chapter is to introduce software testing and software testing processes....
Security engineering
Objectives
The objective of this chapter is to introduce issues that should be considered when you ar...
Component-based software engineering
Objectives
The objective of this chapter is to describe an approach to software reuse...
Aspect-oriented software engineering
Objectives
The objective of this chapter is to introduce you to aspect-oriented
softw...
Quality management
Objectives
The objectives of this chapter are to introduce software quality management and software
mea...
Configuration management
Objectives
The objective of this chapter is to introduce you to configuration management processe...
Process improvement
Objectives
The objective of this chapter is to introduce software process improvement as a way of
incr...
Project management
Objectives
The objective of this chapter is to introduce software project management and two important
...
Upcoming SlideShare
Loading in...5
×

SWBOKKA

130

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
130
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "SWBOKKA"

  1. 1. ÁREAS ENGENHARIA DE SOFTWARE
  2. 2. Agile software development Objectives The objective of this chapter is to introduce you to agile software development methods. When you have read the chapter, you will: • understand the rationale for agile software development methods, the agile manifesto, and the differences between agile and plan-driven development; • know the key practices in extreme programming and how these relate to the general principles of agile methods; • understand the Scrum approach to agile project management; • be aware of the issues and problems of scaling agile development methods to the development of large software systems. Contents 3.1 Agile methods 3.2 Plan-driven and agile development 3.3 Extreme programming 3.4 Agile project management 3.5 Scaling agile methods
  3. 3. Requirements engineering Objectives The objective of this chapter is to introduce software requirements and to discuss the processes involved in discovering and documenting these requirements. When you have read the chapter you will: • understand the concepts of user and system requirements and why these requirements should be written in different ways; • understand the differences between functional and nonfunctional software requirements; • understand how requirements may be organized in a software requirements document; • understand the principal requirements engineering activities of elicitation, analysis and validation, and the relationships between these activities; • understand why requirements management is necessary and how it supports other requirements engineering activities. Contents 4.1 Functional and non-functional requirements 4.2 The software requirements document 4.3 Requirements specification 4.4 Requirements engineering processes 4.5 Requirements elicitation and analysis 4.6 Requirements validation 4.7 Requirements management
  4. 4. Design and implementation Objectives The objectives of this chapter are to introduce object-oriented software design using the UML and highlight important implementation concerns. When you have read this chapter, you will: • understand the most important activities in a general, object-oriented design process; • understand some of the different models that may be used to document an object- oriented design; • know about the idea of design patterns and how these are a way of reusing design knowledge and experience; • have been introduced to key issues that have to be considered when implementing software, including software reuse and open-source development. Contents 7.1 Object-oriented design using the UML 7.2 Design patterns 7.3 Implementation issues 7.4 Open source development
  5. 5. System modeling Objectives The aim of this chapter is to introduce some types of system model that may be developed as part of the requirements engineering and system design processes. When you have read the chapter, you will: • understand how graphical models can be used to represent software systems; • understand why different types of model are required and the fundamental system modeling perspectives of context, interaction, structure, and behavior; • have been introduced to some of the diagram types in the Unified Modeling Language (UML) and how these diagrams may be used in system modeling; • be aware of the ideas underlying model-driven engineering, where a system is automatically generated from structural and behavioral models. Contents 5.1 Context models 5.2 Interaction models 5.3 Structural models 5.4 Behavioral models 5.5 Model-driven engineering
  6. 6. Software testing Objectives The objective of this chapter is to introduce software testing and software testing processes. When you have read the chapter, you will: • understand the stages of testing from testing, during development to acceptance testing by system customers; • have been introduced to techniques that help you choose test cases that are geared to discovering program defects; • understand test-first development, where you design tests before writing code and run these tests automatically; • know the important differences between component, system, and release testing and be aware of user testing processes and techniques. Contents 8.1 Development testing 8.2 Test-driven development 8.3 Release testing 8.4 User testing
  7. 7. Security engineering Objectives The objective of this chapter is to introduce issues that should be considered when you are designing secure application systems. When you have read this chapter, you will: • understand the difference between application security and infrastructure security; • know how life-cycle risk assessment and operational risk assessment are used to understand security issues that affect a system design; • be aware of software architectures and design guidelines for secure systems development; • understand the notion of system survivability and why survivability analysis is important for complex software systems. Contents 14.1 Security risk management 14.2 Design for security 14.3 System survivability
  8. 8. Component-based software engineering Objectives The objective of this chapter is to describe an approach to software reuse based on the composition of reusable, standardized components. When you have read this chapter you will: know that component-based software engineering is concerned with developing standardized components based on a component model, and composing these into application systems; understand what is meant by a component and a component model; know the principal activities in the CBSE process for reuse and the CBSE process with reuse; understand some of the difficulties and problems that arise during the process of component composition. Contents 17.1 Components and component models 17.2 CBSE processes 17.3 Component composition
  9. 9. Aspect-oriented software engineering Objectives The objective of this chapter is to introduce you to aspect-oriented software development, which is based on the separation of concerns. When you have read this chapter, you will: understand why the separation of concerns is a good guiding principle for software development; have been introduced to the fundamental ideas underlying aspects and aspect-oriented software development; understand how an aspect-oriented approach may be used for requirements engineering, software design, and programming; be aware of the difficulties of testing aspect-oriented systems. Contents 21.1 The separation of concerns 21.2 Aspects, join points, and pointcuts 21.3 Software engineering with aspects
  10. 10. Quality management Objectives The objectives of this chapter are to introduce software quality management and software measurement. When you have read the chapter, you will: • have been introduced to the quality management process and know why quality planning is important; • understand that software quality is affected by the software development process used; • be aware of the importance of standards in the quality management process and know how standards are used in quality assurance; • understand how reviews and inspections are used as a mechanism for software quality assurance; • understand how measurement may be helpful in assessing some software quality attributes and the current limitations of software measurement. Contents 24.1 Software quality 24.2 Software standards 24.3 Reviews and inspections 24.4 Software measurement and metrics
  11. 11. Configuration management Objectives The objective of this chapter is to introduce you to configuration management processes and tools. When you have read the chapter, you will: • understand the processes and procedures involved in software change management; • know the essential functionality that must be provided by a version management system, and the relationships between version management and system building; • understand the differences between a system version and a system release, and know the stages in the release management process. Contents 25.1 Change management 25.2 Version management 25.3 System building 25.4 Release management
  12. 12. Process improvement Objectives The objective of this chapter is to introduce software process improvement as a way of increasing software quality and reducing development costs. When you have read the chapter, you will: • understand the rationale for software process improvement as a means of improving both product quality and the efficiency and effectiveness of software processes; • understand the principles of software process improvement and the cyclic process improvement process; • know how the Goal-Question-Metric approach may be used to guide process measurement; • have been introduced to the ideas of process capability and process maturity, and the general form of the SEI’s CMMI model for process improvement. Contents 26.1 The process improvement process 26.2 Process measurement 26.3 Process analysis 26.4 Process change 26.5 The CMMI process improvement framework
  13. 13. Project management Objectives The objective of this chapter is to introduce software project management and two important management activities, namely risk management and people management. When you have read the chapter you will: • know the principal tasks of software project managers; • have been introduced to the notion of risk management and some of the risks that can arise in software projects; • understand factors that influence personal motivation and what these might mean for software project managers; • understand key issues that influence team working, such as team composition, organization, and communication. Contents 22.1 Risk management 22.2 Managing people 22.3 Teamwork
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×