json
{
"lesson12": {
"system development methodologies": [
"guideline, sdlc, technique, team do work",
"tools to build, record, code",
"company be informal, chaotic"
],
"models": [
"record, communicate info, representation world, abstraction"
],
"models used in sys dev": [
"diagrams, use-case, domain model, sequence, package, screen, dialog, erd, schema",
"prj plan, gannt, org hierar, financ analysis, sdlc stakeholder, iteration"
],
"tools": ["staruml, ibm rational, ms project"],
"techniques": ["guideline, step-by-step, examples..."],
"agile development": [
"volatile marketplace, rapid resp, opportunities, survive",
"guideline for is, adaptive approach to sdlc",
"agile modelling, philosophy abt how to build model"
],
"agile development philosophy & value": [
"manifesto, responding change, individual, interaction, software, collaboration"
],
"charodic": [
"nickname for agile dev, unpredictable, chaos, order, mix other models"
],
"important aspect of agile development": [
"involve customers, part of tech team, define requirements, testing"
],
"agile development princiles": [
"!lessmodel, right model, stay on track, attitude, !dictate model",
"develop, effort, minimize activity, change, model purpose, multiple models",
"build many models, feedback, content eye, learn, use, adapt, roi"
]
},
"lesson11": {
"system development life cycle": [
"new system development, info conceived, design, build, deploy, production",
"system updated, modified, repaired: small projects, projects++ : develop, upgrade"
],
"predictive approach to sdlc": [
"plan, organized, develop, building, system"
],
"adaptive approach to sdlc": [
"!understand, !planned, developers flexible, adapt"
],
"predictive & adaptive approach to sdlc": ["pg 479"],
"traditional predictive approach to sdlc": [
"prj initiation, planning, analysis, design, implementation, deployment",
"support phase, sequential activities"
],
"waterfall model": [
"prj initiation, planning, analysis, design, implementation, deployment",
"sequential, !going back, rigid planning, final decision making, !always work well"
],
"adaptive approach to sdlc - 11": [
"iteration, mini-prj",
"adapt, feedback, incremental development"
],
"incremental development": [
"iterative life cycle, small increments, iteration count?, integrated, organic, users*"
],
"walking skeleton": ["front-to-back, few iterations, flesh, users*"],
"incremental development & walking skeleton": [
"user testing, feedback to team"
]
},
"lesson10": {
"user interface during analysis activity": [
"i/o discussion, layout, storyboard",
"models, sample layouts"
],
"user design need to consider": ["ux, device, type, os"],
"user experience": ["interaction, senses, anticipation"],
"user interface": [
"i/o, see/interact, visible system",
"purpose, user/device charateristics",
"elements, !added near production"
],
"user centered design principles": [
"focus, evaluate, iterative development"
],
"usability": [
"easily learn/use, !easy usability, !too flexible, !too rigid",
"easy (learning != use)"
],
"easy to use": ["flexible interface, shortcuts"],
"understanding ux and ui - metaphors": [
"easy use/learn, analogies, wide application"
],
"metaphors": ["direct manipulation, desktop, document, dialog"],
"fundamental principles of ui design": [
"hio, consistency, discoverability, closure, readability, nav, usability, efficiency...",
"human-interface objects (hio) manipulate"
],
"human-interface objects": [
"affordance - transparency",
"visual feedback"
],
"consistency": ["effectiveness, platforms, apps external & internal"],
"consistency vs continuity": [
"changes, maintain consistency, add features + consistency"
],
"discoverability": ["active discovery, visual diagrams"],
"active discovery": ["hidden features"],
"discoverability-2": ["expressive"],
"closure": {
"single-step": "popup",
"multi-step": "continue, finish"
},
"readability and navigation": [
"way out, clear, readable",
"different screens readability"
],
"usability and effeciency": ["shortcut, error msg, simple ui"],
"user interface design built from": [
"use case desc, activity diagrams, system sequence diagrams"
],
"transitioning from analysis to ui design": [
"use case & menu hierarchy"
],
"use case and menu hierarchy - menu": [
"organize and invoke use case, choices, group for easy locate",
"no of menu items"
],
"analysis models and input forms": ["system sequence diagram"],
"dialogues and storyboards": [""],
"ui design accounting devices": ["mobile, tablet, web based apps"]
},
"lesson08": {
"introduction": {
"requirements": ["neutral, choosable"],
"design": ["choose tech, adapt, modify"]
},
"web based system": ["amazon"],
"server": [
"computer group, share resource, access, rent, interconnected"
],
"networks": ["computer network, interconnect"],
"backbone": ["high cap, high speed, gov owned"],
"local area network": ["home"],
"world wide web": ["interconnected"],
"web resources": ["static, email, software"],
"url": ["uniform resource locator"],
"hyperlink": ["embed"],
"software": {
"application": ["perform task, app, web-based"],
"system": [
"behind scene, control, interact, e.g.=os,db,web browser, web server software"
],
"web-based apps": [
"primary ui, url access, web server, server-client comms",
"cost: security, performance"
],
"embedded software": ["gui, touch, gesture, reuse them"],
"reuse benefits": ["similar, toolkits automate, interface"]
},
"protocols": [
"lang, rule, procedure to exchange data and coordinate b/w hardware & software",
"hardware, software, network component operate on protocol"
],
"network protocols": [
"transmission, sender/recipient, lost msg, widely implemented"
],
"firewalls": ["examine i/o packets, !block by firewall"],
"vpn": ["isolate, ssl, secure ip, encrypt msg"],
"http": [
"format and content, commands, browser=GET, retransmission=POST"
],
"https": ["secure protocol,identify sender, encrypt network msg"],
"architecture": {
"technology": ["set(hw,network hw,topology,sftw), infrastructure"],
"application": [
"set(sftw app), techArchitecture.deloy().distribute(component).connect()"
]
},
"saas": ["3rd party, serverSide, performance=clientSide"],
"web service": [
"internet accessible, smaller, focused app",
"criteria: called app<->app, accept input, server executes, return result",
"embedded, ... knowledge*"
],
"distributed architectures": ["client server"],
"interoperability": [
"component1/system1 <-(interact)-> component2/system2",
"hardware, software work tgt",
"sys deisigners understand, describe env",
"look existing software"
],
"architectural diagrams": ["location, network, deployment"],
"describing the environment": {
"key": ["external system, technological architecture"]
},
"design application components": [
"unit of sftw, perform task, functionality",
"modular, deployable, repalceable, exposes thru interface",
{
"designers": {
"think": "singleComponent.perform(analysisFunctions)",
"break down": "factoring",
"consider": "group sftw by similarities"
}
}
],
"application component boundaries": [""],
"deployment diagram": {
"reps": ["phone sale, store sale"],
"others": ["customer, shipping, management"]
}
},
"lesson07": {
"systemsDesign": [
"starting point, implementing solution, coordinate with multiple people, analysis activities:diagrams",
"model-building activity, analysis(...convert()...)",
{
"diagram": "design class, interaction, design state, package, component, deployment"
}
],
"systemDesignActivities": [
"deploy? howSystemWork?, parallel activities"
],
"describe the environment": {
"externalSystem": "analysisActivities, incoming message information",
"technologyArchitecture": "(hardware), topology, org.deploy()",
"question": "feature, database, i/o device, ui tech"
},
"design the application components": {
"def": "softUnit => tasks.perform()",
"consider": "size/scope, programming lang, build/buy",
"keyDecision": "during app components ... ?group functions, ?interact",
"designingStep": "software -> subsystem, db infrastructure, multilayer design, tech impact decision"
},
"design the ui": {
"dealing": "multiple screen, touch, voice, camera, interact",
"analysis": "understand needs, ?user do job, physical context",
"design": "distribution packaging, incorporate device capabilities and firmware into interface"
},
"design the db": [
"create db implementation model, created during sys analysis",
"file.txt, relational db, system.has(file, db), tuning ",
"securityIssue, db(replicate || partition), distribute, experts"
],
"design the software classes and methods": {
"components": [
"software blueprint.then(test(), deploy())",
"diagrams: sequence, state-machine, domain"
]
},
"system controls and security": {
"def": "risks,malfunctions",
"controls": {
"integrity controls": "invalid = rej, !unauthorized output, !te,pering",
"security controls": "protect assets"
}
}
},
"lesson06": {
"use case description": {},
"activity diagrams for use case": {},
"system sequence diagram": {},
"SSD Notation": {},
"developing SSD": {},
"use case and CRUD": {},
"integrating requirements models": {}
},
"lesson05": {
"domain class": {},
"brainstorming technique": {},
"noun technique": {},
"attribute of things": {},
"association among things": {},
"domain model class diagram": {},
"domain model class diagram notation": {},
"complex issues about class of objects": {},
"generalization/specialization relationships": {},
"whole part relationships": {},
"the state machine diagram - identifying obj behaviour": {}
},
"lesson04": {
"use case diagrams": {},
"activity diagrams": {},
"domain model class diagram": {},
"state machine diagram": {},
"sequence diagram": {}
},
"lesson03": {},
"lesson02": {},
"lesson01": {}
}Last updated on January 15, 2023