quartz/content/notes/review-i201.md
2022-06-13 10:42:47 +12:00

3.6 KiB

title aliases tags
review-i201

soft. dev. methods

requirements engineering

business functions and use cases

  • business functions - how to identify
  • use cases - how to model
  • uml use case diagrams
    • actors usecases
    • associations, dependencies

BPM

  • business processes and how the are modelled
  • BPMN vs (high level) UML activity

Data modelling

  • erd concepts
    • subtypes
    • parrallel and reursive relationships
    • historical data
  • normalisation
    • redundancy and anomalies
    • function and multivaly dependencies
    • normal forms

Modelling object structure

  • oop concepts
    • state behaviiour encapsilation
    • class vs instance, object reference
  • uml diagrams
    • steriotypes, visibility, multiplicity
    • specialsation/generalisation, navigability
    • erd vs class diagram

object behaviour

  • inheritance
    • specialisation vs implementing an interface
    • separation of public private API (programming to interface)
  • rich vs anaemic domaini models "processor objects"
  • modelling behaviour with uml
    • sequnce diagrams
    • low level activity and state diagrams

round trip engineering

  • foward engineering
    • erd -> SQL
    • uml class diagram -> e.g., java
    • correspondenc with use cases
  • reverse engineering (code <- diagrams)

Data access

  • data persistence file vs database
  • database APIs (JDBC etc)
  • DAOs - oner per use case (not just per domain class) - often programming via DAO interface

Database transactions

  • ACID
  • what and why
  • commit vs rollback

SQL select

  • select from where
  • sorting grouping aggregation
  • view, inner and outer joins, subqueries

data integrity

  • nulls and their issues
  • business rules, databas contrainsts, veification, validation
  • in-database vs outside database
  • in data base automation: sequence, triggers, stored procedures

softare architectures, patterns, and templates

  • monolithic vs client/server vs distributed (services)
  • separation of reponsilbilities
  • "standard patters" of design (recognise)
  • sysstem templates

performance and security

  • performance requirements
    • how to quantify and measure
    • response time, workload, scalability
    • caching pooling
    • system reliability
  • security and integrity requirements
    • consider throughout development
    • authentication and authorisation
    • principle of least privilege

cost benefit analysis

  • project feasbility
    • need, funding, strong will
    • duration, priority, rick, uncertainty
    • should we, can we, is it worth it?
  • economic feasibility:
    • costs vs benefits (tangigble/intangible)
    • payback time (break even), NPV, ROI