Software Engineering - from Aud:
What is Software Engineering? What is a Software Engineer?
Software Engineering is the application of engineering concepts, techniques
and methods to the development of software systems. A "Software Engineer"
is a person who understands the fundamental concepts of computing,
and who possesses the skills and abilities to apply these concepts to the
creation of useful, cost-effective and high-quality software systems.
Elements of Software Engineering
- Project Planning (project scoping and justification)
- Requirements specification and validation using formal techniques
- Specifying a Software Architecture with respect to:
- Scalability
- Inter-operability
- Performance
- Configurability
- Distribution (e.g., Three-tiered architectures)
- Concurrency
- Choosing Software Architectures
- Rules-based architecture
- Object-based architecture
- Component-based architecture
- Software Analysis and Design
- Using CASE (Computer-Aided Software Engineering) Technology
- Using Modelling languages and software methodologies (e.g., Booch)
- Group review process
- Buying vs. Building Software components
- Evaluating vendor solutions
- Systems integration
- Rapid Prototyping for Proof-of-concept
- Programming languages used for Prototyping (e.g., Visual Basic)
- Human Factors Engineering
- Designing effective human/computer interfaces
- Being a part of a Development Team
- Oral communication
- Technical writing
- Project Management
- Reviewing deliverables
- Applying Basic Principles of Computing
- Digital Systems
- Machine Organization
- Applying Computer Software Basics
- State-of-the-art programming languages
- Data Structures
- Object-Oriented paradigm
- Algorithm Design and Analysis
- Applying Fundamentals of Distributed Systems
- Operating Systems
- Networking
- Client/Server
- Databases
- Data Communications
- Adhering to Computing Standards and Ethics
- Government groups
- Industry groups (e.g., OMG)
- Testing standards
- Documentation standards
- Coding standards
- Review process standards
- Quality Assurance
- Quality metrics
- Test verification and automation
- Test coverage metrics
- Risk management
- Change control
email Aud
Aud's Homepage