Академический Документы
Профессиональный Документы
Культура Документы
co
Table of Contents
Development
methodologies overview
The waterfall development process Heavyweight methodologies Agile methodologies, SCRUM and XP
Section Subtitle
Software Engineering
Requirements, Design, Construction, Testing
o f t w a r e e n g i n
Software Engineering
o f t w a r e d e v e l
Functional & Non-functional Requirements, SRS, User Story Cards Section Subtitle
Software Requirements
Software Requirements
Software
Two
kinds of requirements
Requirements Analysis
Requirements
The
outcome is the Software Requirements Specification (SRS) or set of User Stories Prototyping is often used, especially for the user interface
Functional requirements
Business
Non-functional requirements
E.g.
specifications are
too heavy
Does not work well in dynamic projects that change their requirements every day
Agile
How
story
User needs to accomplish something Written informal (in words / images / sketches) Looks like use-case but is different (less formal)
User
stories have
estimate,
12
13
Software Requirements
It
Requirements
Software Section Subtitle Requirements Specifications (SRS), User Stories Live Demo and UI Prototypes
Section Subtitle
Software
design is a technical description (blueprints) about how the system will implement the requirements The system architecture describes:
How the system will be decomposed into subsystems (modules) Responsibilities of each module Interaction between the modules Platforms and technologies
19
Software Design
Detailed
Design
Describes the internal module structure Interfaces, data design, process design
Object-Oriented
Design
Internal
Class Design
Methods, responsibilities,
The
It
contains:
and their interaction (diagram)
Architectural design
Modules
Section Subtitle
Live Demo
Section Subtitle
Software Construction
Implementation, Unit Testing, Debugging, Integration
u r i n g t h e s o f
Software Construction
The
Developers
writing it
At least run it to see the results Unit testing works better
Units
times
System
Debugging
Debugging
Performed by developers
Steps
in debugging:
the source of the problem Identify the exact place in the code causing it
Integration
Integration
together
Compile, run and deploy the modules as a single system Test to identify defects
Integration
strategies
Inexperienced
In most projects coding is only 20% of the project activities! The important decisions are taken during the requirements analysis and design Documentation, testing, integration, maintenance, etc. are often disparaged
Software
coding!
Section Subtitle
Software Verification
What
is software verification?
It checks whether the developed software conforms to the requirements Performed by the Software Quality Assurance Engineers (QA engineers)
Two
approaches:
e s t i n g c h e c k s
Software Testing
e s t p l a n n i n g
The
test plan is a formal document that describes how tests will be performed
List of test activities to be performed to ensure meeting the requirements Features to be tested, testing approach, schedule, acceptance criteria
Test
Section Subtitle
Section Subtitle
r o j e c t m a n a g e
Scop e
Qualit y
Co t s
im T e
project management
Project
planning
Identify the scope, estimate the work involved, and create a project schedule
Project
project plan is a document that describes how the work on the project will be organized
Contains tasks, resources, schedule, milestones, etc. Tasks have start, end, assigned resources (team members), % complete, dependencies, nested tasks, cost, etc.
Project
development methodology is a set of practices and procedures for organizing the software development process
A set of rules that developers have to follow A set of conventions the organization decides to follow A systematical, engineering approach for organizing and managing software projects
Back
in history
Development Methodologies
not used today
Modern
development methodologies
Agile development processes Scrum, Kanban, Lean Development, Extreme Programming (XP), etc.
43
Formal
System nts Desi documents, Requireme Analy gn nts sis Detail diagrams, etc. Software Requireme ed nts Desig Codi Prelimin Software n ngIntegrati ary Requireme on Design Analy Testi nts ng Specificati Usag sis Progra Preli on e m m. Prelimina Operatin Design Revie ry g Codi Design w Design Instructi ng Review Documen Testi ons t ng Test Code Final UI Design Plan Review Desig Documen Operatio n t ns
Formal Methodologies
Full of
Agile Development
Section Subtitle
n c r e m e n t a l
W o r k i
49
Agile Methodologies
Scrum Kanban Lean
Software Development eXtreme Programming (XP) Feature-Driven Development (FDD) Crystal family of methodologies Adaptive Software Development (ASD) Dynamic System Development Model (DSDM) Agile Unified Process (AUP)
The Planning Game Small Releases Metaphor Simple Design Test-Driven Development Refactoring Pair Programming Collective Ownership Continuous Integration 40-Hour Workweek On-site Customer Coding Standards
c r u m i s a n i t
Scrum
52
Scrum Terminology
Sprint
Scrum
Product
Backlog
Sprint
Backlog
54
p r i n t P l a n n i n
Scrum Practices
55
Questions ? ?
http://codecourse.telerik
Y o u a r e a s s i g n e d
Homework
57