Software Engineering Training-Crash Course
Software engineering training teaches
you the advanced software engineering topics and provides you with the
discipline to apply engineering and computer science concepts in the
development, maintenance, usability and dependability of the software.
TONEX as a leader in teaching industry
for more than 15 years is now announcing the software engineering
training which helps you to recognize the software design software
development, software testing, software maintenance and software
management.
TONEX has served the industry and
academia with high quality conferences, seminars, workshops, and
exclusively designed courses in systems engineering area and is pleased
to inform professional fellows about the recent comprehensive training
on software engineering.
This course covers variety of topics in
software engineering area such as: introduction to software engineering,
software investigation and analysis, software design, software implementation and management,
requirement analysis and engineering, software development process life
cycle, and software development processes. Furthermore, you will be
introduced to socio-technical systems, software system architecture,
dependability and security engineering, software project planning and
management, dependability and security assurance, software system
configuration management, software system quality management, agile
software system engineering, software verification and validation,
software construction and distributed software systems.
By taking the software engineering
training by TONEX, you will learn about present software engineering
concepts as well as principles in parallel with the software development
life cycle.
This training will begin with an
introduction to software engineering, giving you a definition of the
body of knowledge, as well as a discussion of the main methodologies of
software engineering. The next step is to introduce the software
development life cycle (SDLC) followed by software modeling using
unified modeling language (UML), a standardized general purpose
languages used to create visual models of object oriented software.
Moreover, you will learn about the main phases of SDLC; requirements
gathering, requirement analysis, design, coding, and testing.
If you are an IT professional who
specialize in software engineering, you will benefit the presentations,
examples, case studies, discussions, and individual activities upon the
completion of the software engineering training and will prepare
yourself for your career.
Learn about artifacts and approaches to
develop the software systems, software engineering metrics, distributed,
configurable and object oriented software. Moreover, you will learn
about alignment of software systems with overall system design, software
unique aspects of planning, requirements, architecture analysis,
implementation, testing and maintenance, important of software
engineering constraints, security and technology trends in software
engineering.
Our instructors at TONEX will help you
to understand different software engineering and development processes.
Furthermore, you will be introduced to the different examination methods
and tools in software engineering.
Finally, the software engineering
training will introduce a set of labs, workshops and group activities of
real world case studies in order to prepare you to tackle all the
related software engineering challenges.
Audience
Software engineering training is a 4-day course designed for:
- Software developers want to acquire state of the art knowledge of software engineering
- Software engineers need to know everything about software engineering
- Business analysts having projects in software engineering
- System engineers
- Project managers of software projects
- System safety managers
- Software maintainers
- Software configuration managers
- Software programmers
- Software Managers and lead technical staff
- Any IT professionals need to improve their knowledge of software engineering
Training Objectives
Upon completion of the software engineering training course, the attendees are able to:
- Understand the systems engineering principles applied to design, development and integration of software intensive systems
- Learn about systems engineering, software engineering and software development with practical applications
- Explain the basic structure of designing and implementing software systems from analysis, verifications and validations
- Understand the software engineering life cycle models with their significance and objectives
- Understand how to reduce the software faults and failures to an acceptable margin using rigorous testing and inspection
- Conduct technical software performance measurements and defining deterministic factors in successful software system engineering
- Learn how to make plans for software systems, control the changes and analyze to improve the process
- Learn how to apply practical methods to improve software project performance in design process
Training Outline
Software engineering training course consists of the following lessons, which can be revised and tailored to the client’s need:
Introduction to Software Engineering
- Role of Software Engineer
- Definitions and Concepts
- Information Level in the Organization
- Software Life Cycle
- Categories of Software
- Alternate Software Acquisition Approaches
- Software Engineering Paradigms
- Desirable Features of Computer Software
- Summary and Concluding Remarks
- Software Development Life Cycle (SDLC)
- Software Modeling; Unified Modeling Language (UML)
Software Investigation and Analysis
- Project Selection and Initial System Requirements
- Project Selection
- Problem Definition
- Proposed Solution
- Scope and Objectives of the System
- System Justification
- Feasibility Analysis Report
- Alternate Approach to Feasibility Analysis
- Summary of System Inputs and Outputs
- Initial Project Schedule
- Project Team
- Requirement Specification
- Contents of the Requirement Specification
- Documenting the Requirements
- Requirement Validation
- Proceeding
- Presenting the Requirements Specification
- Information gathering
- Rationale for Information Gathering
- Interviews
- Questionnaires and Surveys
- Observation and Document Review
- Prototyping
- Brainstorming and Mathematical Proof
- Object Identification
- Communicating via diagrams
- Traditional System Flow Charts
- Innovation; Topology Chart
- Data Flow Diagrams
- Object Flow Diagrams
- Contemporary Diagramming Techniques
- Program Flow Chart
- decision models for system logic
- Structured Language
- Decision Tables
- Decision Trees
- Decision Techniques to Use
- Decision Techniques versus Flowcharts
- System Rules
- Project management aids
- PERT and CPM
- The Gantt Chart
- Project Management Software
Software Design
- Software Design Process
- Design Strategies
- Architectural Design
- Interface Design
- Software Design and Development Standards
- The Design Specification
- Database Design
- Approaches to Database Design
- Overview of File Organization
- User Interface Design
- Types of User Interfaces
- Steps in User Interface Design
- Output Design
- Output Methods versus Content and Technology
- Input Design
- Operation Design
- Categorization of Operations
- Essentials of Operation Design
- Informal Operation Requirements
- Formal Specifications
Software Implementation and Management
- Software Implementation Issues
- Software Operating Environment
- Installation of the System
- Code Conversion
- Change Over
- Software Marketing
- Standards and Quality Assurance
- Management of Targets and Financial Resources
- Leadership and Motivation
- Software Management
- Management Responsibilities
- Management Styles
- Software Maintenance
- Legacy Systems
- Software Integration
- Software Re-engineering
- Developing the Job Description
- Maintaining the Desired Environment
- Preserving Accountability
- Grooming and Succession Planning
- Software Economics
- Software Cost
- Software Value
- Assessing Software Productivity
- Estimation Techniques for Engineering Cost
- Organizing Effective Management
- Functional Organization
Parallel Organization - Hybrid Organization
- Organization of Software Engineering Firms
Requirements Analysis and Engineering
- Introduction to Requirements Analysis
- Systems Engineering Process Inputs
- Types of Requirements
- Requirements in Waterfall Model
- Software Requirement Specification (SRS)
- Elicitation Techniques
- Functional Requirements
- Non-Functional Requirements
- Domain Requirements
- Structured Analysis
- Entity-Relationship Approach
- Object Oriented Analysis
- Class and Object Identification
- The Dynamic Model
- Requirements Specifications
- Requirements Documentations
- Requirements Verification and Negotiation
- Requirements Validation
Software Development Process Life Cycle
- Waterfall Development
- Prototyping
- Incremental Development
- Iterative and Incremental Development
- Spiral Development
- Rapid Application Development
- Agile Development
- Lightweight Methodologies
- Code and Fix
- Process Meta-Models
- Formal Methods
Software System Development Processes
- Unified Software Development Process (USDP)
- Incremental Process
- Iterative Process
- Architecture Centric
- Use-Case Driven and Risk Confronting
- USDP Life Cycle
- Process Workflows
- Supporting workflows
- Inception Phase
- Elaboration Phase
- Construction Phase
- Transition Phase
- Lifecycle Objectives
- Lifecycle Architecture
- Unified Modeling Language
Socio-Technical Systems
- Socio-Technical System Stack
- Socio-Technical System Layers
- Equipment
- Operating system
- Communications and Data Management
- Application Systems
- Business Processes
- Organizations
- Society
- Socio-Technical System Characteristics
- Emergent Properties
- Non-deterministic
- Complex Relationships with Organizational Objectives
- Socio-Technical System Design Approaches
- Design Challenges
- Socio-Technical Systems Engineering
Software System Architecture
- Software Architecture Concepts
- Architectural Elements
- Stakeholders
- Architectural Descriptions
- Architectural Views
- Architectural Perspectives
- Role of Software Architects
- Architecture Definition Process
- Architectural Styles
- Pipe and filter
- Object Oriented
- Event Based
- Layered
- Repositories
- Process Control
- Distributed Architectures
- Architectural Analysis
- Domain Specific Design
- Middleware
- Model Driven Architecture
- Aspect Oriented Programming
Dependability and Security Engineering
- Security Engineering
- Usability and Psychology
- Protocols
- Access Control
- Cryptography
- Distributed Systems
- Economics
- Multilevel Security
- Multilateral Security
- Physical Protection
- Monitoring and Metering
- Security Printing
- Biometrics
- Emission Security
- Network Attack and Defense
- API Attacks
- Physical Tamper Resistance
- Telecom System Security
- System Evaluation and Assurance
- Managing the Development of Secure Systems
Software Project Planning and Management
- Project Management Framework
- Project Initiation
- Project Planning
- Project Monitoring
- Software Development Plan
- Project Management Plan and Software Development Management
- Pitfalls in Software Development Management Plan and Project Management Plan
- Scope Management
- Software Time Management
- Software Cost Management
- Software Risk Management
- Software configuration Management
- Software Release and Deployment Management
- Software Quality Management
Dependability and Security Assurance
- Managing Risks from Vulnerable Software
- Software Security Vulnerabilities
- Sources of Source Code Security Vulnerabilities
- Framework for Software Security Assurance
- Risk Assessment
- Vulnerability Management
- Security Standards
- Ongoing Assessment and Assurance
- Roles and Responsibilities
- Vulnerabilities in Web Applications
- Security, Reliability and Practices
- Roles and Responsibilities for Software Security Assurance
Software System Configuration Management
- Software Configuration Management Definition
- Software Configuration Item
- Software Configuration Management Directory
- Disciplines in Software Configuration Management
- Software Configuration Management for Different Software Environment
- Automated Tools for Software Configuration Management
- Software Configuration Management Planning
Software System Quality Management
- Software Quality Management
- Fundamentals of Software Quality
- Quality control and Reliability
- Quality Management System
- Defect Analysis
- Software Quality Assurance
- Statistical Software Quality Assurance
- Software Reliability
- Software Safety
Agile Software Systems Engineering
- Principles of Agile Methods
- Agile Method Applicability
- Agile Methods and Software Maintenance
- Plan Driven and Agile Development
- Extreme Programming
- System Engineering for Agile Software Development
- Agile System Engineering Processes
- Systems Engineering Agile Systems
Agile Software Development
- Agile Process Philosophy
- Agile Software Development Methodologies
- Extreme Programming
- Dynamic System Development Method
- Adaptive Software Development
- Crystal Methods
- Scrum
- XP
- Agile Unified Process
- Lean Software Development
- Feature Driven Development
- Business Benefits of Software Agility
- Rational Unified Process (RUM)
Verification and Validation
- Software Inspections
- Design Reviews
- Formal and Informal Reviews
- Software Testing
- Software Test Techniques
- Software Test Tools
- Software Demonstration
- Software Prototyping
- Software Simulation
- Independent Verification and Validation
Software Construction
- Code Complexity
- Coding Process
- Requirements for Coding
- Assessing Code Quality
- Developing Code Standards
Distributed Software Systems
- Concept of distributed software
- Distributed system characteristic
- Resource sharing
- Concurrency
- Scalability
- Fault tolerance
- Transparency
- Disadvantages of distributed software systems
- Distributed system architectures
- Multiprocessor architecture
- Client server architecture
- Distributed object
- COBRA
- Object request broker
Hands-on and In-Class Activities
- Labs
- Workshops
- Group Activities
Sample Workshops and Labs for Introduction to Software Engineering
- Role of Software Case Study
- Waterfall Model Example
- Software Crisis for a Given Scenario
- Plan Driven Software Development versus Agile Driven Development
- Personal Health monitoring
- Software Development Model Case Study
- Requirement Development Experiment
- Parking Garage Automation
- Traffic Monitoring
- Requirement Elicitation Case Study
- Software Design Example
- Restaurant Automation Example
- Multiprocessor Traffic Control System Example
- A Client Server ATM System
- Software Performance Testing Case
- Internet Banking System
- Workshop on How to Write a Software Project Proposal
Comments
Post a Comment