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

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay