DEV Community

SIYUM
SIYUM

Posted on

Software Engineering - FAQ

What is Software Engineering?

Engineering discipline that concerned with every stage of software development and maintenance

What is a Software

A set of instructions to perform a specific task

Software Developer

A highly skilled profession with coding skills

Software Engineer

A highly skilled profession with coding skill mathematical skills

Software Engineering Activities

  • Specification
  • Development
  • Validation
  • Evolution

Types of software products

  • Generic
  • Bespoke

Software Engineering Diversity

  • Entertainment System
  • Transactional System
  • Simulations
  • Embedded Control System
  • Data collection system

Software Engineering team roles

  • FE/BE Engineer
  • QA Engineer
  • Tester
  • Tech Lead

Software Engineering Ethics

  • Confidentiality
  • Competency
  • Intellectual Property rights
  • Computer Misuse
  • Computer Science VS Software Engineering
  • Computer science is focusing on Theories and fundamentals.
  • SE is focusing on Practicalities

SDLC

SDLC is the process of Planning to implementation and operation.
It consists of documentation

  1. Planning Feasibility Study Areas
    • Technical
    • Operational
    • Legal
    • Schedule
    • Economical

2.Gathering requirements

3.Design and Prototype

  • Architecture
  • UI
  • Programming
  • Platform
  • Communication
  • Security

4.Developing
5.Testing
6.Deployment
7.Maintainance and Operation

Uses of SDLC

Assure the quality of the product
Easy for developers to develop

Attributes of a Good Software

  • Maintainability
  • Efficiency
  • Acceptability
  • Dependability
  • Security

Types of requirements

  • Functional - It is required for the system’s function(They are must for operation)
    FaceBook

    • User login for the system(Authentication)
    • Adding posts
    • Commenting
    • Liking the post
  • Non Functional - It is not required directly, but it is required circulatory.

    • Allow users to use either mouse or keyboard
    • Allow user to change focus
    • Providing feedback

User requirements and System requirements

  • User Requirements - The requirements that users need, in natural language

    • Functional : Account create, Account Login
    • Non Functional : Dark Mode, Loading speed, Ads, Animation
  • System Requirements - The requirements that need for the system’s function

    • Functional : Login data secure, Should be able to register a customer
    • Non Functional : Ability to change the mode

Software Process Model

  • Set of related activities to the software development
    • V Model
    • Waterfall
    • Spiral
    • Prototype
    • Iteractive
    • Incremental

Process Maturity Approach

  • Agile Approach : Focus on iterative development and reduction of overhead

  • Process Maturity Approach : Focused on improving process and project management

Top comments (0)