diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..9843aa64 --- /dev/null +++ b/404.html @@ -0,0 +1,2478 @@ + + + + + + + + + + + + + + + + + + + Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 00000000..1cf13b9f Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/javascripts/bundle.6c14ae12.min.js b/assets/javascripts/bundle.6c14ae12.min.js new file mode 100644 index 00000000..bbff7768 --- /dev/null +++ b/assets/javascripts/bundle.6c14ae12.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var wi=Object.create;var ur=Object.defineProperty;var Si=Object.getOwnPropertyDescriptor;var Ti=Object.getOwnPropertyNames,kt=Object.getOwnPropertySymbols,Oi=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty,Zr=Object.prototype.propertyIsEnumerable;var Xr=(e,t,r)=>t in e?ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t)=>{for(var r in t||(t={}))dr.call(t,r)&&Xr(e,r,t[r]);if(kt)for(var r of kt(t))Zr.call(t,r)&&Xr(e,r,t[r]);return e};var eo=(e,t)=>{var r={};for(var o in e)dr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&kt)for(var o of kt(e))t.indexOf(o)<0&&Zr.call(e,o)&&(r[o]=e[o]);return r};var hr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Mi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ti(t))!dr.call(e,n)&&n!==r&&ur(e,n,{get:()=>t[n],enumerable:!(o=Si(t,n))||o.enumerable});return e};var Ht=(e,t,r)=>(r=e!=null?wi(Oi(e)):{},Mi(t||!e||!e.__esModule?ur(r,"default",{value:e,enumerable:!0}):r,e));var ro=hr((br,to)=>{(function(e,t){typeof br=="object"&&typeof to!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(br,function(){"use strict";function e(r){var o=!0,n=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(C){return!!(C&&C!==document&&C.nodeName!=="HTML"&&C.nodeName!=="BODY"&&"classList"in C&&"contains"in C.classList)}function c(C){var it=C.type,Ue=C.tagName;return!!(Ue==="INPUT"&&s[it]&&!C.readOnly||Ue==="TEXTAREA"&&!C.readOnly||C.isContentEditable)}function p(C){C.classList.contains("focus-visible")||(C.classList.add("focus-visible"),C.setAttribute("data-focus-visible-added",""))}function l(C){C.hasAttribute("data-focus-visible-added")&&(C.classList.remove("focus-visible"),C.removeAttribute("data-focus-visible-added"))}function f(C){C.metaKey||C.altKey||C.ctrlKey||(a(r.activeElement)&&p(r.activeElement),o=!0)}function u(C){o=!1}function d(C){a(C.target)&&(o||c(C.target))&&p(C.target)}function v(C){a(C.target)&&(C.target.classList.contains("focus-visible")||C.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(C.target))}function b(C){document.visibilityState==="hidden"&&(n&&(o=!0),z())}function z(){document.addEventListener("mousemove",G),document.addEventListener("mousedown",G),document.addEventListener("mouseup",G),document.addEventListener("pointermove",G),document.addEventListener("pointerdown",G),document.addEventListener("pointerup",G),document.addEventListener("touchmove",G),document.addEventListener("touchstart",G),document.addEventListener("touchend",G)}function K(){document.removeEventListener("mousemove",G),document.removeEventListener("mousedown",G),document.removeEventListener("mouseup",G),document.removeEventListener("pointermove",G),document.removeEventListener("pointerdown",G),document.removeEventListener("pointerup",G),document.removeEventListener("touchmove",G),document.removeEventListener("touchstart",G),document.removeEventListener("touchend",G)}function G(C){C.target.nodeName&&C.target.nodeName.toLowerCase()==="html"||(o=!1,K())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",b,!0),z(),r.addEventListener("focus",d,!0),r.addEventListener("blur",v,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var Vr=hr((Ot,Dr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof Ot=="object"&&typeof Dr=="object"?Dr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Ot=="object"?Ot.ClipboardJS=r():t.ClipboardJS=r()})(Ot,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Ei}});var s=i(279),a=i.n(s),c=i(370),p=i.n(c),l=i(817),f=i.n(l);function u(W){try{return document.execCommand(W)}catch(O){return!1}}var d=function(O){var S=f()(O);return u("cut"),S},v=d;function b(W){var O=document.documentElement.getAttribute("dir")==="rtl",S=document.createElement("textarea");S.style.fontSize="12pt",S.style.border="0",S.style.padding="0",S.style.margin="0",S.style.position="absolute",S.style[O?"right":"left"]="-9999px";var $=window.pageYOffset||document.documentElement.scrollTop;return S.style.top="".concat($,"px"),S.setAttribute("readonly",""),S.value=W,S}var z=function(O,S){var $=b(O);S.container.appendChild($);var F=f()($);return u("copy"),$.remove(),F},K=function(O){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},$="";return typeof O=="string"?$=z(O,S):O instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(O==null?void 0:O.type)?$=z(O.value,S):($=f()(O),u("copy")),$},G=K;function C(W){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(S){return typeof S}:C=function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S},C(W)}var it=function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},S=O.action,$=S===void 0?"copy":S,F=O.container,Q=O.target,_e=O.text;if($!=="copy"&&$!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Q!==void 0)if(Q&&C(Q)==="object"&&Q.nodeType===1){if($==="copy"&&Q.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if($==="cut"&&(Q.hasAttribute("readonly")||Q.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(_e)return G(_e,{container:F});if(Q)return $==="cut"?v(Q):G(Q,{container:F})},Ue=it;function Pe(W){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Pe=function(S){return typeof S}:Pe=function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S},Pe(W)}function ui(W,O){if(!(W instanceof O))throw new TypeError("Cannot call a class as a function")}function Jr(W,O){for(var S=0;S0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof F.action=="function"?F.action:this.defaultAction,this.target=typeof F.target=="function"?F.target:this.defaultTarget,this.text=typeof F.text=="function"?F.text:this.defaultText,this.container=Pe(F.container)==="object"?F.container:document.body}},{key:"listenClick",value:function(F){var Q=this;this.listener=p()(F,"click",function(_e){return Q.onClick(_e)})}},{key:"onClick",value:function(F){var Q=F.delegateTarget||F.currentTarget,_e=this.action(Q)||"copy",Ct=Ue({action:_e,container:this.container,target:this.target(Q),text:this.text(Q)});this.emit(Ct?"success":"error",{action:_e,text:Ct,trigger:Q,clearSelection:function(){Q&&Q.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(F){return fr("action",F)}},{key:"defaultTarget",value:function(F){var Q=fr("target",F);if(Q)return document.querySelector(Q)}},{key:"defaultText",value:function(F){return fr("text",F)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(F){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return G(F,Q)}},{key:"cut",value:function(F){return v(F)}},{key:"isSupported",value:function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Q=typeof F=="string"?[F]:F,_e=!!document.queryCommandSupported;return Q.forEach(function(Ct){_e=_e&&!!document.queryCommandSupported(Ct)}),_e}}]),S}(a()),Ei=yi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==n;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}o.exports=s},438:function(o,n,i){var s=i(828);function a(l,f,u,d,v){var b=p.apply(this,arguments);return l.addEventListener(u,b,v),{destroy:function(){l.removeEventListener(u,b,v)}}}function c(l,f,u,d,v){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof u=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(b){return a(b,f,u,d,v)}))}function p(l,f,u,d){return function(v){v.delegateTarget=s(v.target,f),v.delegateTarget&&d.call(l,v)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(o,n,i){var s=i(879),a=i(438);function c(u,d,v){if(!u&&!d&&!v)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(v))throw new TypeError("Third argument must be a Function");if(s.node(u))return p(u,d,v);if(s.nodeList(u))return l(u,d,v);if(s.string(u))return f(u,d,v);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function p(u,d,v){return u.addEventListener(d,v),{destroy:function(){u.removeEventListener(d,v)}}}function l(u,d,v){return Array.prototype.forEach.call(u,function(b){b.addEventListener(d,v)}),{destroy:function(){Array.prototype.forEach.call(u,function(b){b.removeEventListener(d,v)})}}}function f(u,d,v){return a(document.body,u,d,v)}o.exports=c},817:function(o){function n(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),p=document.createRange();p.selectNodeContents(i),c.removeAllRanges(),c.addRange(p),s=c.toString()}return s}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,s,a){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var c=this;function p(){c.off(i,p),s.apply(a,arguments)}return p._=s,this.on(i,p,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),c=0,p=a.length;for(c;c{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var Ha=/["'&<>]/;Nn.exports=$a;function $a(e){var t=""+e,r=Ha.exec(t);if(!r)return t;var o,n="",i=0,s=0;for(i=r.index;i0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function N(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],s;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(a){s={error:a}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return i}function D(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||a(u,d)})})}function a(u,d){try{c(o[u](d))}catch(v){f(i[0][3],v)}}function c(u){u.value instanceof Ze?Promise.resolve(u.value.v).then(p,l):f(i[0][2],u)}function p(u){a("next",u)}function l(u){a("throw",u)}function f(u,d){u(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function io(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof we=="function"?we(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),n(a,c,s.done,s.value)})}}function n(i,s,a,c){Promise.resolve(c).then(function(p){i({value:p,done:a})},s)}}function k(e){return typeof e=="function"}function at(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Rt=at(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function De(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=we(s),c=a.next();!c.done;c=a.next()){var p=c.value;p.remove(this)}}catch(b){t={error:b}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var l=this.initialTeardown;if(k(l))try{l()}catch(b){i=b instanceof Rt?b.errors:[b]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=we(f),d=u.next();!d.done;d=u.next()){var v=d.value;try{ao(v)}catch(b){i=i!=null?i:[],b instanceof Rt?i=D(D([],N(i)),N(b.errors)):i.push(b)}}}catch(b){o={error:b}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new Rt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ao(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&De(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&De(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var gr=Ie.EMPTY;function Pt(e){return e instanceof Ie||e&&"closed"in e&&k(e.remove)&&k(e.add)&&k(e.unsubscribe)}function ao(e){k(e)?e():e.unsubscribe()}var Ae={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var st={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,s=n.isStopped,a=n.observers;return i||s?gr:(this.currentObservers=null,a.push(r),new Ie(function(){o.currentObservers=null,De(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,s=o.isStopped;n?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new P;return r.source=this,r},t.create=function(r,o){return new ho(r,o)},t}(P);var ho=function(e){ie(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:gr},t}(x);var yt={now:function(){return(yt.delegate||Date).now()},delegate:void 0};var Et=function(e){ie(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=yt);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,s=o._infiniteTimeWindow,a=o._timestampProvider,c=o._windowTime;n||(i.push(r),!s&&i.push(a.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,s=n._buffer,a=s.slice(),c=0;c0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=lt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var s=r.actions;o!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==o&&(lt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(jt);var go=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(Wt);var Oe=new go(vo);var L=new P(function(e){return e.complete()});function Nt(e){return e&&k(e.schedule)}function Or(e){return e[e.length-1]}function Qe(e){return k(Or(e))?e.pop():void 0}function Me(e){return Nt(Or(e))?e.pop():void 0}function Ut(e,t){return typeof Or(e)=="number"?e.pop():t}var mt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Dt(e){return k(e==null?void 0:e.then)}function Vt(e){return k(e[pt])}function zt(e){return Symbol.asyncIterator&&k(e==null?void 0:e[Symbol.asyncIterator])}function qt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Pi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Kt=Pi();function Qt(e){return k(e==null?void 0:e[Kt])}function Yt(e){return no(this,arguments,function(){var r,o,n,i;return $t(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,Ze(r.read())];case 3:return o=s.sent(),n=o.value,i=o.done,i?[4,Ze(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,Ze(n)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function Bt(e){return k(e==null?void 0:e.getReader)}function I(e){if(e instanceof P)return e;if(e!=null){if(Vt(e))return Ii(e);if(mt(e))return Fi(e);if(Dt(e))return ji(e);if(zt(e))return xo(e);if(Qt(e))return Wi(e);if(Bt(e))return Ni(e)}throw qt(e)}function Ii(e){return new P(function(t){var r=e[pt]();if(k(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Fi(e){return new P(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?M(function(n,i){return e(n,i,o)}):ue,xe(1),r?He(t):Io(function(){return new Jt}))}}function Fo(){for(var e=[],t=0;t=2,!0))}function le(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new x}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,c=a===void 0?!0:a;return function(p){var l,f,u,d=0,v=!1,b=!1,z=function(){f==null||f.unsubscribe(),f=void 0},K=function(){z(),l=u=void 0,v=b=!1},G=function(){var C=l;K(),C==null||C.unsubscribe()};return g(function(C,it){d++,!b&&!v&&z();var Ue=u=u!=null?u:r();it.add(function(){d--,d===0&&!b&&!v&&(f=Hr(G,c))}),Ue.subscribe(it),!l&&d>0&&(l=new tt({next:function(Pe){return Ue.next(Pe)},error:function(Pe){b=!0,z(),f=Hr(K,n,Pe),Ue.error(Pe)},complete:function(){v=!0,z(),f=Hr(K,s),Ue.complete()}}),I(C).subscribe(l))})(p)}}function Hr(e,t){for(var r=[],o=2;oe.next(document)),e}function q(e,t=document){return Array.from(t.querySelectorAll(e))}function U(e,t=document){let r=se(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function se(e,t=document){return t.querySelector(e)||void 0}function Re(){return document.activeElement instanceof HTMLElement&&document.activeElement||void 0}var na=_(h(document.body,"focusin"),h(document.body,"focusout")).pipe(ke(1),V(void 0),m(()=>Re()||document.body),J(1));function Zt(e){return na.pipe(m(t=>e.contains(t)),X())}function Je(e){return{x:e.offsetLeft,y:e.offsetTop}}function Uo(e){return _(h(window,"load"),h(window,"resize")).pipe(Ce(0,Oe),m(()=>Je(e)),V(Je(e)))}function er(e){return{x:e.scrollLeft,y:e.scrollTop}}function dt(e){return _(h(e,"scroll"),h(window,"resize")).pipe(Ce(0,Oe),m(()=>er(e)),V(er(e)))}function Do(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)Do(e,r)}function T(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)Do(o,n);return o}function tr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function ht(e){let t=T("script",{src:e});return H(()=>(document.head.appendChild(t),_(h(t,"load"),h(t,"error").pipe(E(()=>Mr(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),A(()=>document.head.removeChild(t)),xe(1))))}var Vo=new x,ia=H(()=>typeof ResizeObserver=="undefined"?ht("https://unpkg.com/resize-observer-polyfill"):j(void 0)).pipe(m(()=>new ResizeObserver(e=>{for(let t of e)Vo.next(t)})),E(e=>_(Ve,j(e)).pipe(A(()=>e.disconnect()))),J(1));function he(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ye(e){return ia.pipe(w(t=>t.observe(e)),E(t=>Vo.pipe(M(({target:r})=>r===e),A(()=>t.unobserve(e)),m(()=>he(e)))),V(he(e)))}function bt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function zo(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var qo=new x,aa=H(()=>j(new IntersectionObserver(e=>{for(let t of e)qo.next(t)},{threshold:0}))).pipe(E(e=>_(Ve,j(e)).pipe(A(()=>e.disconnect()))),J(1));function rr(e){return aa.pipe(w(t=>t.observe(e)),E(t=>qo.pipe(M(({target:r})=>r===e),A(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function Ko(e,t=16){return dt(e).pipe(m(({y:r})=>{let o=he(e),n=bt(e);return r>=n.height-o.height-t}),X())}var or={drawer:U("[data-md-toggle=drawer]"),search:U("[data-md-toggle=search]")};function Qo(e){return or[e].checked}function Ke(e,t){or[e].checked!==t&&or[e].click()}function We(e){let t=or[e];return h(t,"change").pipe(m(()=>t.checked),V(t.checked))}function sa(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function ca(){return _(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(V(!1))}function Yo(){let e=h(window,"keydown").pipe(M(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:Qo("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),M(({mode:t,type:r})=>{if(t==="global"){let o=Re();if(typeof o!="undefined")return!sa(o,r)}return!0}),le());return ca().pipe(E(t=>t?L:e))}function pe(){return new URL(location.href)}function ot(e,t=!1){if(te("navigation.instant")&&!t){let r=T("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function Bo(){return new x}function Go(){return location.hash.slice(1)}function nr(e){let t=T("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function pa(e){return _(h(window,"hashchange"),e).pipe(m(Go),V(Go()),M(t=>t.length>0),J(1))}function Jo(e){return pa(e).pipe(m(t=>se(`[id="${t}"]`)),M(t=>typeof t!="undefined"))}function Fr(e){let t=matchMedia(e);return Xt(r=>t.addListener(()=>r(t.matches))).pipe(V(t.matches))}function Xo(){let e=matchMedia("print");return _(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(V(e.matches))}function jr(e,t){return e.pipe(E(r=>r?t():L))}function ir(e,t){return new P(r=>{let o=new XMLHttpRequest;o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network Error"))}),o.addEventListener("abort",()=>{r.error(new Error("Request aborted"))}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let i=Number(o.getResponseHeader("Content-Length"))||0;t.progress$.next(n.loaded/i*100)}}),t.progress$.next(5)),o.send()})}function Ne(e,t){return ir(e,t).pipe(E(r=>r.text()),m(r=>JSON.parse(r)),J(1))}function Zo(e,t){let r=new DOMParser;return ir(e,t).pipe(E(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),J(1))}function en(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function tn(){return _(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(en),V(en()))}function rn(){return{width:innerWidth,height:innerHeight}}function on(){return h(window,"resize",{passive:!0}).pipe(m(rn),V(rn()))}function nn(){return B([tn(),on()]).pipe(m(([e,t])=>({offset:e,size:t})),J(1))}function ar(e,{viewport$:t,header$:r}){let o=t.pipe(ee("size")),n=B([o,r]).pipe(m(()=>Je(e)));return B([r,t,n]).pipe(m(([{height:i},{offset:s,size:a},{x:c,y:p}])=>({offset:{x:s.x-c,y:s.y-p+i},size:a})))}function la(e){return h(e,"message",t=>t.data)}function ma(e){let t=new x;return t.subscribe(r=>e.postMessage(r)),t}function an(e,t=new Worker(e)){let r=la(t),o=ma(t),n=new x;n.subscribe(o);let i=o.pipe(Z(),re(!0));return n.pipe(Z(),qe(r.pipe(Y(i))),le())}var fa=U("#__config"),vt=JSON.parse(fa.textContent);vt.base=`${new URL(vt.base,pe())}`;function me(){return vt}function te(e){return vt.features.includes(e)}function be(e,t){return typeof t!="undefined"?vt.translations[e].replace("#",t.toString()):vt.translations[e]}function Ee(e,t=document){return U(`[data-md-component=${e}]`,t)}function oe(e,t=document){return q(`[data-md-component=${e}]`,t)}function ua(e){let t=U(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>U(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function sn(e){if(!te("announce.dismiss")||!e.childElementCount)return L;if(!e.hidden){let t=U(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return H(()=>{let t=new x;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),ua(e).pipe(w(r=>t.next(r)),A(()=>t.complete()),m(r=>R({ref:e},r)))})}function da(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function cn(e,t){let r=new x;return r.subscribe(({hidden:o})=>{e.hidden=o}),da(e,t).pipe(w(o=>r.next(o)),A(()=>r.complete()),m(o=>R({ref:e},o)))}function ha(e,t){let r=H(()=>B([Uo(e),dt(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:s,height:a}=he(e);return{x:o-i.x+s/2,y:n-i.y+a/2}}));return Zt(e).pipe(E(o=>r.pipe(m(n=>({active:o,offset:n})),xe(+!o||1/0))))}function pn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return H(()=>{let i=new x,s=i.pipe(Z(),re(!0));return i.subscribe({next({offset:a}){e.style.setProperty("--md-tooltip-x",`${a.x}px`),e.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),rr(e).pipe(Y(s)).subscribe(a=>{e.toggleAttribute("data-md-visible",a)}),_(i.pipe(M(({active:a})=>a)),i.pipe(ke(250),M(({active:a})=>!a))).subscribe({next({active:a}){a?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Ce(16,Oe)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(Pr(125,Oe),M(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?e.style.setProperty("--md-tooltip-0",`${-a}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(Y(s),M(a=>!(a.metaKey||a.ctrlKey))).subscribe(a=>{a.stopPropagation(),a.preventDefault()}),h(n,"mousedown").pipe(Y(s),ne(i)).subscribe(([a,{active:c}])=>{var p;if(a.button!==0||a.metaKey||a.ctrlKey)a.preventDefault();else if(c){a.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(p=Re())==null||p.blur()}}),r.pipe(Y(s),M(a=>a===o),ze(125)).subscribe(()=>e.focus()),ha(e,t).pipe(w(a=>i.next(a)),A(()=>i.complete()),m(a=>R({ref:e},a)))})}function Wr(e){return T("div",{class:"md-tooltip",id:e},T("div",{class:"md-tooltip__inner md-typeset"}))}function ln(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return T("aside",{class:"md-annotation",tabIndex:0},Wr(t),T("a",{href:r,class:"md-annotation__index",tabIndex:-1},T("span",{"data-md-annotation-id":e})))}else return T("aside",{class:"md-annotation",tabIndex:0},Wr(t),T("span",{class:"md-annotation__index",tabIndex:-1},T("span",{"data-md-annotation-id":e})))}function mn(e){return T("button",{class:"md-clipboard md-icon",title:be("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}function Nr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(c=>!e.terms[c]).reduce((c,p)=>[...c,T("del",null,p)," "],[]).slice(0,-1),i=me(),s=new URL(e.location,i.base);te("search.highlight")&&s.searchParams.set("h",Object.entries(e.terms).filter(([,c])=>c).reduce((c,[p])=>`${c} ${p}`.trim(),""));let{tags:a}=me();return T("a",{href:`${s}`,class:"md-search-result__link",tabIndex:-1},T("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&T("div",{class:"md-search-result__icon md-icon"}),r>0&&T("h1",null,e.title),r<=0&&T("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(c=>{let p=a?c in a?`md-tag-icon md-tag--${a[c]}`:"md-tag-icon":"";return T("span",{class:`md-tag ${p}`},c)}),o>0&&n.length>0&&T("p",{class:"md-search-result__terms"},be("search.result.term.missing"),": ",...n)))}function fn(e){let t=e[0].score,r=[...e],o=me(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),s=r.findIndex(l=>l.scoreNr(l,1)),...c.length?[T("details",{class:"md-search-result__more"},T("summary",{tabIndex:-1},T("div",null,c.length>0&&c.length===1?be("search.result.more.one"):be("search.result.more.other",c.length))),...c.map(l=>Nr(l,1)))]:[]];return T("li",{class:"md-search-result__item"},p)}function un(e){return T("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>T("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?tr(r):r)))}function Ur(e){let t=`tabbed-control tabbed-control--${e}`;return T("div",{class:t,hidden:!0},T("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function dn(e){return T("div",{class:"md-typeset__scrollwrap"},T("div",{class:"md-typeset__table"},e))}function ba(e){let t=me(),r=new URL(`../${e.version}/`,t.base);return T("li",{class:"md-version__item"},T("a",{href:`${r}`,class:"md-version__link"},e.title))}function hn(e,t){return T("div",{class:"md-version"},T("button",{class:"md-version__current","aria-label":be("select.version")},t.title),T("ul",{class:"md-version__list"},e.map(ba)))}function va(e){return e.tagName==="CODE"?q(".c, .c1, .cm",e):[e]}function ga(e){let t=[];for(let r of va(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let s;for(;s=/(\(\d+\))(!)?/.exec(i.textContent);){let[,a,c]=s;if(typeof c=="undefined"){let p=i.splitText(s.index);i=p.splitText(a.length),t.push(p)}else{i.textContent=a,t.push(i);break}}}}return t}function bn(e,t){t.append(...Array.from(e.childNodes))}function sr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,s=new Map;for(let a of ga(t)){let[,c]=a.textContent.match(/\((\d+)\)/);se(`:scope > li:nth-child(${c})`,e)&&(s.set(c,ln(c,i)),a.replaceWith(s.get(c)))}return s.size===0?L:H(()=>{let a=new x,c=a.pipe(Z(),re(!0)),p=[];for(let[l,f]of s)p.push([U(".md-typeset",f),U(`:scope > li:nth-child(${l})`,e)]);return o.pipe(Y(c)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of p)l?bn(f,u):bn(u,f)}),_(...[...s].map(([,l])=>pn(l,t,{target$:r}))).pipe(A(()=>a.complete()),le())})}function vn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return vn(t)}}function gn(e,t){return H(()=>{let r=vn(e);return typeof r!="undefined"?sr(r,e,t):L})}var yn=Ht(Vr());var xa=0;function En(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return En(t)}}function xn(e){return ye(e).pipe(m(({width:t})=>({scrollable:bt(e).width>t})),ee("scrollable"))}function wn(e,t){let{matches:r}=matchMedia("(hover)"),o=H(()=>{let n=new x;if(n.subscribe(({scrollable:s})=>{s&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}),yn.default.isSupported()&&(e.closest(".copy")||te("content.code.copy")&&!e.closest(".no-copy"))){let s=e.closest("pre");s.id=`__code_${xa++}`,s.insertBefore(mn(s.id),e)}let i=e.closest(".highlight");if(i instanceof HTMLElement){let s=En(i);if(typeof s!="undefined"&&(i.classList.contains("annotate")||te("content.code.annotate"))){let a=sr(s,e,t);return xn(e).pipe(w(c=>n.next(c)),A(()=>n.complete()),m(c=>R({ref:e},c)),qe(ye(i).pipe(m(({width:c,height:p})=>c&&p),X(),E(c=>c?a:L))))}}return xn(e).pipe(w(s=>n.next(s)),A(()=>n.complete()),m(s=>R({ref:e},s)))});return te("content.lazy")?rr(e).pipe(M(n=>n),xe(1),E(()=>o)):o}function ya(e,{target$:t,print$:r}){let o=!0;return _(t.pipe(m(n=>n.closest("details:not([open])")),M(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(M(n=>n||!o),w(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Sn(e,t){return H(()=>{let r=new x;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),ya(e,t).pipe(w(o=>r.next(o)),A(()=>r.complete()),m(o=>R({ref:e},o)))})}var Tn=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var zr,wa=0;function Sa(){return typeof mermaid=="undefined"||mermaid instanceof Element?ht("https://unpkg.com/mermaid@9.4.3/dist/mermaid.min.js"):j(void 0)}function On(e){return e.classList.remove("mermaid"),zr||(zr=Sa().pipe(w(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Tn,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),J(1))),zr.subscribe(()=>{e.classList.add("mermaid");let t=`__mermaid_${wa++}`,r=T("div",{class:"mermaid"}),o=e.textContent;mermaid.mermaidAPI.render(t,o,(n,i)=>{let s=r.attachShadow({mode:"closed"});s.innerHTML=n,e.replaceWith(r),i==null||i(s)})}),zr.pipe(m(()=>({ref:e})))}var Mn=T("table");function Ln(e){return e.replaceWith(Mn),Mn.replaceWith(dn(e)),j({ref:e})}function Ta(e){let t=q(":scope > input",e),r=t.find(o=>o.checked)||t[0];return _(...t.map(o=>h(o,"change").pipe(m(()=>U(`label[for="${o.id}"]`))))).pipe(V(U(`label[for="${r.id}"]`)),m(o=>({active:o})))}function _n(e,{viewport$:t}){let r=Ur("prev");e.append(r);let o=Ur("next");e.append(o);let n=U(".tabbed-labels",e);return H(()=>{let i=new x,s=i.pipe(Z(),re(!0));return B([i,ye(e)]).pipe(Ce(1,Oe),Y(s)).subscribe({next([{active:a},c]){let p=Je(a),{width:l}=he(a);e.style.setProperty("--md-indicator-x",`${p.x}px`),e.style.setProperty("--md-indicator-width",`${l}px`);let f=er(n);(p.xf.x+c.width)&&n.scrollTo({left:Math.max(0,p.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),B([dt(n),ye(n)]).pipe(Y(s)).subscribe(([a,c])=>{let p=bt(n);r.hidden=a.x<16,o.hidden=a.x>p.width-c.width-16}),_(h(r,"click").pipe(m(()=>-1)),h(o,"click").pipe(m(()=>1))).pipe(Y(s)).subscribe(a=>{let{width:c}=he(n);n.scrollBy({left:c*a,behavior:"smooth"})}),te("content.tabs.link")&&i.pipe(je(1),ne(t)).subscribe(([{active:a},{offset:c}])=>{let p=a.innerText.trim();if(a.hasAttribute("data-md-switching"))a.removeAttribute("data-md-switching");else{let l=e.offsetTop-c.y;for(let u of q("[data-tabs]"))for(let d of q(":scope > input",u)){let v=U(`label[for="${d.id}"]`);if(v!==a&&v.innerText.trim()===p){v.setAttribute("data-md-switching",""),d.click();break}}window.scrollTo({top:e.offsetTop-l});let f=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([p,...f])])}}),i.pipe(Y(s)).subscribe(()=>{for(let a of q("audio, video",e))a.pause()}),Ta(e).pipe(w(a=>i.next(a)),A(()=>i.complete()),m(a=>R({ref:e},a)))}).pipe(rt(ae))}function An(e,{viewport$:t,target$:r,print$:o}){return _(...q(".annotate:not(.highlight)",e).map(n=>gn(n,{target$:r,print$:o})),...q("pre:not(.mermaid) > code",e).map(n=>wn(n,{target$:r,print$:o})),...q("pre.mermaid",e).map(n=>On(n)),...q("table:not([class])",e).map(n=>Ln(n)),...q("details",e).map(n=>Sn(n,{target$:r,print$:o})),...q("[data-tabs]",e).map(n=>_n(n,{viewport$:t})))}function Oa(e,{alert$:t}){return t.pipe(E(r=>_(j(!0),j(!1).pipe(ze(2e3))).pipe(m(o=>({message:r,active:o})))))}function Cn(e,t){let r=U(".md-typeset",e);return H(()=>{let o=new x;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Oa(e,t).pipe(w(n=>o.next(n)),A(()=>o.complete()),m(n=>R({ref:e},n)))})}function Ma({viewport$:e}){if(!te("header.autohide"))return j(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Le(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),X()),o=We("search");return B([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),X(),E(n=>n?r:j(!1)),V(!1))}function kn(e,t){return H(()=>B([ye(e),Ma(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),X((r,o)=>r.height===o.height&&r.hidden===o.hidden),J(1))}function Hn(e,{header$:t,main$:r}){return H(()=>{let o=new x,n=o.pipe(Z(),re(!0));return o.pipe(ee("active"),Ge(t)).subscribe(([{active:i},{hidden:s}])=>{e.classList.toggle("md-header--shadow",i&&!s),e.hidden=s}),r.subscribe(o),t.pipe(Y(n),m(i=>R({ref:e},i)))})}function La(e,{viewport$:t,header$:r}){return ar(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=he(e);return{active:o>=n}}),ee("active"))}function $n(e,t){return H(()=>{let r=new x;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=se(".md-content h1");return typeof o=="undefined"?L:La(o,t).pipe(w(n=>r.next(n)),A(()=>r.complete()),m(n=>R({ref:e},n)))})}function Rn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),X()),n=o.pipe(E(()=>ye(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ee("bottom"))));return B([o,n,t]).pipe(m(([i,{top:s,bottom:a},{offset:{y:c},size:{height:p}}])=>(p=Math.max(0,p-Math.max(0,s-c,i)-Math.max(0,p+c-a)),{offset:s-i,height:p,active:s-i<=c})),X((i,s)=>i.offset===s.offset&&i.height===s.height&&i.active===s.active))}function _a(e){let t=__md_get("__palette")||{index:e.findIndex(r=>matchMedia(r.getAttribute("data-md-color-media")).matches)};return j(...e).pipe(ce(r=>h(r,"change").pipe(m(()=>r))),V(e[Math.max(0,t.index)]),m(r=>({index:e.indexOf(r),color:{scheme:r.getAttribute("data-md-color-scheme"),primary:r.getAttribute("data-md-color-primary"),accent:r.getAttribute("data-md-color-accent")}})),J(1))}function Pn(e){let t=T("meta",{name:"theme-color"});document.head.appendChild(t);let r=T("meta",{name:"color-scheme"});return document.head.appendChild(r),H(()=>{let o=new x;o.subscribe(i=>{document.body.setAttribute("data-md-color-switching","");for(let[s,a]of Object.entries(i.color))document.body.setAttribute(`data-md-color-${s}`,a);for(let s=0;s{let i=Ee("header"),s=window.getComputedStyle(i);return r.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(a=>(+a).toString(16).padStart(2,"0")).join("")})).subscribe(i=>t.content=`#${i}`),o.pipe(Se(ae)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")});let n=q("input",e);return _a(n).pipe(w(i=>o.next(i)),A(()=>o.complete()),m(i=>R({ref:e},i)))})}function In(e,{progress$:t}){return H(()=>{let r=new x;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(w(o=>r.next({value:o})),A(()=>r.complete()),m(o=>({ref:e,value:o})))})}var qr=Ht(Vr());function Aa(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Fn({alert$:e}){qr.default.isSupported()&&new P(t=>{new qr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Aa(U(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(w(t=>{t.trigger.focus()}),m(()=>be("clipboard.copied"))).subscribe(e)}function Ca(e){if(e.length<2)return[""];let[t,r]=[...e].sort((n,i)=>n.length-i.length).map(n=>n.replace(/[^/]+$/,"")),o=0;if(t===r)o=t.length;else for(;t.charCodeAt(o)===r.charCodeAt(o);)o++;return e.map(n=>n.replace(t.slice(0,o),""))}function cr(e){let t=__md_get("__sitemap",sessionStorage,e);if(t)return j(t);{let r=me();return Zo(new URL("sitemap.xml",e||r.base)).pipe(m(o=>Ca(q("loc",o).map(n=>n.textContent))),de(()=>L),He([]),w(o=>__md_set("__sitemap",o,sessionStorage,e)))}}function jn(e){let t=se("[rel=canonical]",e);typeof t!="undefined"&&(t.href=t.href.replace("//localhost:","//127.0.0.1:"));let r=new Map;for(let o of q(":scope > *",e)){let n=o.outerHTML;for(let i of["href","src"]){let s=o.getAttribute(i);if(s===null)continue;let a=new URL(s,t==null?void 0:t.href),c=o.cloneNode();c.setAttribute(i,`${a}`),n=c.outerHTML;break}r.set(n,o)}return r}function Wn({location$:e,viewport$:t,progress$:r}){let o=me();if(location.protocol==="file:")return L;let n=cr().pipe(m(l=>l.map(f=>`${new URL(f,o.base)}`))),i=h(document.body,"click").pipe(ne(n),E(([l,f])=>{if(!(l.target instanceof Element))return L;let u=l.target.closest("a");if(u===null)return L;if(u.target||l.metaKey||l.ctrlKey)return L;let d=new URL(u.href);return d.search=d.hash="",f.includes(`${d}`)?(l.preventDefault(),j(new URL(u.href))):L}),le());i.pipe(xe(1)).subscribe(()=>{let l=se("link[rel=icon]");typeof l!="undefined"&&(l.href=l.href)}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),i.pipe(ne(t)).subscribe(([l,{offset:f}])=>{history.scrollRestoration="manual",history.replaceState(f,""),history.pushState(null,"",l)}),i.subscribe(e);let s=e.pipe(V(pe()),ee("pathname"),je(1),E(l=>ir(l,{progress$:r}).pipe(de(()=>(ot(l,!0),L))))),a=new DOMParser,c=s.pipe(E(l=>l.text()),E(l=>{let f=a.parseFromString(l,"text/html");for(let b of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...te("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let z=se(b),K=se(b,f);typeof z!="undefined"&&typeof K!="undefined"&&z.replaceWith(K)}let u=jn(document.head),d=jn(f.head);for(let[b,z]of d)z.getAttribute("rel")==="stylesheet"||z.hasAttribute("src")||(u.has(b)?u.delete(b):document.head.appendChild(z));for(let b of u.values())b.getAttribute("rel")==="stylesheet"||b.hasAttribute("src")||b.remove();let v=Ee("container");return Fe(q("script",v)).pipe(E(b=>{let z=f.createElement("script");if(b.src){for(let K of b.getAttributeNames())z.setAttribute(K,b.getAttribute(K));return b.replaceWith(z),new P(K=>{z.onload=()=>K.complete()})}else return z.textContent=b.textContent,b.replaceWith(z),L}),Z(),re(f))}),le());return h(window,"popstate").pipe(m(pe)).subscribe(e),e.pipe(V(pe()),Le(2,1),M(([l,f])=>l.pathname===f.pathname&&l.hash!==f.hash),m(([,l])=>l)).subscribe(l=>{var f,u;history.state!==null||!l.hash?window.scrollTo(0,(u=(f=history.state)==null?void 0:f.y)!=null?u:0):(history.scrollRestoration="auto",nr(l.hash),history.scrollRestoration="manual")}),e.pipe(Cr(i),V(pe()),Le(2,1),M(([l,f])=>l.pathname===f.pathname&&l.hash===f.hash),m(([,l])=>l)).subscribe(l=>{history.scrollRestoration="auto",nr(l.hash),history.scrollRestoration="manual",history.back()}),c.pipe(ne(e)).subscribe(([,l])=>{var f,u;history.state!==null||!l.hash?window.scrollTo(0,(u=(f=history.state)==null?void 0:f.y)!=null?u:0):nr(l.hash)}),t.pipe(ee("offset"),ke(100)).subscribe(({offset:l})=>{history.replaceState(l,"")}),c}var Dn=Ht(Un());function Vn(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,s)=>`${i}${s}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return s=>(0,Dn.default)(s).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Mt(e){return e.type===1}function pr(e){return e.type===3}function zn(e,t){let r=an(e);return _(j(location.protocol!=="file:"),We("search")).pipe($e(o=>o),E(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:te("search.suggest")}}})),r}function qn({document$:e}){let t=me(),r=Ne(new URL("../versions.json",t.base)).pipe(de(()=>L)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:s,aliases:a})=>s===i||a.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),E(n=>h(document.body,"click").pipe(M(i=>!i.metaKey&&!i.ctrlKey),ne(o),E(([i,s])=>{if(i.target instanceof Element){let a=i.target.closest("a");if(a&&!a.target&&n.has(a.href)){let c=a.href;return!i.target.closest(".md-version")&&n.get(c)===s?L:(i.preventDefault(),j(c))}}return L}),E(i=>{let{version:s}=n.get(i);return cr(new URL(i)).pipe(m(a=>{let p=pe().href.replace(t.base,"");return a.includes(p.split("#")[0])?new URL(`../${s}/${p}`,t.base):new URL(i)}))})))).subscribe(n=>ot(n,!0)),B([r,o]).subscribe(([n,i])=>{U(".md-header__topic").appendChild(hn(n,i))}),e.pipe(E(()=>o)).subscribe(n=>{var s;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let a=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(a)||(a=[a]);e:for(let c of a)for(let p of n.aliases.concat(n.version))if(new RegExp(c,"i").test(p)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let a of oe("outdated"))a.hidden=!1})}function Pa(e,{worker$:t}){let{searchParams:r}=pe();r.has("q")&&(Ke("search",!0),e.value=r.get("q"),e.focus(),We("search").pipe($e(i=>!i)).subscribe(()=>{let i=pe();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=Zt(e),n=_(t.pipe($e(Mt)),h(e,"keyup"),o).pipe(m(()=>e.value),X());return B([n,o]).pipe(m(([i,s])=>({value:i,focus:s})),J(1))}function Kn(e,{worker$:t}){let r=new x,o=r.pipe(Z(),re(!0));B([t.pipe($e(Mt)),r],(i,s)=>s).pipe(ee("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(ee("focus")).subscribe(({focus:i})=>{i&&Ke("search",i)}),h(e.form,"reset").pipe(Y(o)).subscribe(()=>e.focus());let n=U("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),Pa(e,{worker$:t}).pipe(w(i=>r.next(i)),A(()=>r.complete()),m(i=>R({ref:e},i)),J(1))}function Qn(e,{worker$:t,query$:r}){let o=new x,n=Ko(e.parentElement).pipe(M(Boolean)),i=e.parentElement,s=U(":scope > :first-child",e),a=U(":scope > :last-child",e);We("search").subscribe(l=>a.setAttribute("role",l?"list":"presentation")),o.pipe(ne(r),$r(t.pipe($e(Mt)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:s.textContent=f.length?be("search.result.none"):be("search.result.placeholder");break;case 1:s.textContent=be("search.result.one");break;default:let u=tr(l.length);s.textContent=be("search.result.other",u)}});let c=o.pipe(w(()=>a.innerHTML=""),E(({items:l})=>_(j(...l.slice(0,10)),j(...l.slice(10)).pipe(Le(4),Ir(n),E(([f])=>f)))),m(fn),le());return c.subscribe(l=>a.appendChild(l)),c.pipe(ce(l=>{let f=se("details",l);return typeof f=="undefined"?L:h(f,"toggle").pipe(Y(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(M(pr),m(({data:l})=>l)).pipe(w(l=>o.next(l)),A(()=>o.complete()),m(l=>R({ref:e},l)))}function Ia(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=pe();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function Yn(e,t){let r=new x,o=r.pipe(Z(),re(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(Y(o)).subscribe(n=>n.preventDefault()),Ia(e,t).pipe(w(n=>r.next(n)),A(()=>r.complete()),m(n=>R({ref:e},n)))}function Bn(e,{worker$:t,keyboard$:r}){let o=new x,n=Ee("search-query"),i=_(h(n,"keydown"),h(n,"focus")).pipe(Se(ae),m(()=>n.value),X());return o.pipe(Ge(i),m(([{suggest:a},c])=>{let p=c.split(/([\s-]+)/);if(a!=null&&a.length&&p[p.length-1]){let l=a[a.length-1];l.startsWith(p[p.length-1])&&(p[p.length-1]=l)}else p.length=0;return p})).subscribe(a=>e.innerHTML=a.join("").replace(/\s/g," ")),r.pipe(M(({mode:a})=>a==="search")).subscribe(a=>{switch(a.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(M(pr),m(({data:a})=>a)).pipe(w(a=>o.next(a)),A(()=>o.complete()),m(()=>({ref:e})))}function Gn(e,{index$:t,keyboard$:r}){let o=me();try{let n=zn(o.search,t),i=Ee("search-query",e),s=Ee("search-result",e);h(e,"click").pipe(M(({target:c})=>c instanceof Element&&!!c.closest("a"))).subscribe(()=>Ke("search",!1)),r.pipe(M(({mode:c})=>c==="search")).subscribe(c=>{let p=Re();switch(c.type){case"Enter":if(p===i){let l=new Map;for(let f of q(":first-child [href]",s)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}c.claim()}break;case"Escape":case"Tab":Ke("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof p=="undefined")i.focus();else{let l=[i,...q(":not(details) > [href], summary, details[open] [href]",s)],f=Math.max(0,(Math.max(0,l.indexOf(p))+l.length+(c.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}c.claim();break;default:i!==Re()&&i.focus()}}),r.pipe(M(({mode:c})=>c==="global")).subscribe(c=>{switch(c.type){case"f":case"s":case"/":i.focus(),i.select(),c.claim();break}});let a=Kn(i,{worker$:n});return _(a,Qn(s,{worker$:n,query$:a})).pipe(qe(...oe("search-share",e).map(c=>Yn(c,{query$:a})),...oe("search-suggest",e).map(c=>Bn(c,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ve}}function Jn(e,{index$:t,location$:r}){return B([t,r.pipe(V(pe()),M(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>Vn(o.config)(n.searchParams.get("h"))),m(o=>{var s;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let a=i.nextNode();a;a=i.nextNode())if((s=a.parentElement)!=null&&s.offsetHeight){let c=a.textContent,p=o(c);p.length>c.length&&n.set(a,p)}for(let[a,c]of n){let{childNodes:p}=T("span",null,c);a.replaceWith(...Array.from(p))}return{ref:e,nodes:n}}))}function Fa(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return B([r,t]).pipe(m(([{offset:i,height:s},{offset:{y:a}}])=>(s=s+Math.min(n,Math.max(0,a-i))-n,{height:s,locked:a>=i+n})),X((i,s)=>i.height===s.height&&i.locked===s.locked))}function Kr(e,o){var n=o,{header$:t}=n,r=eo(n,["header$"]);let i=U(".md-sidebar__scrollwrap",e),{y:s}=Je(i);return H(()=>{let a=new x,c=a.pipe(Z(),re(!0)),p=a.pipe(Ce(0,Oe));return p.pipe(ne(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*s}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),p.pipe($e()).subscribe(()=>{for(let l of q(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=he(f);f.scrollTo({top:u-d/2})}}}),ge(q("label[tabindex]",e)).pipe(ce(l=>h(l,"click").pipe(Se(ae),m(()=>l),Y(c)))).subscribe(l=>{let f=U(`[id="${l.htmlFor}"]`);U(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),Fa(e,r).pipe(w(l=>a.next(l)),A(()=>a.complete()),m(l=>R({ref:e},l)))})}function Xn(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return St(Ne(`${r}/releases/latest`).pipe(de(()=>L),m(o=>({version:o.tag_name})),He({})),Ne(r).pipe(de(()=>L),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),He({}))).pipe(m(([o,n])=>R(R({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return Ne(r).pipe(m(o=>({repositories:o.public_repos})),He({}))}}function Zn(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Ne(r).pipe(de(()=>L),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),He({}))}function ei(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return Xn(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return Zn(r,o)}return L}var ja;function Wa(e){return ja||(ja=H(()=>{let t=__md_get("__source",sessionStorage);if(t)return j(t);if(oe("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return L}return ei(e.href).pipe(w(o=>__md_set("__source",o,sessionStorage)))}).pipe(de(()=>L),M(t=>Object.keys(t).length>0),m(t=>({facts:t})),J(1)))}function ti(e){let t=U(":scope > :last-child",e);return H(()=>{let r=new x;return r.subscribe(({facts:o})=>{t.appendChild(un(o)),t.classList.add("md-source__repository--active")}),Wa(e).pipe(w(o=>r.next(o)),A(()=>r.complete()),m(o=>R({ref:e},o)))})}function Na(e,{viewport$:t,header$:r}){return ye(document.body).pipe(E(()=>ar(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),ee("hidden"))}function ri(e,t){return H(()=>{let r=new x;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(te("navigation.tabs.sticky")?j({hidden:!1}):Na(e,t)).pipe(w(o=>r.next(o)),A(()=>r.complete()),m(o=>R({ref:e},o)))})}function Ua(e,{viewport$:t,header$:r}){let o=new Map,n=q("[href^=\\#]",e);for(let a of n){let c=decodeURIComponent(a.hash.substring(1)),p=se(`[id="${c}"]`);typeof p!="undefined"&&o.set(a,p)}let i=r.pipe(ee("height"),m(({height:a})=>{let c=Ee("main"),p=U(":scope > :first-child",c);return a+.8*(p.offsetTop-c.offsetTop)}),le());return ye(document.body).pipe(ee("height"),E(a=>H(()=>{let c=[];return j([...o].reduce((p,[l,f])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return p.set([...c=[...c,l]].reverse(),u)},new Map))}).pipe(m(c=>new Map([...c].sort(([,p],[,l])=>p-l))),Ge(i),E(([c,p])=>t.pipe(kr(([l,f],{offset:{y:u},size:d})=>{let v=u+d.height>=Math.floor(a.height);for(;f.length;){let[,b]=f[0];if(b-p=u&&!v)f=[l.pop(),...f];else break}return[l,f]},[[],[...c]]),X((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([a,c])=>({prev:a.map(([p])=>p),next:c.map(([p])=>p)})),V({prev:[],next:[]}),Le(2,1),m(([a,c])=>a.prev.length{let i=new x,s=i.pipe(Z(),re(!0));if(i.subscribe(({prev:a,next:c})=>{for(let[p]of c)p.classList.remove("md-nav__link--passed"),p.classList.remove("md-nav__link--active");for(let[p,[l]]of a.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",p===a.length-1)}),te("toc.follow")){let a=_(t.pipe(ke(1),m(()=>{})),t.pipe(ke(250),m(()=>"smooth")));i.pipe(M(({prev:c})=>c.length>0),Ge(o.pipe(Se(ae))),ne(a)).subscribe(([[{prev:c}],p])=>{let[l]=c[c.length-1];if(l.offsetHeight){let f=zo(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=he(f);f.scrollTo({top:u-d/2,behavior:p})}}})}return te("navigation.tracking")&&t.pipe(Y(s),ee("offset"),ke(250),je(1),Y(n.pipe(je(1))),Tt({delay:250}),ne(i)).subscribe(([,{prev:a}])=>{let c=pe(),p=a[a.length-1];if(p&&p.length){let[l]=p,{hash:f}=new URL(l.href);c.hash!==f&&(c.hash=f,history.replaceState({},"",`${c}`))}else c.hash="",history.replaceState({},"",`${c}`)}),Ua(e,{viewport$:t,header$:r}).pipe(w(a=>i.next(a)),A(()=>i.complete()),m(a=>R({ref:e},a)))})}function Da(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:s}})=>s),Le(2,1),m(([s,a])=>s>a&&a>0),X()),i=r.pipe(m(({active:s})=>s));return B([i,n]).pipe(m(([s,a])=>!(s&&a)),X(),Y(o.pipe(je(1))),re(!0),Tt({delay:250}),m(s=>({hidden:s})))}function ni(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new x,s=i.pipe(Z(),re(!0));return i.subscribe({next({hidden:a}){e.hidden=a,a?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(Y(s),ee("height")).subscribe(({height:a})=>{e.style.top=`${a+16}px`}),h(e,"click").subscribe(a=>{a.preventDefault(),window.scrollTo({top:0})}),Da(e,{viewport$:t,main$:o,target$:n}).pipe(w(a=>i.next(a)),A(()=>i.complete()),m(a=>R({ref:e},a)))}function ii({document$:e,tablet$:t}){e.pipe(E(()=>q(".md-toggle--indeterminate")),w(r=>{r.indeterminate=!0,r.checked=!1}),ce(r=>h(r,"change").pipe(Rr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),ne(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function Va(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function ai({document$:e}){e.pipe(E(()=>q("[data-md-scrollfix]")),w(t=>t.removeAttribute("data-md-scrollfix")),M(Va),ce(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function si({viewport$:e,tablet$:t}){B([We("search"),t]).pipe(m(([r,o])=>r&&!o),E(r=>j(r).pipe(ze(r?400:100))),ne(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function za(){return location.protocol==="file:"?ht(`${new URL("search/search_index.js",Qr.base)}`).pipe(m(()=>__index),J(1)):Ne(new URL("search/search_index.json",Qr.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var nt=No(),_t=Bo(),gt=Jo(_t),Yr=Yo(),Te=nn(),lr=Fr("(min-width: 960px)"),pi=Fr("(min-width: 1220px)"),li=Xo(),Qr=me(),mi=document.forms.namedItem("search")?za():Ve,Br=new x;Fn({alert$:Br});var Gr=new x;te("navigation.instant")&&Wn({location$:_t,viewport$:Te,progress$:Gr}).subscribe(nt);var ci;((ci=Qr.version)==null?void 0:ci.provider)==="mike"&&qn({document$:nt});_(_t,gt).pipe(ze(125)).subscribe(()=>{Ke("drawer",!1),Ke("search",!1)});Yr.pipe(M(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=se("link[rel=prev]");typeof t!="undefined"&&ot(t);break;case"n":case".":let r=se("link[rel=next]");typeof r!="undefined"&&ot(r);break;case"Enter":let o=Re();o instanceof HTMLLabelElement&&o.click()}});ii({document$:nt,tablet$:lr});ai({document$:nt});si({viewport$:Te,tablet$:lr});var Xe=kn(Ee("header"),{viewport$:Te}),Lt=nt.pipe(m(()=>Ee("main")),E(e=>Rn(e,{viewport$:Te,header$:Xe})),J(1)),qa=_(...oe("consent").map(e=>cn(e,{target$:gt})),...oe("dialog").map(e=>Cn(e,{alert$:Br})),...oe("header").map(e=>Hn(e,{viewport$:Te,header$:Xe,main$:Lt})),...oe("palette").map(e=>Pn(e)),...oe("progress").map(e=>In(e,{progress$:Gr})),...oe("search").map(e=>Gn(e,{index$:mi,keyboard$:Yr})),...oe("source").map(e=>ti(e))),Ka=H(()=>_(...oe("announce").map(e=>sn(e)),...oe("content").map(e=>An(e,{viewport$:Te,target$:gt,print$:li})),...oe("content").map(e=>te("search.highlight")?Jn(e,{index$:mi,location$:_t}):L),...oe("header-title").map(e=>$n(e,{viewport$:Te,header$:Xe})),...oe("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?jr(pi,()=>Kr(e,{viewport$:Te,header$:Xe,main$:Lt})):jr(lr,()=>Kr(e,{viewport$:Te,header$:Xe,main$:Lt}))),...oe("tabs").map(e=>ri(e,{viewport$:Te,header$:Xe})),...oe("toc").map(e=>oi(e,{viewport$:Te,header$:Xe,main$:Lt,target$:gt})),...oe("top").map(e=>ni(e,{viewport$:Te,header$:Xe,main$:Lt,target$:gt})))),fi=nt.pipe(E(()=>Ka),qe(qa),J(1));fi.subscribe();window.document$=nt;window.location$=_t;window.target$=gt;window.keyboard$=Yr;window.viewport$=Te;window.tablet$=lr;window.screen$=pi;window.print$=li;window.alert$=Br;window.progress$=Gr;window.component$=fi;})(); +//# sourceMappingURL=bundle.6c14ae12.min.js.map + diff --git a/assets/javascripts/bundle.6c14ae12.min.js.map b/assets/javascripts/bundle.6c14ae12.min.js.map new file mode 100644 index 00000000..49396ad0 --- /dev/null +++ b/assets/javascripts/bundle.6c14ae12.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/clipboard/dist/clipboard.js", "node_modules/escape-html/index.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/rxjs/node_modules/tslib/tslib.es6.js", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/sample.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2023 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements SubscriptionLike {\n /** @nocollapse */\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @nocollapse\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as (((value: T) => void) | undefined),\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent\n * @param subscriber The stopped subscriber\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new observable\n * @nocollapse\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param operator the operator defining the operation to take on the observable\n * @return a new observable with the Operator applied\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {Subscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next a handler for each value emitted by the observable\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe(op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @method toPromise\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @nocollapse\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return {Observable} Observable that the Subject casts to\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject\n */\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param bufferSize The size of the buffer to replay on subscription\n * @param windowTime The amount of time the buffered items will stay buffered\n * @param timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:
\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an + +
+

Vídeo 1: Gravação da Reunião. (Fonte: Grupo 6. 2023).

+
+ +

Bibliografia

+

[1] ASANA. Dicas para criar um modelo de ata de reunião. Disponível em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.012/09/202318/09/2023Criação da AtaYago PassosAna Caroline, Jefferson, Rafael e Shaíne
1.102/10/202318/11/2023Modificação de estrutura e BibliografiaYago PassosAna Caroline, Jefferson, Rafael e Shaíne
+ + + + + + + + + + + + + + +
+ + +
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/atas/reuniao02/index.html b/atas/reuniao02/index.html new file mode 100644 index 00000000..c9d54479 --- /dev/null +++ b/atas/reuniao02/index.html @@ -0,0 +1,2884 @@ + + + + + + + + + + + + + + + + + + + + + + + Reunião 02 - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+ +
+ + + +
+
+ + + + + + + +

Ata de Reunião - 02/10

+

Introdução

+

A Ata de reunião é um registro formal de um encontro organizacional. Nela, ficam documentadas todas as ações que foram discutidas e decididas no momento [1].

+

Pauta

+

Era preciso que a equipe se reunisse para estabalecer objetivos, metas, e divisões de artefatos para a entrega do Ponto de Controle 2.

+

Discussão

+

A reunião serviu para esclarescer algumas concepções erradas que a equipe teve na elaboração do cronograma. Foi discutido que será necessário refazer a tabela do Ponto de Controle 2 no artefato do cronograma. Essas alterações se devem ao fato da equipe não ter decidido as técnicas de elicitação e priorização no início do semestre, as quais precisam ser explícitas no cronograma. Essas técnicas já haviam sido decididas pela equipe, são elas: Moscow, First Things First e Three-Level Scale. Também foi decidido que questionário não seria uma boa opção por causa do tempo curto até a entrega. Logo, após uma discussão, decidimos as técnicas de elicitação representadas no tópico a seguir.

+

O que foi Definido

+

A tabela 1 expõe as divisões definidas para cada artefato a ser elaborado.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArtefatoResponsável(eis)
BrainstormingRafael e Jefferson
EntrevistaShaine e Ana
ObservaçãoYago
MoscowRafael e Shaine
First things firstYago e Ana
Three-Level ScaleJefferson
+
+

Tabela 1: Criação de Artefatos e respectivos responsáveis. (Fonte: Yago Passos, 2023).

+
+ +

Além disso, a seguinte lista demonstra as correções que devem ser feitas. Tarefas qe foram encarregadas à Shaine, Rafael e Yago.

+
    +
  • Atualizar cronograma planejado da entrega 2 e
  • +
  • Atualizar cronograma executado
  • +
  • Atualizar documento metodologia
  • +
  • Atualizar as tabelas do cronograma planejado
  • +
  • Limpar branchs
  • +
+

Dados da reunião

+

Participantes

+ +

Data e Horário

+
    +
  • Segunda-Feira dia dois de outubro
  • +
  • Início de reunião: 20:29 horas
  • +
  • Fim de reunião: 21:11 horas
  • +
+

Gravação da Reunião

+

Abaixo, o vídeo 1, da gravação da reunião.

+ + +
+

Vídeo 1: Gravação da Reunião. (Fonte: Grupo 6. 2023).

+
+ +

Bibliografia

+

[1] ASANA. Dicas para criar um modelo de ata de reunião. Disponível em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.002/10/202303/10/2023Criação da AtaYago PassosAna Caroline, Jefferson, Rafael e Shaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/atas/reuniao03/index.html b/atas/reuniao03/index.html new file mode 100644 index 00000000..853f11ae --- /dev/null +++ b/atas/reuniao03/index.html @@ -0,0 +1,2841 @@ + + + + + + + + + + + + + + + + + + + + + + + Reunião 03 - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+ +
+ + + +
+
+ + + + + + + +

Ata de Reunião - 03/10

+

Introdução

+

A Ata de reunião é um registro formal de um encontro organizacional. Nela, ficam documentadas todas as ações que foram discutidas e decididas no momento [1].

+

Pauta

+

Esta pode ser considerada uma reunião de emergência e também uma extensão da reunião 02. Devido à falta de compromentimento durante a semana universitária, foi preciso que a equipe se reunisse novamente para terminar de definir o progresso da entrega 2.

+

Discussão

+

A reunião do grupo serviu para o desenvolvimento das técnicas de elicitação de requisitos. Começamos traçando os principais objetivos da plataforma e, depois, realizamos a introspeção e Brainstorming.

+

O que foi Definido

+

Os principais objetivos da plataforma, na visão da equipe, foram traçados para ajudar os participantes a enxergar e compreender melhor o escopo da aplicação que estão trabalhando, servindo como uma introdução e uma preparação para as técnicas de elicitação.

+

Após a preparação, foi feito a Introspeção, onde os participantes tiveram aproximadamente 8 minutos para listar o maximo de requisitos que conseguissem. Essa técnica teve a participação de todos os Integrantes. +Depois, seguimos para o Brainstorming, as informações da técnica se encontram no artefato e a sua gravação está presente abaixo nesse artefato.

+

Concluidos a introspeção e o brainstorming, analisamos, ponderamos e listamos os requisitos que achamos válidos, dividindo-os em Funcionais e não Funcionais, além de marcar quais dos requisitos já são implementados na plataforma e quais foram criados durante a reunião.

+

Dados da reunião

+

Participantes

+ +

Data e Horário

+
    +
  • Terça-Feira dia três de outubro
  • +
  • Início de reunião: 20:16 horas
  • +
  • Fim de reunião: 22:18 horas
  • +
+

Gravação da Reunião

+

Abaixo, o vídeo 1, da gravação da reunião.

+ + +
+

Vídeo 1: Gravação da Reunião. (Fonte: Grupo 6. 2023).

+
+ +

Bibliografia

+

[1] ASANA. Dicas para criar um modelo de ata de reunião. Disponível em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.002/10/202303/10/2023Criação da AtaYago PassosAna Caroline, Jefferson, Rafael e Shaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/atas/reuniao04/index.html b/atas/reuniao04/index.html new file mode 100644 index 00000000..6b4c0723 --- /dev/null +++ b/atas/reuniao04/index.html @@ -0,0 +1,2920 @@ + + + + + + + + + + + + + + + + + + + + + + + Reunião 04 - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+ +
+ + + +
+
+ + + + + + + +

Ata de Reunião - 09/10

+

Introdução

+

A Ata de reunião é um registro formal de um encontro organizacional. Nela, ficam documentadas todas as ações que foram discutidas e decididas no momento [1].

+

Pauta

+

A reunião de número 4 teve como intuito discutir as divisões de trabalho para a terceira entrega. Essa é uma etapa muito importante pois o grupo irá apresentar em sala de aula nessa entrega.

+

Discussão

+

O trabalho que deve ser feito para a entrega pode ser dividido em 2 grandes partes: Os novos artefatos para a entrega e as correções de artefatos anteriores. A primeira parte consiste em:

+
    +
  • Cenários
  • +
  • Léxico
  • +
  • Use Case
  • +
  • Especificação Suplementar
  • +
+

A segunda parte, das correções, consistem em melhoras nos artefatos de:

+
    +
  • Cronograma executado.
  • +
  • Perfil de Usuário
  • +
  • Three Level Scale
  • +
+

Além de alguns outros artefatos que estão sem Conclusão ou padronização adequada.

+

O que foi Definido

+

A Tabela 1 mostra como ficou a primeira parte das divisões:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ArtefatoResponsável(eis)
CenáriosShaine
LéxicoYago
Use CaseJefferson
Especificação SuplementarAna e Rafael
+
+

Tabela 1: Divisão dos novos artefatos. (Fonte: Yago. 2023).

+
+ +

A Tabela 2 mostra como ficou a segunda parte das divisões:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArtefatoResponsável(eis)Correção(ões) a ser feita
Cronograma executadoYagoPonto de controle 2 e 3
Perfil de usuárioJefferson e AnaPeríodo de respostas e grupos em que foi aplicado
Three level scaleAnaIntrodução
RequisitosRafael e ShaineCriar um artefato para padronizar e listar todos os requisitos juntos.
+
+

Tabela 2: Divisão das Correções. (Fonte: Yago. 2023).

+
+ +

Além disso, para cada divisão de tarefas foi definido uma data prevista para entrega: +- Entrega das correções: dia 17/10 +- Entrega dos artefatos: dia 22/10

+

Dados da reunião

+

Participantes

+ +

Data e Horário

+
    +
  • Segunda-Feira dia nove de outubro
  • +
  • Início de reunião: 20:16 horas
  • +
  • Fim de reunião: 22:38 horas
  • +
+

Gravação da Reunião

+

Abaixo, o vídeo 1, da gravação da reunião.

+ + +
+

Vídeo 1: Gravação da Reunião. (Fonte: Grupo 6. 2023).

+
+ +

Bibliografia

+

[1] ASANA. Dicas para criar um modelo de ata de reunião. Disponível em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.009/10/202312/10/2023Criação da AtaYago PassosAna Caroline, Jefferson, Rafael e Shaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/atas/reuniao05/index.html b/atas/reuniao05/index.html new file mode 100644 index 00000000..15d19e3f --- /dev/null +++ b/atas/reuniao05/index.html @@ -0,0 +1,2829 @@ + + + + + + + + + + + + + + + + + + + + + + + Reunião 05 - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Ata de Reunião - 18/10

+

Introdução

+

A Ata de reunião é um registro formal de um encontro organizacional. Nela, ficam documentadas todas as ações que foram discutidas e decididas no momento [1].

+

Pauta

+

A reunião 5 teve como intuito verificar o andamento do grupo em relação a entrega 3 pro dia 25/10. A intenção era verificar a elaboração dos artefatos e correções. Além disso, tinhamos acabado de receber o feedback da monitora sobre a última entrega, então a reunião serviu para discutí-lo

+

Discussão

+

Cada integrante explicou o que aconteceu nesse período entre as reuniões, o que fizeram e o que tinham de necessidade com o grupo.

+

O resto do tempo da reunião foi utilizado para analisar e discutir o feedback da entrega 2. Esses foram os principais pontos levantados pela monitora Ana Beatriz:

+
    +
  • Existe um cronograma apenas do Brainstorm;
  • +
  • Utilizaram o questionário para estabelercer o perfil do usuário;
  • +
  • O perfil do usuário tem poucas informações, especificar que entre 18 e 23 anos são jovens, falar se os usuários tem afinidade ou não com tecnologia, etc; +OBS: Além disso, dentro do questionário vocês estão trazendo as análises dos resultados juntamente com as perguntas, é recomendável que vocês separem os resultados obtidos como questionário das perguntas;
  • +
  • Não consta participação do cliente e/ou pessoa na elicitação de requisitos no artefato Introspecção, mas existe a participação nas outras duas técnicas. Obs: Procurem abrir as câmeras na gravação;
  • +
  • Apenas o artefato Introspecção não possui gravação;
  • +
  • Existe um cronograma apenas do Three-Level Scale;
  • +
  • First things First e Three level Scale têm participação com o cliente, porém, no vídeo de apresentação da etapa 2 eles falam que a técnica MoSCoW é feita com a participação dos clientes, mas no artefato não consta a participação do cliente/persona;
  • +
  • First things First e Three Level Scale têm gravação e registros da atividade de priorização dos requisitos, porém, a técnica MoSCoW não tem registros. Obs: Procurem abrir as câmeras na gravação;
  • +
+

Dados da reunião

+

Participantes

+ +

Data e Horário

+
    +
  • Quarta-Feira dia dezoito de outubro
  • +
  • Início de reunião: 21:12 horas
  • +
  • Fim de reunião: 21:25 horas
  • +
+

Gravação da Reunião

+

Abaixo, o vídeo 1, da gravação da reunião.

+ + +
+

Vídeo 1: Gravação da Reunião. (Fonte: Grupo 6. 2023).

+
+ +

Bibliografia

+

[1] ASANA. Dicas para criar um modelo de ata de reunião. Disponível em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.009/10/202312/10/2023Criação da AtaYago PassosAna Caroline, Jefferson, Rafael e Shaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/atas/reuniao06/index.html b/atas/reuniao06/index.html new file mode 100644 index 00000000..056e6464 --- /dev/null +++ b/atas/reuniao06/index.html @@ -0,0 +1,2989 @@ + + + + + + + + + + + + + + + + + + + + + + + Reunião 06 - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+ +
+ + + +
+
+ + + + + + + +

Ata de Reunião - 31/10

+

Introdução

+

A Ata de reunião é um registro formal de um encontro organizacional. Nela, ficam documentadas todas as ações que foram discutidas e decididas no momento [1].

+

Pauta

+

Alguns integrantes estavam em situações que não podiam ligar a câmera, o que foi discutido e está presente na gravação da reunião. De qualquer forma, a reunião 6 foi importante para a decisão das divisões dos 3 novos artefatos para a entrega 4.

+

Discussão

+

Após analisar o feedback do professor sobre a apresentação da entrega 3, foi discutido quais correções eram prioritárias, então foi definido o que precisava ser feito em cada correção e os responsáveis pelas alterações. Essas definições estão presente na tabela 3. Também definimos os responsáveis pelos novos artefatos, bem representados na tabela 4. +Aqui, observamos no projeto do aplicativo VLC os artefatos que aparentavam requerir maior esforço para serem feitos, então notamos que dos 3 artefatos, o de Histórias de Usuário e NFR Framework podem precisar de mais integrantes no desenvolvimento, definimos 2 membros para a realização de cada e apenas um para o artefato de backlog.

+

Além disso, o integrante Yago Passos, visando melhorar a verificação dos artefatos, sugeriu um novo sistema de revisão dos artefatos, alterando a tabela do versionamento da seguinte forma:

+

Tabela 1, de Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.0dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
1.1dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
1.2dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
+
+

Tabela 1: Nova tabela de Versionamento. (Fonte: Yago Passos, 2023).

+
+ +

Tabela 2, de Revisão (V&V)

+ + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
dd/mm/aaaa1.0Elaboração em paresNome do Revisor
dd/mm/aaaa1.1 e 1.2Revisão por inspeçãoNome do Revisor
+
+

Tabela 2: Novo sistema de revisão. (Fonte: Yago Passos, 2023).

+
+ +

A ideia é aplicar essa forma de versionamento e revisão em todos os artefatos, com excessão dos artefatos das atas. Dessa forma, haverá uma facilitação da correção de cada artefato e intensificação o processo de verificação.

+

O que foi Definido

+

Como dito na seção anterior, as tabelas 3 e 4 representam as atribuições feitas na reunião:

+ + + + + + + + + + + + + + + + + + + + + +
ArtefatoResponsável(eis)
Histórias de UsuárioYago e Jefferson
BacklogRafael
NFR FrameworkShaine e Ana
+
+

Tabela 3: Atribuições dos artefatos novos. (Fonte: Yago Passos, 2023).

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArtefatoResponsável(eis)Correção(ões) a ser feita
Especificação suplementarTodosAdicionar métricas aos argumentos
Cronograma realizadoAnaConsertar tabela da entrega 3
MoscowRafael e JeffersonFazer entrevista com usuario
Casos de usoJefferson e YagoAcertar legenda e outros
CenáriosShaine-
Introspecao e BrainstormingRafaelAdicionar link do ata da reuniao 3 para o video da execucao das tecnicas
Artefatos de priorizaçãoAna e YagoAdicionar tabela de cronograma com dados
das entrevistas na metodologia e linkar requisitos
+

Dados da reunião

+

Participantes

+ +

Data e Horário

+
    +
  • Terça-Feira dia trinta e um de outubro
  • +
  • Início de reunião: 19:53 horas
  • +
  • Fim de reunião: 20:17 horas
  • +
+

Gravação da Reunião

+

Abaixo, o vídeo 1, da gravação da reunião.

+ + +
+

Vídeo 1: Gravação da Reunião. (Fonte: Grupo 6. 2023).

+
+ +

Bibliografia

+

[1] ASANA. Dicas para criar um modelo de ata de reunião. Disponível em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.031/10/202312/10/2023Criação da AtaYago PassosAna Caroline, Jefferson, Rafael e Shaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/atas/reuniao07/index.html b/atas/reuniao07/index.html new file mode 100644 index 00000000..1eadceea --- /dev/null +++ b/atas/reuniao07/index.html @@ -0,0 +1,2934 @@ + + + + + + + + + + + + + + + + + + + + + + + Reunião 07 - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+ +
+ + + +
+
+ + + + + + + +

Ata de Reunião - 07/11

+

Introdução

+

A Ata de reunião é um registro formal de um encontro organizacional. Nela, ficam documentadas todas as ações que foram discutidas e decididas no momento [1].

+

Pauta

+

A reunião 7 teve natureza de emergência e se deu devido ao tempo reduzido entre as entregas causado pelas greves e feriados que cancelaram as aulas de Requisitos. Por isso, na necessidade de separar as responsabilidades dos artefatos para a entrega 5.1, a equipe se reuniu em um dia fora do esquema previsto no HeatMap e apenas 3 integrantes conseguiram participar.

+

Discussão

+

Durante a reunião, os participantes do grupo 6 observaram que, de acordo com o plano de ensino, a entrega 5.1 é a próxima na programação e refere-se à Verificação e Validação dos artefatos da equipe do grupo 7 no projeto do Detran. Isso implica que o grupo 6 será responsável por avaliar o grupo 7. Consequentemente, os integrantes do grupo 6 perceberam a necessidade de distribuir os artefatos do projeto do Detran, mencionados em projeto do Detran, entre os avaliadores do Skoob. Essa distribuição implicará que cada membro do grupo 6 ficará encarregado da elaboração de 4 artefatos até segunda-feira, dia 13/11, o que representa um prazo de seis dias após a data da reunião e demandará um esforço considerável.

+

O que foi Definido

+

Abaixo, a tabela 1 mostra a relação dos artefatos e seus respectivos responsávies pela análise e verificação. Vale lembrar que, para cada artefado do grupo 7 verificado, o responsável pela verificação deverá elaborar um artefato no nosso projeto, explicitando as etapas, metodologias e conclusões da verificação.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArtefatoResponsável(eis)
Rich PictureYago
AplicativosSahine
FerramentasRafael
CronogramaAna
EquipeJefferson
First Thing FirstRafael
Análise de documentosShaine
EntrevistaYago
Priorização In or OutJefferson
MoSCOWJefferson
PersonasShaine
QuestionárioAna
Requisitos elicitadosAna
StorytellingRafael
Casos de usoRafael
CenáriosRafael
Especificação SuplementarShaine
LéxicoJefferson
NFRYago
Backlog doProduto
Historias De UsuáriosAna
+
+

Tabela 1: Atribuições dos artefatos. (Fonte: Yago Passos, 2023).

+
+ +

Dados da reunião

+

Participantes

+ +

Data e Horário

+
    +
  • Terça-Feira dia sete de novembro
  • +
  • Início de reunião: 20:17 horas
  • +
  • Fim de reunião: 20:53 horas
  • +
+

Gravação da Reunião

+

Abaixo, o vídeo 1, da gravação da reunião.

+ + +
+

Vídeo 1: Gravação da Reunião. (Fonte: Grupo 6. 2023).

+
+ +

Bibliografia

+

[1] ASANA. Dicas para criar um modelo de ata de reunião. Disponível em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.031/10/202312/10/2023Criação da AtaYago PassosAna Caroline, Jefferson, Rafael e Shaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/brainstorming/index.html b/elicitacao/brainstorming/index.html new file mode 100644 index 00000000..e7dacf5d --- /dev/null +++ b/elicitacao/brainstorming/index.html @@ -0,0 +1,3016 @@ + + + + + + + + + + + + + + + + + + + + + + + Brainstorming - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+ +
+
+ + + +
+
+ + + + + + + +

Brainstorming

+

Introdução

+

O brainstorming desempenha um papel fundamental no processo de elicitação de requisitos, ajudando a equipe a identificar, explorar e capturar as necessidades e expectativas dos stakeholders. Durante as sessões de elicitação, o brainstorming permite que os participantes gerem ideias e insights valiosos relacionados aos requisitos do projeto. A abordagem colaborativa promove a criatividade, o diálogo e a compreensão compartilhada, resultando na definição mais precisa e abrangente dos requisitos. Neste contexto, o brainstorming é uma ferramenta essencial para promover a comunicação eficaz e a coleta de informações necessárias para o sucesso do projeto.

+

Metodologia

+

Utilizando a técnica de brainstorming, o mediador conduziu uma série de perguntas cuidadosamente elaboradas para extrair ideias valiosas do usuário. Embora idealmente essa técnica envolva um grupo de 8 a 12 participantes,como diz o livro Interação Humano-Computador (Barbosa e Silva)[3] devido a restrições de tempo e dificuldades na coordenação de horários, não foi possível contar com mais pessoas. No entanto, as respostas fornecidas pelo usuário foram extremamente satisfatórias.

+

Uma gravação completa do brainstorming foi realizada, e também elaboramos um termo de autorização de uso de imagem, o qual foi assinado pelo usuário, permitindo-nos utilizar a gravação.

+

Cronograma

+

Na tabela 1, temos o cronograma detalhado do dia e do horário em que a reunião será realizada e também dos participantes e suas respectivas funções na utilização da técnica.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParticipantesDataHora
Mediador: Ana
Desenvolvedor: Yago03/10/202316h
Usuário: Evilly
+
+

Tabela 1: Cronograma para execução da técnica. (Fonte: Jefferson França, 2023).

+
+ +

Perguntas e Respostas

+

Quais são as funcionalidades que você considera essenciais em um aplicativo voltado para leitores, como o Skoob?

+
    +
  • Tags de opção para classificação de livros e possibilidade de conseguir definir metas para anos diferentes, além da tbr, que possibilita sortear os livros das suas metas para definir a próxima leitura (ver infos dos livros e resenhas).
  • +
+

Quando se trata de eventos literários, que tipo de informações você gostaria de ver sobre eles no aplicativo do Skoob?

+
    +
  • Gostaria de ter mais visibilidade dentro do app, aba de news de literatura.
  • +
+

Como o aplicativo do Skoob pode oferecer suporte aos usuários em caso de dúvidas ou problemas relacionados a eventos literários?

+
    +
  • Nunca precisou usar o suporte, mas algumas abas que entra tem o ícone de +interrogação onde é encontrada informações sobre a página.
  • +
+

Que sugestões você tem para tornar o aplicativo do Skoob mais amigável, com um design intuitivo e uma navegação simplificada, garantindo uma experiência agradável para os amantes da leitura?

+
    +
  • O que incomoda um pouco é para ser uma rede social, mas não vê muita interação +entre os usuários, queria melhorar isso, ex.: stories.
  • +
  • A interface é fácil de mexer mas acha que poderia ser mais moderno o design.
  • +
+

Quais recursos de recomendação de livros poderíamos adicionar para ajudar os usuários a descobrir novas leituras?

+
    +
  • Fazer ranking semanal ou mensal dos livros mais lidos na plataforma, quanto mais +ela vê um livro, mais ela quer ler.
  • +
+

Quais recursos de conectividade social podemos implementar para que os usuários possam interagir uns com os outros de maneira mais eficaz?

+
    +
  • Stories.
  • +
+

Quais são as principais reclamações ou desafios que os usuários enfrentam atualmente +com o Skoob, e como podemos resolvê-los?

+
    +
  • Tem um bug específico, onde colocamos a porcentagem de leitura ao registrar um +histórico.
  • +
+

Quais recursos de gamificação poderíamos implementar para tornar o uso do Skoob mais +envolvente e divertido?

+
    +
  • Já tem um ranking, mas é pouco incentivado.
  • +
  • Tem muita informação legal mas pouco divulgada.
  • +
  • Sugestões: deixar o ranking visível no perfil da pessoa, medalhas, personalização do passarinho (icone do skoob), criar um avatar como no instagram.
  • +
+

Gravação da Reunião

+ + +

Legenda das tabelas:

+
- n: Número do Requisito;
+- RF:  Requisito Funcional;
+- RNF: Requisito Não Funcional;
+- BSn: Requisito elicitado por meio de Brainstorming;
+
+

Na tabela 2, temos os requisitos já priorizados de acordo com a técnica Three-Level Scale.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdDescriçãoTipo
BS01Deve ser possível Criar uma meta de leitura para o anoRF
BS02Deve ser possível sortear um livro cadastrado nas metas para o ano para a próxima leituraRF
BS03Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuárioRF
BS04Deve ser possível ver informações gerais de um livro cadastrado, como sinopse, autor, quantidade de páginas, etcRF
BS05Deve existir uma aba de lançamentos de livrosRF
BS06Deve existir uma aba de notícias sobre editoras e autoresRF
BS07Deve existir um FAQ para guiar os usuários nas funcionalidadesRF
BS08Deve ser possível alterar o tema (escuro/claro/variantes)RF
BS09Deve ser possível visualizar um ranking semanal/mensal de livros mais bem classificadosRF
BS10Deve ser possível visualizar um ranking semanal/mensal de livros mais lidosRF
BS11Deve ser possível postar fotos e/ou vídeos em formato "stories"RF
BS12Deve ser possível compartilhar estantesRF
BS13Deve ser possível realizar desafios dentro da plataformaRF
BS14Deve ser possível criar desafios entre amigosRF
BS15Deve ser possível mandar mensagens diretas entre usuáriosRF
BS16Deve ser possível conquistar prêmios e recompensas a partir de DesafiosRF
BS17Deve ser possível expor prêmios nos perfis e na TimeLineRF
BS18Deve ser possível receber recomendações de livros com base nas preferências literárias dos usuáriosRF
BS19O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdo.RNF
+
+

Tabela 2: Requisitos elicitados através do brainstorming. (Fonte: Jefferson França, 2023).

+
+ +

Conclusão

+

A aplicação do brainstorming no processo de elicitação de requisitos para o Skoob foi extremamente eficaz, as respostas fornecidas pelo usuário foram valiosas e abrangentes, as ideias geradas durante a sessão forneceram uma base sólida para a definição dos requisitos funcionais e não funcionais do aplicativo, abrangendo desde funcionalidades essenciais até recursos de conectividade social e gamificação.

+

Bibliografia

+

[1] SERRANO, Milene; SERRANO, Maurício. Requisitos - Elicitação, Modelagem e Análise. Apresentação Power Point. Disponível em: https://aprender3.unb.br/pluginfile.php/2692779/mod_resource/content/2/Requisitos%20-%20Aula%2007.pdf. Acesso em: 04 de outubro de 2023.

+

[2] Brainstorming em Bilheteria Digital. Disponível em: https://requisitos-de-software.github.io/2023.1-BilheteriaDigital/elicitacao/tecnicas/brainstorming/. Acesso em 04 de Outubro de 2023.

+

[3] BARBOSA, S. D. J.; SILVA, B. S. Interação Humano-Computador. Rio de Janeiro: Elsevier, 2011.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.004/10/202304/10/2023Criação do artefatoJefferson França e Rafael AmancioAna Rocha, Shaíne Oliveira e Yago Passos
1.104/10/202304/10/2023Adicionando a gravaçãoYago PassosRafael Amancio
1.224/10/202325/10/2023Alterações na tabelaRafael AmancioYago Passos
1.302/11/202304/11/2023Adicionando ConclusãoAna RochaTodos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/first_things_first/index.html b/elicitacao/first_things_first/index.html new file mode 100644 index 00000000..a4eb627f --- /dev/null +++ b/elicitacao/first_things_first/index.html @@ -0,0 +1,3139 @@ + + + + + + + + + + + + + + + + + + + + + + + First Things First - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

First Things First

+

Introdução

+

Após a elicitação dos requisitos essenciais, precisamos empregar métodos eficazes para a priorização de tais requisitos. Esta etapa é crucial para definir e diferenciar a relevância e a urgência de cada requisito individualmente. Uma das técnicas adotadas para tal, é a técnica conhecida como "First Things First".

+

Metodologia

+

A técnica de priorização "First Things First" representa uma ferramenta importante na gestão de requisitos, ao considerar cuidadosamente os benefícios, custos e riscos de cada requisito, onde os mesmo são classificados em diferentes níveis de importância, tendo como resultado uma lista clara e organizada de prioridades para a implementação. São feitas avaliações para determinar os respectivos índices (1-9) para cada indicativo acima descrito, que deve considerar a visão do cliente e do desenvolvedor de forma equilibrada. A partir disso, é possível calcular o valor total, avaliar o custo relativo e determinar o nível de risco associado a cada um. Assim, o cálculo da prioridade para cada requisito permite a construção de uma lista ordenada em ordem decrescente de importância, fornecendo um guia claro para a fase de implementação. Esta abordagem meticulosa e bem estruturada assegura que os recursos sejam alocados de maneira eficiente e direcionados aos elementos cruciais para o sucesso do projeto.

+

Cronograma

+

Na tabela 1, temos o cronograma detalhado do dia e do horário em que a reunião será realizada e também dos participantes e suas respectivas funções na utilização da técnica.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParticipantesDataHora
Mediador: Ana
Desenvolvedor: Shaíne04/10/202317h
Usuário: Vitória Monteiro
+
+

Tabela 1: Cronograma para execução da técnica. (Fonte: Ana Rocha, 2023).

+
+ +

Requisitos

+

Na tabela 2 são listados os requisitos funcionais elicitados pelo grupo, através dos métodos de Observaçao, Introspecção e Brainstoming.

+

Legenda:

+
    +
  • BS - Brainstorming
  • +
  • IN - Introspecção
  • +
  • OB - Observação
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdentificaçãoDescrição
OB01Deve ser possível realizar login
OB02Deve ser possível pesquisar livros
OB03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo
OB04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.
OB05Deve ser possível adicionar comentários nos posts
OB06Deve ser possível curtir posts da timeline
IN01Deve ser possível realizar cadastro
IN02Deve ser possível recuperar a senha
IN03Deve ser possível cadastrar um livro
IN04Deve ser possível escrever resenhas dos livros marcados como lidos
IN05Deve ser possível dar notas aos livros lidos
IN06Deve ser possível contabilizar os dias lendo livros quando o status for relendo
IN07Deve ser possível registrar o histórico de leitura
IN08Deve ser possível adicionar livro a estante
IN09Deve ser possível criar lista de livros desejados
IN10Deve ser possível compartilhar a lista de livros desejados
IN11Deve ser possível pesquisar outros usuários
IN12Deve ser possível abrir e analisar o perfil de outros usuários
IN13Deve ser possível adicionar outros usuários como amigo
IN14Deve ser possível filtrar livros por nota
IN15Deve ser possível filtrar livros por categoria
BS01Deve ser possível Criar uma meta de leitura para o ano
BS02Deve ser possível sortear um livro cadastrado nas metas para o ano para a próxima leitura
BS03Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuário
BS04Deve ser possível ver informações gerais de um livro cadastrado, como sinopse, autor, quantidade de páginas, etc
BS05Deve existir uma aba de lançamentos de livros
BS06Deve existir uma aba de notícias sobre editoras e autores
BS07Deve existir um FAQ para guiar os usuários nas funcionalidades
BS08Deve ser possível alterar o tema (escuro/claro/variantes)
BS09Deve ser possível visualizar um ranking semanal/mensal de livros mais bem classificados
BS10Deve ser possível visualizar um ranking semanal/mensal de livros mais lidos
BS11Deve ser possível postar fotos e/ou vídeos em formato "stories"
BS12Deve ser possível compartilhar estantes
BS13Deve ser possível realizar desafios dentro da plataforma
BS14Deve ser possível criar desafios entre amigos
BS15Deve ser possível mandar mensagens diretas entre usuários
BS16Deve ser possível conquistar prêmios e recompensas a partir de Desafios
BS17Deve ser possível expor prêmios nos perfis e na TimeLine
+
+

Tabela 2: Elicitação de requisitos. (Fonte: Ana Rocha e Yago Passos, 2023).

+
+ +

Priorização

+

Para a priorização adequada dos requisitos de forma condizente com o método First-Things-First, definimos os envolvidos:

+
    +
  • Gerente: O papel foi executado por Ana Rocha
  • +
  • Representante dos clientes: Vitória Monteiro, uma usuária entrevistada.
  • +
  • Representante de desenvolvimento: Yago Passos e Ana Rocha
  • +
+

Entrevista

+

A primeira etapa da Priorização consistiu em uma entrevista. Nessa entrevista questionamos a representante dos clientes respeito das funcionalidades elicitadas, pedindo que ela fornesesse um número de 1 a 9, estimando o benefício relativo que cada recurso fornece ao cliente. Também foi pedida a mesma métrica para a estimativa da penalidade que o negócio sofreria se o recurso não fosse implementado. [2]

+

No vídeo 1, destacado a baixo, a entrevista com a representante dos clientes, Vitória Monteiro.

+ +
+

Vídeo 1: Estimativa da parte do usuário - First Things First. (Fonte: Ana Rocha e Yago Passos, 2023).

+
+ +

Aqui contém o documento do Termo de Consentimento de uso da Imagem, assinado pela usuária entrevistada.

+

Estimativa da parte Técnica

+

A segunda etapa foi uma reunião entre os representantes de desenvolvimento, que ao ponderar as funcionalidades, chegaram na priorização representada na Figura 2:

+
+ image +
+ +
+

Figura 2: Priorização de requisitos - First Things First. (Fonte: Ana Rocha e Yago Passos, 2023).

+
+ +

Conclusão

+

Em resumo, a técnica de priorização "First Things First" se mostrou uma ferramenta importante na gestão dos requisitos que elicitamos, permitindo uma abordagem bem definida para determinar a importância de cada funcionalidade, nos proporcionando uma lista clara e organizada de prioridades para a implementação, o que permite uma alocação eficiente de recursos.

+

Bibliografia

+

[1] WIEGERS, Karl e BEATTY, Joy. Disponível em: Software Requirements, Third Edition. Acesso em: 02 de Outubro de 2023.
+[2] SALES, André. Técnicas de Priorização. Disponível em: Aprender 3. Acesso em 04 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.002/10/202303/10/2023Criação do artefatoAna Rocha
1.104/10/202304/10/2023Atualização do artefatoAna Rocha
1.204/10/202304/10/2023Seção de PriorizaçãoYago Passos
1.316/10/202317/10/2023Elaboração da ConclusãoAna Rocha
1.402/11/202304/11/2023Adicionando Cronograma e implementando novo sistema de revisãoAna Rocha
+

Revisão (V&V)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
04/10/20231.1Revisão por inspeçãoYago Passos
04/10/20231.2Revisão por inspeçãoAna Rocha
18/10/20231.3Revisão por inspeçãoYago Passos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/img/priorizacao_ftf.png b/elicitacao/img/priorizacao_ftf.png new file mode 100644 index 00000000..a15c4611 Binary files /dev/null and b/elicitacao/img/priorizacao_ftf.png differ diff --git a/elicitacao/img/priorizacao_tls.png b/elicitacao/img/priorizacao_tls.png new file mode 100644 index 00000000..de898f88 Binary files /dev/null and b/elicitacao/img/priorizacao_tls.png differ diff --git a/elicitacao/img/questao1.png b/elicitacao/img/questao1.png new file mode 100644 index 00000000..8c7f3eec Binary files /dev/null and b/elicitacao/img/questao1.png differ diff --git a/elicitacao/img/questao2.png b/elicitacao/img/questao2.png new file mode 100644 index 00000000..7fe00551 Binary files /dev/null and b/elicitacao/img/questao2.png differ diff --git a/elicitacao/img/questao3.png b/elicitacao/img/questao3.png new file mode 100644 index 00000000..0df21f3f Binary files /dev/null and b/elicitacao/img/questao3.png differ diff --git a/elicitacao/img/questao4.png b/elicitacao/img/questao4.png new file mode 100644 index 00000000..bf0b8a02 Binary files /dev/null and b/elicitacao/img/questao4.png differ diff --git a/elicitacao/img/questao5.png b/elicitacao/img/questao5.png new file mode 100644 index 00000000..50bbedf8 Binary files /dev/null and b/elicitacao/img/questao5.png differ diff --git a/elicitacao/img/questao6.png b/elicitacao/img/questao6.png new file mode 100644 index 00000000..700ebf9d Binary files /dev/null and b/elicitacao/img/questao6.png differ diff --git a/elicitacao/img/termo_de_consentimento_form.png b/elicitacao/img/termo_de_consentimento_form.png new file mode 100644 index 00000000..bb22a8f0 Binary files /dev/null and b/elicitacao/img/termo_de_consentimento_form.png differ diff --git a/elicitacao/img/termo_de_consentimento_vitoria.pdf b/elicitacao/img/termo_de_consentimento_vitoria.pdf new file mode 100644 index 00000000..284068d6 Binary files /dev/null and b/elicitacao/img/termo_de_consentimento_vitoria.pdf differ diff --git a/elicitacao/img/termo_de_uso.pdf b/elicitacao/img/termo_de_uso.pdf new file mode 100644 index 00000000..6e947916 Binary files /dev/null and b/elicitacao/img/termo_de_uso.pdf differ diff --git a/elicitacao/introspeccao/index.html b/elicitacao/introspeccao/index.html new file mode 100644 index 00000000..7ab5d25c --- /dev/null +++ b/elicitacao/introspeccao/index.html @@ -0,0 +1,2890 @@ + + + + + + + + + + + + + + + + + + + + + + + Introspecção - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Introspecção

+

Introdução

+

A técnica de Introspecção consiste em imaginar o objetivo final do sistema, imaginando e documentando todas as funções que o sistema poderia realizar para ajudar a alcançar esse objetivo. Na prática, o engenheiro de requisitos deve imaginar quais seriam os requisitos, tanto funcionais quanto não funcionais, que o sistema deve possuir para que seja um sucesso e em seguida documentar esses requisitos. O documento de introspecção deverá servir como um guia para o desenvolvimento do software.

+

Execução

+

O objetivo da técnica é conseguir imaginar e elicitar o máximo de requisitos referentes ao Escopo e a Profundidade da aplicação. Para isso, todos os integrantes do grupo se reuniram e conversaram sobre o que o sistema deveria fazer.

+

Por fim, foram atribuídos ID's únicos para cada requisito, funcional e não funcional, documentado na Tabela 1.

+

Legenda da tabela:

+
- INn: Requisito elicitado por meio de Introspecção;
+- n: Número do Requisito;
+- RF:  Requisito Funcional;
+- RNF: Requisito Não Funcional;
+
+

Requisitos Elicitados

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdentificaçãoDescriçãoTipo
IN01Deve ser possível realizar cadastroRF
IN02Deve ser possível recuperar a senhaRF
IN03Deve ser possível cadastrar um livroRF
IN04Deve ser possível escrever resenhas dos livros marcados como lidosRF
IN05Deve ser possível dar notas aos livros lidosRF
IN06Deve ser possível contabilizar os dias lendo livros quando o status for relendoRF
IN07Deve ser possível registrar o histórico de leituraRF
IN08Deve ser possível adicionar livro a estanteRF
IN09Deve ser possível criar lista de livros desejadosRF
IN10Deve ser possível compartilhar a lista de livros desejadosRF
IN11Deve ser possível pesquisar outros usuáriosRF
IN12Deve ser possível abrir e analisar o perfil de outros usuáriosRF
IN13Deve ser possível adicionar outros usuários como amigoRF
IN14Deve ser possível filtrar livros por notaRF
IN15Deve ser possível filtrar livros por categoriaRF
IN16A senha deve conter no mínimo um número uma letra maiúscula e um caracter especialRNF
IN17Deve ser possível fazer cadastro/login com as credenciais do facebookRNF
IN18Deve ser possível obter o aplicativo em qualquer sistema operacionalRNF
IN19Os dados do usuário devem ser guardados de forma eficaz, impendindo o vazamento dos mesmosRNF
IN20O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resoluçõesRNF
+
+

Tabela 1: Requisitos elicitados utilizando a técnica de Introspecção. (Fonte: Rafael Amancio, 2023).

+
+ +

Conclusão

+

Em resumo, essa técnica serviu de grande ajuda para o desenvolvimento inicial do projeto, gerando 15 requisitos funcionais e 3 não funcionais, totalizando 18 requisitos.

+

Bibliografia

+

[1] SALES, André Barros. Técnicas de Priorização. Disponível em: Aprender 3. Acesso em 04 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.004/10/202304/10/2023Criação do artefatoRafael AmancioShaíne Oliveira
1.124/10/202325/10/2023Alterações na tabelaRafael AmancioShaíne Oliveira
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/moscow/index.html b/elicitacao/moscow/index.html new file mode 100644 index 00000000..9881672f --- /dev/null +++ b/elicitacao/moscow/index.html @@ -0,0 +1,3099 @@ + + + + + + + + + + + + + + + + + + + + + + + Moscow - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Moscow

+

Introdução

+

A técnica de priorização MoSCoW é uma abordagem que categoriza requisitos ou tarefas em quatro grupos principais: Must-have (Deve Ter), Should-have (Deveria Ter), Could-have (Poderia Ter) e Won't-have (Não Deve Ter). Ela ajuda as equipes a identificar e priorizar o que é essencial, importante, opcional e o que não será incluído em um projeto, garantindo uma alocação eficiente de recursos e a entrega de resultados alinhados com as expectativas dos stakeholders.

+

Metodologia

+

Must-have

+

São os requisitos prioritários/críticos para o negócio, como: normativas da bolsa de valores, informações que afetam a credibilidade da empresa, entre outros. Dessa forma, se um desses itens não for concluído, o projeto não pode ser considerado como finalizado com sucesso.

+

Should-have

+

Importantes, mas não são necessários (do ponto de vista estratégico) para entrega neste momento. Pode-se ter outro meio de se atender a necessidade classificada como SHOULD, ou pode-se esperar um pouco para ser trabalhado(ex: a conclusão de outro projeto em andamento reduzirá ou eliminará a necessidade do projeto demandado).

+

Could-have

+

São os itens desejáveis, mas não são necessário (do ponto de vista estratégico) e podem melhorar a satisfação do cliente com algum esforço de desenvolvimento.

+

Would/ Want/ Won't - have

+

Menos críticos, com menor retorno sobre o investimento ou não adequados para serem realizados. Decisões que devem ter a concordância dos clientes. Pode ser usado "Would Like (Gostaria)" para conferir melhor entendimento.

+

Requisitos

+

Na tabela 1 contém a priorização dos requisitos seguindo a técnica de Moscow.

+

Legenda da tabela:

+
    +
  • OB - Observação
  • +
  • IN - Introspecção
  • +
  • BS - Brainstorming
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdentificaçãoDescriçãoPrioridade
OB01Deve ser possível realizar loginMust
OB02Deve ser possível pesquisar livrosMust
OB03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / RelendoMust
OB04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.Could
OB05Deve ser possível adicionar comentários nos postsCould
OB06Deve ser possível curtir posts da timelineCould
IN01Deve ser possível realizar cadastroMust
IN02Deve ser possível recuperar a senhaMust
IN03Deve ser possível cadastrar um livroMust
IN04Deve ser possível escrever resenhas dos livros marcados como lidosShould
IN05Deve ser possível dar notas aos livros lidosShould
IN06Deve ser possível contabilizar os dias lendo livros quando o status for relendoShould
IN07Deve ser possível registrar o histórico de leituraShould
IN08Deve ser possível adicionar livro a estanteMust
IN09Deve ser possível criar lista de livros desejadosCould
IN10Deve ser possível compartilhar a lista de livros desejadosWould
IN11Deve ser possível pesquisar outros usuáriosCould
IN12Deve ser possível abrir e analisar o perfil de outros usuáriosCould
IN13Deve ser possível adicionar outros usuários como amigoCould
IN14Deve ser possível filtrar livros por notaCould
IN15Deve ser possível filtrar livros por categoriaCould
IN16A senha deve conter no mínimo um número uma letra maiúscula e um caracter especialShould
IN17Deve ser possível fazer cadastro/login com as credenciais do facebookShould
IN18Deve ser possível obter o aplicativo em qualquer sistema operacionalMust
BS01Deve ser possível Criar uma meta de leitura para o anoShould
BS02Deve ser possível sortear um livro cadastrado nas metas para o ano para a próxima leituraShould
BS03Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuárioShould
BS04Deve ser possível ver informações gerais de um livro cadastrado, como sinopse, autor, quantidade de páginas, etcMust
BS05Deve existir uma aba de lançamentos de livrosShould
BS06Deve existir uma aba de notícias sobre editoras e autoresShould
BS07Deve existir um FAQ para guiar os usuários nas funcionalidadesShould
BS08Deve ser possível alterar o tema (escuro/claro/variantes)Could
BS09Deve ser possível visualizar um ranking semanal/mensal de livros mais bem classificadosCould
BS10Deve ser possível visualizar um ranking semanal/mensal de livros mais lidosCould
BS11Deve ser possível postar fotos e/ou vídeos em formato "stories"Could
BS12Deve ser possível compartilhar estantesCould
BS13Deve ser possível realizar desafios dentro da plataformaCould
BS14Deve ser possível criar desafios entre amigosCould
BS15Deve ser possível mandar mensagens diretas entre usuáriosCould
BS16Deve ser possível conquistar prêmios e recompensas a partir de DesafiosWould
BS17Deve ser possível expor prêmios nos perfis e na TimeLineWould
BS18Deve ser possível receber recomendações de livros com base nas preferências literárias dos usuáriosCould
+
+

Tabela 1: Levantamento de requisitos Moscow. (Fonte: Rafael e Shaíne, 2023).

+
+ +

Conclusão

+

A priorização dos requisitos com os usuários do aplicativo Skoob, para fins de documentação, conclui que esse processo é essencial para criar uma documentação clara e eficaz, refletindo as prioridades dos usuários. Essa documentação servirá como uma valiosa referência, garantindo um alinhamento constante com as necessidades dos usuários.

+

Bibliografia

+

[1] SALES, André Barros. Técnicas de Priorização. Disponível em: https://aprender3.unb.br/pluginfile.php/2692772/mod_resource/content/2/Requisitos%20-%20Aula%2007.pdf. Acesso em 02 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.002/10/202303/10/2023Criação do artefatoShaíneRafael Amancio
1.103/10/202304/10/2023Priorização de RequisitosTodosTodos
1.204/10/202304/10/2023Requisitos de outras técnicas adicionadosRafael AmancioShaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/observacao/index.html b/elicitacao/observacao/index.html new file mode 100644 index 00000000..8da46208 --- /dev/null +++ b/elicitacao/observacao/index.html @@ -0,0 +1,2781 @@ + + + + + + + + + + + + + + + + + + + + + + + Observação - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Observacao Direta

+

Introdução

+

Também chamada de análise social [1], ou etnografia [2], A observação é uma técnica oriunda da antropologia e é usada quando ocorre algum problema entre a relação usuário-equipe. As vezes, o cliente não consegue explicar sua necessidade ou como funcionam seus processos, ou então não houve tempo para realizar entrevistas mais elaboradas, ou simplesmente o usuário não está confortável/disponível para entrevistas. Geralmente é utilizada em conjunto com outras técnicas.

+

Preparação

+

O objetivo da técnica é conseguir elicitar o máximo de requisitos referentes ao Escopo e a Profundidade da aplicação. Para isso, todos os integrantes do grupo participarão como Avaliadores Passivos [2].

+

A pessoa observada pelos avaliadores utilizou a plataforma e fez uma gravação de forma anônima. As atividades a serem observadas foram as funcionalidades principais que o sistema expõe para o usuário e o fluxo de operações foi totalmente baseado em interações com os livros da plataforma e com outros usuários na Time-Line

+

Execução

+

A gravação a seguir demonstra o video de usabilidade da plataforma. O mesmo foi analisado pela equipe para a elicitação dos requisitos.

+ + +

Após efetivada a análise, foram definidas as principais funcionalidades e requisitos.

+

Requisitos Elicitados

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdentificaçãoDescrição
OB01Deve ser possível realizar login
OB02Deve ser possível pesquisar livros
OB03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo
OB04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.
OB05Deve ser possível adicionar comentários nos posts
OB06Deve ser possível curtir posts da timeline
+
+

Tabela 1: Elicitação dos requisitos utilizando a técnica de Observação. (Fonte: Yago Passos, 2023).

+
+ +

Bibliografia

+

[1] REtraining UFSC Guia. Observação direta. REtraining, 2023. Disponível em: https://retraining.inf.ufsc.br/guia/app/classificacoes/tecnicas-de-elicitacao-de-requisitos/entidades/tecnicas-de-elicitacao-de-requisitos-observacao-direta. Acesso em: 03 de Outubro de 2023.

+

[2] VAZQUEZ, Carlos e SIMOES, Guilherme. Engenharia de Requisitos: Software Orientado a Negócio. Rio de Janeiro: Brasport, 2016

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.003/10/202304/10/2023Criação do artefatoYago PassosAna Rocha e Shaíne Oliveira
1.117/10/202318/10/2023Seção de ConclusãoYago PassosAna Rocha e Shaíne Oliveira
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/perfil_do_usuario/index.html b/elicitacao/perfil_do_usuario/index.html new file mode 100644 index 00000000..d80dfeba --- /dev/null +++ b/elicitacao/perfil_do_usuario/index.html @@ -0,0 +1,2825 @@ + + + + + + + + + + + + + + + + + + + + + + + Perfil do Usuário - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Perfil de Usuário

+

Introdução

+

Um perfil de usuário é uma representação detalhada das características, necessidades e preferências de quem vai usar um sistema ou produto. Elicitar requisitos através desses perfis ajuda a equipe de desenvolvimento a entender e atender melhor as expectativas dos usuários, garantindo um produto mais eficaz e satisfatório.

+

Metodologia

+

Com o objetivo de compreender melhor o perfil dos usuários do Skoob, adotamos a abordagem de realizar um questionário. Inicialmente, tentamos buscar informações relevantes em documentos existentes, porém, não obtivemos êxito nessa busca. Posteriormente, entramos em contato com a equipe do Skoob por meio de e-mail, na esperança de obter algumas informações, mas, infelizmente, não recebemos resposta.

+

Diante dessa situação, desenvolvemos um questionário elaborado com perguntas direcionadas e o compartilhamos em grupos de whatsapp. No processo de distribuição do questionário, destacamos que apenas aqueles que tinham experiência com o aplicativo deveriam participar da pesquisa.

+

A equipe elaborou algumas perguntas simples, com o objetivo de compreender melhor o perfil dos usuários. O questionário consiste em um total de cinco perguntas. Antes de começar a responder às perguntas, é apresentado um termo de consentimento, como visto na Figura 1. Somente após a aceitação deste termo, a pessoa pode prosseguir e responder o formulário. Este processo visa garantir a privacidade e a concordância dos participantes, assegurando que estejam confortáveis em compartilhar suas informações.

+

image

+
+

Figura 1 - Termo de consentimento apresentado no formulário. (Fonte: Jefferson França. 2023)

+
+ +

Resultado

+

Obtivemos um total de 16 respostas, com todos os participantes concordando com o termo de consentimento. A seguir, apresentamos os resultados das Figuras 2 a 6.

+
+Questão 1 - Perfil de usuário +
+ +

image

+
+

Figura 2 - Questão 1. (Fonte: Jefferson França. 2023)

+
+ +

Com base nos resultados do gráfico, foi observado que 87,5% das pessoas que participaram do questionário já utilizaram o aplicativo Skoob.

+
+Questão 2 - Perfil de usuário +
+ +

image

+
+

Figura 3 - Questão 2. (Fonte: Jefferson França. 2023)

+
+ +

Conforme ilustrado no gráfico, 56,3% das pessoas que responderam ao questionário estão na faixa etária entre 18 e 23 anos.

+
+Questão 3 - Perfil de usuário +
+ +

image

+
+

Figura 4 - Questão 3. (Fonte: Jefferson França. 2023)

+
+ +

De acordo com o gráfico, 62,5% das pessoas que responderam ao formulário identificam-se como do gênero feminino.

+
+Questão 4 - Perfil de usuário +
+ +

image

+
+

Figura 5 - Questão 4. (Fonte: Jefferson França. 2023)

+
+ +

De acordo com o gráfico, 50% das pessoas que utilizam o aplicativo indicou a frequência de uso como 'Às vezes', o que sugere que elas não o utilizam diariamente.

+
+Questão 5 - Perfil de usuário +
+ +

image

+
+

Figura 6 - Questão 5. (Fonte: Jefferson França. 2023)

+
+ +

Com base no gráfico, impressionantes 93,8% das pessoas afirmaram que recomendariam o aplicativo a um amigo

+
+Questão 6 - Perfil de usuário +
+ +

image

+
+

Figura 7 - Questão 6. (Fonte: Jefferson França. 2023)

+
+ +

Com base no gráfico, 13 pessoas utilizam o aplicativo com o propósito de descobrir novos livros.

+

Perfil Encontrado

+

Após analisarmos as respostas, chegamos à conclusão de que o perfil do usuário é o seguinte:

+
    +
  • Gênero: Maioria feminino.
  • +
  • Idade: Entre 18 e 23 anos.
  • +
  • Frequência de uso: Não utilizam diariamente.
  • +
  • Tarefas primárias: Encontrar livros e organizar leitura.
  • +
+

Bibliografia

+

[1]BARBOSA, Simone D.J. Interação Humano-Computador. 2023.

+

[2] Perfil do Usuário em Bilheteria Digital. Disponível em: https://requisitos-de-software.github.io/2023.1-BilheteriaDigital/elicitacao/perfil_de_usuario/. Acesso em 04 de Outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.004/10/202304/10/2023Criação do artefatoAna Rocha e Jefferson FrançaYago Passos
1.104/10/202304/10/2023Adicionando introduçãoJefferson FrançaYago Passos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/personas/index.html b/elicitacao/personas/index.html new file mode 100644 index 00000000..f8c4c707 --- /dev/null +++ b/elicitacao/personas/index.html @@ -0,0 +1,2491 @@ + + + + + + + + + + + + + + + + + + + Personas - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Personas

+ + + + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/requisitos/index.html b/elicitacao/requisitos/index.html new file mode 100644 index 00000000..174f14c9 --- /dev/null +++ b/elicitacao/requisitos/index.html @@ -0,0 +1,2915 @@ + + + + + + + + + + + + + + + + + + + + + + + Requisitos Elicitados - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Requisitos Elicitados

+

Na tabela 1 é possível identificar todos os requisitos elicitados e na legenda pode-se verificar a rastreabilidade:

+

Legenda da tabela:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdentificaçãoDescriçãoTipo
OB01Deve ser possível realizar loginRF
OB02Deve ser possível pesquisar livrosRF
OB03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / RelendoRF
OB04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.RF
OB05Deve ser possível adicionar comentários nos postsRF
OB06Deve ser possível curtir posts da timelineRF
IN01Deve ser possível realizar cadastroRF
IN02Deve ser possível recuperar a senhaRF
IN03Deve ser possível cadastrar um livroRF
IN04Deve ser possível escrever resenhas dos livros marcados como lidosRF
IN05Deve ser possível dar notas aos livros lidosRF
* IN06 *Deve ser possível contabilizar os dias lendo livros quando o status for relendoRF
IN07Deve ser possível registrar o histórico de leituraRF
IN08Deve ser possível adicionar livro a estanteRF
IN09Deve ser possível criar lista de livros desejadosRF
IN10Deve ser possível compartilhar a lista de livros desejadosRF
IN11Deve ser possível pesquisar outros usuáriosRF
IN12Deve ser possível abrir e analisar o perfil de outros usuáriosRF
IN13Deve ser possível adicionar outros usuários como amigoRF
* IN14 *Deve ser possível filtrar livros por notaRF
* IN15 *Deve ser possível filtrar livros por categoriaRF
* IN16 *A senha deve conter no mínimo um número uma letra maiúscula e um caracter especialRNF
IN17Deve ser possível fazer cadastro/login com as credenciais do facebookRNF
IN18Deve ser possível obter o aplicativo em qualquer sistema operacionalRNF
IN19Os dados do usuário devem ser guardados de forma eficaz, impendindo o vazamento dos mesmosRNF
IN20O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resoluçõesRNF
BS01Deve ser possível Criar uma meta de leitura para o anoRF
BS02Deve ser possível sortear um livro cadastrado nas metas para o ano para a próxima leituraRF
* BS03 *Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuárioRF
BS04Deve ser possível ver informações gerais de um livro cadastrado, como sinopse, autor, quantidade de páginas, etcRF
BS05Deve existir uma aba de lançamentos de livrosRF
* BS06 *Deve existir uma aba de notícias sobre editoras e autoresRF
* BS07 *Deve existir um FAQ para guiar os usuários nas funcionalidadesRF
BS08Deve ser possível alterar o tema (escuro/claro/variantes)RF
* BS09 *Deve ser possível visualizar um ranking semanal/mensal de livros mais bem classificadosRF
* BS10*Deve ser possível visualizar um ranking semanal/mensal de livros mais lidosRF
* BS11 *Deve ser possível postar fotos e/ou vídeos em formato "stories"RF
* BS12 *Deve ser possível compartilhar estantesRF
BS13Deve ser possível realizar desafios dentro da plataformaRF
* BS14 *Deve ser possível criar desafios entre amigosRF
BS15Deve ser possível mandar mensagens diretas entre usuáriosRF
* BS16 *Deve ser possível conquistar prêmios e recompensas a partir de DesafiosRF
* BS17 *Deve ser possível expor prêmios nos perfis e na TimeLineRF
* BS18 *Deve ser possível receber recomendações de livros com base nas preferências literárias dos usuáriosRF
BS19O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdo.RNF
+
+

Tabela 1: Elicitação de Requisitos. (Fonte: Rafael e Shaíne, 2023).

+
+ +

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.018/10/202320/10/2023Criação do artefatoShaíne Oliveira e Rafael AmancioAna Rocha, e Yago Passos
1.120/10/202320/10/2023Adição de hiperlinks e nova classificaçãoShaíne Oliveira e Rafael AmancioAna Rocha, e Yago Passos
1.224/10/202325/10/2023Alterações na tabelaRafael AmancioTodos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/elicitacao/three_level_scale/index.html b/elicitacao/three_level_scale/index.html new file mode 100644 index 00000000..9cfed652 --- /dev/null +++ b/elicitacao/three_level_scale/index.html @@ -0,0 +1,3157 @@ + + + + + + + + + + + + + + + + + + + + + + + Three-Level Scale - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Three-Level Scale

+

Introdução

+

Um sistema de escala de três níveis é uma abordagem simples e eficaz para classificar requisitos em três categorias distintas. Essas categorias frequentemente são rotuladas como prioridade "alta", "média" e "baixa". A utilidade desse sistema reside na sua capacidade de simplificar a classificação e a tomada de decisões, tornando mais fácil para as pessoas avaliarem e compararem diferentes opções. Para o projeto a técnica será utilizada por um desenvolvedor, que também séra o mediador, e um usuário. A Figura 1 ilustra a divisão das categorias desta técnica.

+
+ image +
+
+

Figura 1: Priorização de requisitos - Three-Level Scale. (Fonte: SALES, André Barros [1], 2023).

+
+ +

Metodologia

+

A técnica divide os requisitos em três categorias: alto, médio e baixo, com base em sua importância ou prioridade. Isso simplifica o processo de avaliação e permite que a equipe se concentre nos requisitos mais críticos, enquanto também reconhece os menos urgentes. É uma abordagem eficaz para garantir que recursos e esforços sejam direcionados para as áreas mais importantes de um projeto ou tarefa.

+

Todo o processo de categorização é uma atividade colaborativa que envolve a equipe, e é fundamental que haja consenso entre todos os membros sobre a categoria em que cada requisito deve ser classificado.

+

Cronograma

+

Na tabela 1, temos o cronograma detalhado do dia e do horário em que a reunião será realizada e também dos participantes e suas respectivas funções na utilização da técnica.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ParticipantesDataHora
Mediador: Jefferson
Desenvolvedor: Ana04/10/202317h
Usuário: Vitória Monteiro
+
+

Tabela 1: Cronograma para execução da técnica. (Fonte: Jefferson França, 2023).

+
+ +

Gravação da Técninca

+

Vídeo 1, da gravação:

+ +
+

Vídeo 1: Estimativa da parte do usuário - First Things First. (Fonte: Grupo Skoob, 2023).

+
+ +

Requisitos Priorizados

+

Legenda das tabelas:

+
- n: Número do Requisito;
+- RFn:  Requisito Funcional;
+- RNFn: Requisito Não Funcional;
+- OBSn: Requisito elicitado por meio de Observação;
+- BSn: Requisito elicitado por meio de Brainstorming;
+- ISn: Requisito elicitado por meio de Introspecção.
+
+

Na tabela 2, temos os requisitos já priorizados de acordo com a técnica Three-Level Scale.

+

Backlog de Funcionalidades (BS)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IdDescriçãoTipoPrioridade
BS01Deve ser possível ver informações gerais de um livro cadastrado, como sinopse, autor, quantidade de páginas, etcRF01Alta
BS02Deve ser possível visualizar as minhas resenhas e as de outros usuáriosRF02Média
BS03Deve existir uma timeline onde é possível ver informações sobre pessoas que você segue.RF03Baixa
BS04Deve existir uma aba de lançamentos de livrosRF04Alta
BS05Deve ser possível sortear um livro dentre os livros marcados como Quero Ler para a próxima leitura do usuárioRF05Média
BS06Deve ser possível sortear um livro cadastrado nas metas do anoRF06Baixa
BS07Deve ser possível curtir posts da timelineRF07Baixa
BS08Deve ser possível alterar o tema (escuro/claro/variantes)RF08Média
BS09Deve existir uma aba de notícias sobre editoras e autoresRF09Baixa
BS10Deve haver contato com a equipe SkoobRF10Média
BS11Deve existir um FAQ para guiar os usuários nas funcionalidadesRF11Alta
BS12Deve ser possível postar algo livremente na timelineRF12Baixa
BS13Deve ser possível alterar o idioma da plataformaRF13Média
BS14Deve existir uma lista de sugestão de acordo com livros lidosRF14Baixa
BS15Deve existir um ranking semanal/mensal de livros mais lidos.RF15Baixa
BS16Deve existir um ranking semanal/mensal de livros mais bem classificados.RF16Baixa
BS17Deve ser possível ver a compatibilidade de gosto literário entre usuáriosRF17Baixa
BS18Deve ser possível criar desafios entre amigos.RF18Média
BS19Deve ser possível compartilhar estantesRF19Baixa
BS20Deve ser possível postar fotos e/ou vídeos em formato “stories”RF20Baixa
BS21Devem ser exibidas mensagens de erro mais intuitivasRF21Média
BS22Deve haver recompensas que são obtidas através de desafios e metas.RF22Baixa
BS23Deve haver mais medalhas, que são exibidas no perfil das pessoasRF23Baixa
BS24Deve haver um ranking entre amigos.RF24Baixa
BS25Deve ser possível mandar mensagens diretas entre usuáriosRF25Baixa
BS26O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdo.RNF05Média
OB01Deve ser possível realizar loginRF01Alta
OB02Deve ser possível pesquisar livrosRF02Alta
OB03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / RelendoRF03Alta
OB04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.RF04Baixa
OB05Deve ser possível adicionar comentários nos postsRF05Média
IN01Deve ser possível realizar cadastroRF01Alta
IN02Deve ser possível recuperar a senhaRF02Alta
IN03Deve ser possível cadastrar um livroRF03Alta
IN04Deve ser possível escrever resenhas dos livros marcados como lidosRF04Média
IN05Deve ser possível dar notas aos livros lidosRF05Média
IN06Deve ser possível contabilizar os dias lendo livros quando o status for relendoRF06Média
IN07Deve ser possível registrar o histórico de leituraRF07Média
IN08Deve ser possível adicionar livro a estanteRF08Alta
IN09Deve ser possível criar lista de livros desejadosRF09Baixa
IN10Deve ser possível compartilhar a lista de livros desejadosRF10Baixa
IN11Deve ser possível pesquisar outros usuáriosRF11Baixa
IN12Deve ser possível abrir e analisar o perfil de outros usuáriosRF12Baixa
IN13Deve ser possível adicionar outros usuários como amigoRF13Baixa
IN14Deve ser possível filtrar livros por notaRF14Baixa
IN15Deve ser possível filtrar livros por categoriaRF15Média
IN16A senha deve conter no mínimo um número, uma letra maiúscula e um caractere especialRNF01Alta
IN17Deve ser possível fazer cadastro/login com as credenciais do FacebookRNF02Média
IN18Deve ser possível obter o aplicativo em qualquer sistema operacionalRNF03Alta
IN19Os dados do usuário devem ser guardados de forma eficaz, impendindo o vazamento dos mesmosRNF04Alta
IN20O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resoluçõesRNF06Média
+
+

Tabela 2: Priorização dos requisitos utilizando a técnica. (Fonte: Jefferson França, 2023).

+
+ +

Conclusão

+

A técnica de Three-Level Scale foi instrumental para priorizar os requisitos de forma clara e eficiente, garantindo que a equipe direcionasse seus esforços para as áreas mais cruciais do projeto. Ao categorizar os requisitos em alto, médio e baixo, pudemos estabelecer uma hierarquia clara de necessidades, facilitando a tomada de decisões em relação ao desenvolvimento. A colaboração entre o mediador, o desenvolvedor e o usuário foi fundamental para assegurar que os requisitos fossem avaliados de maneira justa e imparcial. Com base na priorização estabelecida, estamos prontos para avançar com um foco renovado nas funcionalidades mais críticas e fundamentais para o sucesso do projeto.

+

Bibliografia

+

[1] SALES, André Barros. Técnicas de Priorização. Disponível em: Aprender 3. Acesso em 04 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.003/10/202304/10/2023Criação do artefatoJefferson França e Rafael AmancioAna Rocha, Shaíne Oliveira e Yago Passos
1.104/10/202304/10/2023Adição do vídeoJefferson França e Rafael AmancioAna Rocha, Shaíne Oliveira e Yago Passos
1.216/10/202317/10/2023Atualização da introduçãoAna RochaJefferson França
1.317/10/202318/10/2023Seção de ConclusãoYago PassosAna Rocha
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/img/logo_skoobB.svg b/img/logo_skoobB.svg new file mode 100644 index 00000000..1b5f3a10 --- /dev/null +++ b/img/logo_skoobB.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/logo_skoobPeB.svg b/img/logo_skoobPeB.svg new file mode 100644 index 00000000..937fa627 --- /dev/null +++ b/img/logo_skoobPeB.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..6e26180f --- /dev/null +++ b/index.html @@ -0,0 +1,2700 @@ + + + + + + + + + + + + + + + + + + + + + Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Skoob

+

O Skoob é uma plataforma de mídia social dedicada aos amantes da leitura, permitindo que você organize sua coleção de livros, classificando-os como "para ler", "em leitura", "lidos", "relendo" e "abandonados". Além disso, você tem a possibilidade de estabelecer metas de leitura, registrar seu histórico de leituras, escrever resenhas detalhadas e atribuir avaliações aos livros, entre outras funcionalidades.

+
+ Skoob +
+ +

Equipe

+

+ + + + + + + + +
+ + +
Ana Caroline
+
+
+ + +
Jefferson França
+
+
+ + +
Rafael Fernandes
+
+
+ + +
Shaíne Oliveira
+
+
+ + +
Yago Passos
+
+
+ +

+
+

Tabela 1: Equipe de trabalho (Fonte: Shaíne Oliveira, 2023).

+
+ +

Histórico de Versões

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor(es)Data de revisãoRevisor(es)
07/09/20231.0Versão inicial de documentoRafael Fernandes15/09/2023Shaíne Oliveira
15/09/20231.1Atualização de documentoShaíne Oliveira17/09/2023Ana Caroline
18/09/20231.2Atualizando nome do projetoShaíne Oliveira18/09/2023Ana Caroline
18/09/20231.2.1Correção do texto e adição da logo do AplicativoAna Caroline18/09/2023Shaíne Oliveira
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/modelagem/backlog/index.html b/modelagem/backlog/index.html new file mode 100644 index 00000000..79d060d3 --- /dev/null +++ b/modelagem/backlog/index.html @@ -0,0 +1,3334 @@ + + + + + + + + + + + + + + + + + + + + + + + Backlog - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

Backlog do Produto

+

Introdução

+

   O Backlog do Produto é uma lista priorizada de itens sobre os quais o time de desenvolvimento trabalhará no decorrer do projeto. Trata-se da lista de funcionalidades e requisitos que deverão ser entregues ao cliente ao longo das Sprints. Ele é atualizado, reordenado e refinado de acordo com o nível de detalhes que é possível de se ter em cada momento do projeto.
+   Os itens do Backlog do Produto são organizados pelo Product Owner de acordo com a ordem em que serão desenvolvidos, de forma a maximizar o retorno ao clientes. Assim, os itens do topo do Backlog são colocados em desenvolvimento primeiro [1].

+

Metodologia

+

   Para a metodologia foi utilizado o Microsoft Excel e o Miro para organizar o agrupamento dos requisitos por temas. Uma reunião na plataforma Teams foi realizada no dia 03/11/2023, em que participaram os integrantes: Rafael Amancio, Yago Passos e Jefferson França. A reunião que deu origem a esse artefato foi gravada (Vídeo 1) e pode ser acessada a seguir:

+ + +
+

Vídeo 1: Elaboração inicial do Backlog. (Fonte: Rafael Amancio, 2023).

+
+ +

+
+

Temas

+
+

   Ao analisar os requisitos, foi observado que eles poderiam ser organizados em três grandes temas:

+
    +
  • Login +
  • Livro +
  • Usuário +
+

   Os temas compõem o maior nível de abstração do backlog, sendo necessário especificar ainda mais através da criação dos Épicos.

+
+ +

Épicos

+
+

   Ao analisar os temas, foram criados os seguintes Épicos:

+
    +
  • Acessibilidade +
  • Livro +
  • Usuário +
  • Acompanhamento +
  • Entretenimento +
+

   Os Épicos melhoram a especificidade da classificação dos requisitos. Com os Épicos definidos, o próximo passo é realizar a classificação.

+
+ +

Épico 1 - Acessibilidade

+

   Esse Épico irá classificar todos os requisitos voltados ao acesso do usuário ao Skoob, abrangendo funções de login, cadastro de usuário, ajuda, entre outras. Esses requisitos podem ser visualizados na Tabela 1:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDRequisitoRastreabilidade
OB01Deve ser possível realizar loginOB
IN01Deve ser possível realizar cadastroIN
IN02Deve ser possível recuperar a senhaIN
IN16A senha deve conter no mínimo um número uma letra maiúscula e um caracter especialIN
IN17Deve ser possível fazer cadastro/login com as credenciais do facebookIN
IN18Deve ser possível obter o aplicativo em qualquer sistema operacionalIN
BS07Deve existir um FAQ para guiar os usuários nas funcionalidadesBS
BS08Deve ser possível alterar o tema (escuro/claro/variantes)BS
+
+

Tabela 1: Requisitos do Épico 1 (Fonte: Rafael Amancio, 2023).

+
+ +

Épico 2 - Livro

+

   Esse Épico irá classificar todos os requisitos voltados aos livros, abrangendo funções de busca, cadastro, visualização, ranking, entre outras. Esses requisitos podem ser visualizados na Tabela 2:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDRequisitoRastreabilidade
OB02Deve ser possível pesquisar livrosOB
IN03Deve ser possível cadastrar um livroIN
IN04Deve ser possível escrever resenhas dos livros marcados como lidosIN
IN05Deve ser possível dar notas aos livros lidosIN
IN14Deve ser possível filtrar livros por notaIN
IN15Deve ser possível filtrar livros por categoriaIN
BS02Deve ser possível sortear um livro cadastrado nas metas para o ano para a próxima leituraBS
BS03Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuárioBS
BS04Deve ser possível ver informações gerais de um livro cadastrado, como sinopse, autor, quantidade de páginas, etcBS
BS05Deve existir uma aba de lançamentos de livrosBS
BS09Deve ser possível visualizar um ranking semanal/mensal de livros mais bem classificadosBS
BS10Deve ser possível visualizar um ranking semanal/mensal de livros mais lidosBS
BS18Deve ser possível receber recomendações de livros com base nas preferências literárias dos usuáriosBS
+
+

Tabela 2: Requisitos do Épico 2 (Fonte: Rafael Amancio, 2023).

+
+ +

Épico 3 - Usuário

+

   Esse Épico irá classificar todos os requisitos voltados aos usuários e suas interações, abrangendo funções de busca, compartilhamento, mensagens diretas, perfil, entre outras. Esses requisitos podem ser visualizados na Tabela 3:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDRequisitoRastreabilidade
OB04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.OB
OB05Deve ser possível adicionar comentários nos postsOB
OB06Deve ser possível curtir posts da timelineOB
IN07Deve ser possível registrar o histórico de leituraIN
IN10Deve ser possível compartilhar a lista de livros desejadosIN
IN11Deve ser possível pesquisar outros usuáriosIN
IN12Deve ser possível abrir e analisar o perfil de outros usuáriosIN
IN13Deve ser possível adicionar outros usuários como amigoIN
BS12Deve ser possível compartilhar estantesBS
BS15Deve ser possível mandar mensagens diretas entre usuáriosBS
BS17Deve ser possível expor prêmios nos perfis e na TimeLineBS
+
+

Tabela 3: Requisitos do Épico 3 (Fonte: Rafael Amancio, 2023).

+
+ +

Épico 4 - Acompanhamento

+

   Esse Épico irá classificar todos os requisitos voltados ao acompanhamento de leitura, abrangendo funções de tags de livros, estantes, contagem de leitura, entre outras. Esses requisitos podem ser visualizados na Tabela 4:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDRequisitoRastreabilidade
OB03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / RelendoOB
IN06Deve ser possível contabilizar os dias lendo livros quando o status for relendoIN
IN08Deve ser possível adicionar livro a estanteIN
IN09Deve ser possível criar lista de livros desejadosIN
BS01Deve ser possível Criar uma meta de leitura para o anoBS
BS06Deve existir uma aba de notícias sobre editoras e autoresBS
+
+

Tabela 4: Requisitos do Épico 4 (Fonte: Rafael Amancio, 2023).

+
+ +

Épico 5 - Entretenimento

+

   Esse Épico irá classificar todos os requisitos voltados ao entretenimento do usuário, abrangendo funções de stories, desafios e conquistas. Esses requisitos podem ser visualizados na Tabela 4:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDRequisitoRastreabilidade
BS11Deve ser possível postar fotos e/ou vídeos em formato "stories"BS
BS13Deve ser possível realizar desafios dentro da plataformaBS
BS14Deve ser possível criar desafios entre amigosBS
BS16Deve ser possível conquistar prêmios e recompensas a partir de DesafiosBS
+
+

Tabela 4: Requisitos do Épico 5 (Fonte: Rafael Amancio, 2023).

+
+ +

Priorização

+

A Tabela 5 a seguir relaciona os épicos definidos, as histórias de usuário e suas prioridades [2].

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
História de UsuárioÉpicoPrioridade
US01Épico 1: AcessibilidadeShould
US02Épico 1: AcessibilidadeMust
US03Épico 4: AcompanhamentoMust
US04Épico 4: AcompanhamentoShould
US05Épico 2: LivroCould
US06Épico 3: UsuárioShould
US07Épico 3: UsuárioShould
US08Épico 4: AcompanhamentoShould
US09Épico 4: AcompanhamentoCould
US10Épico 3: UsuárioWould
US11Épico 3: UsuárioCould
US12Épico 3: UsuárioCould
US13Épico 3: UsuárioCould
US14Épico 2: LivroCould
US15Épico 2: LivroCould
US16Épico 5: EntretenimentoCould
US17Épico 5: EntretenimentoCould
US18Épico 2: LivroCould
US19Épico 2: LivroShould
US20Épico 1: AcessibilidadeCould
+
+

Tabela 5: Relação Histórias de Usuário com os Épicos (Fonte: Rafael Amancio, 2023).

+
+ +

Conclusão

+
+ +   O Backlog do Produto consegue deixar claro o que precisa ser feito e em qual ordem de prioridade, servindo como um guia para os desenvolvedores no decorrer do projeto. Sua flexibilidade somada com a simplicidade agrega valor ao cliente e facilita a vida dos desenvolvedores, o que o torna um artefato de extrema importância. + +
+ +

Bibliografia

+

[1] SALES, André. Modelagem de Requisitos. Disponível em: Aprender 3. Acesso em 04 de novembro de 2023.
+[2] Equipe 2023.1-VLC . Disponível em: Github. Acesso em 04 de novembro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.004/11/202304/11/2023Criação do artefatoRafael AmancioYago Passos e Jefferson França
1.106/11/202306/11/2023Correções e adição do vídeoRafael AmancioYago Passos e Jefferson França
1.206/11/202306/11/2023Adicionada tabela 5Rafael Amancio-
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/modelagem/casos_de_uso/index.html b/modelagem/casos_de_uso/index.html new file mode 100644 index 00000000..180268a5 --- /dev/null +++ b/modelagem/casos_de_uso/index.html @@ -0,0 +1,3229 @@ + + + + + + + + + + + + + + + + + + + + + + + Casos de uso - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

Casos de Uso

+

Introdução

+

Diagramas de casos de uso descrevem o que o sistema faz do ponto de vista do usuário, destacando suas principais funcionalidades e como os usuários interagem com ele. Ele não entra em detalhes técnicos, concentrando-se nas ações do usuário. Esse artefato é frequentemente derivado da especificação de requisitos e pode servir como base para o documento de requisitos do sistema.

+

Componentes e Símbolos

+

Utilizando o software de diagramação LucidChart, elaboramos os diagramas de casos de uso. Para uma melhor compreensão dos diagramas apresentados neste artefato, foi desenvolvida uma legenda, Figura 1, que esclarece o significado de cada elemento presente nos diagramas.

+

+ Legenda +

+
+

Figura 1 - Legenda diagramas. (Fonte: Jefferson França. 2023)

+
+ +

Atores

+

Em um diagrama de casos de uso, "atores" são entidades externas (como usuários ou sistemas) que interagem com o sistema para realizar ações específicas. Eles ajudam a identificar as interações essenciais entre o sistema e seu ambiente.

+

Cenário

+

Em um diagrama de casos de uso, um "cenário" descreve uma sequência de eventos que ilustra como um ou mais casos de uso específicos são executados. Os cenários fornecem detalhes sobre como os atores interagem com o sistema e o que acontece em diferentes etapas de uma funcionalidade, ajudando a compreender o comportamento do sistema a partir da perspectiva do usuário.

+

No contexto de um diagrama de casos de uso, é essencial que todos os casos de uso descritos estejam incluídos nos cenários. Caso contrário, esses casos de uso serão considerados fora do escopo do sistema

+

Comunicação

+

Em um diagrama de casos de uso, "comunicação" se refere à forma como os casos de uso interagem.

+
    +
  • "Extend" (estender) descreve cenários opcionais que ampliam um caso de uso base em circunstâncias específicas.
  • +
  • "Include" (incluir) representa funcionalidades compartilhadas por vários casos de uso, evitando duplicação.
  • +
+

Essas relações ajudam a organizar e tornar os diagramas mais eficientes.

+

Caso de Uso

+

Em um diagrama de casos de uso, um "caso de uso" representa uma funcionalidade ou interação específica que o sistema oferece aos usuários ou atores externos. Ele descreve o que o sistema faz, sem entrar em detalhes técnicos, e foca nas ações e interações que os atores têm com o sistema. Os casos de uso ajudam a definir os requisitos funcionais do sistema e a documentar as principais funcionalidades que o sistema deve suportar.

+

Casos de Uso

+

Na Figura 2, é possível analisar o diagrama de casos de uso, no qual estão representadas as atividades mais relevantes e essenciais do aplicativo. As especificações detalhadas dos casos de uso podem ser encontradas nas tabelas de 1 a 5, apresentadas logo abaixo.

+

+ Casos de Uso +

+
+

Figura 2 - Diagrama de casos de uso. (Fonte: Jefferson França. 2023)

+
+ +

UC01. Adicionar livro à estante

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UC01Adicionar Livro à Estante
AtoresUsuário
Frequência de usoAlta
DescriçãoEste caso de uso representa a ação de um usuário adicionar um livro à sua estante pessoal no aplicativo Skoob. A estante é onde o usuário pode acompanhar seus livros lidos, em leitura e desejados.
RequisitosPesquisar um livro.
Selecionar um livro
Etiquetar livro
Condição de entradaPesquisar o livro desejado.
Fluxo principalFluxo 1 - FEP1
  1. O usuário pesquisa um livro no aplicativo.
  2. O usuário seleciona o livro desejado na lista de resultados de pesquisa.
  3. O usuário define qual etiqueta ele vai atribuir ao livro.
  4. O usuário escolhe uma etiqueta (por exemplo, "Lido", "Lendo", "Desejo Ler", etc.).
  5. Dependendo da etiqueta escolhida, o sistema pode solicitar informações adicionais relacionadas a essa etiqueta. Por exemplo, se a etiqueta for "Lido", o sistema pode pedir uma avaliação ou uma resenha do livro.
  6. O usuário fecha a aba de etiquetagem e o livro é adicionado à estante.
Fluxos alternativosFluxo 1 - FEA1
  1. O usuário pesquisa um livro no aplicativo.
  2. O usuário seleciona o livro desejado na lista de resultados de pesquisa.
  3. O usuário visualiza os detalhes do livros desejado.
  4. O usuário define qual etiqueta ele vai atribuir ao livro.
  5. O usuário escolhe uma etiqueta (por exemplo, "Lido", "Lendo", "Desejo Ler", etc.).
  6. Dependendo da etiqueta escolhida, o sistema pode solicitar informações adicionais relacionadas a essa etiqueta. Por exemplo, se a etiqueta for "Desejo Ler", o sistema pergunta quando ele quer ler.
  7. O usuário fecha a aba de etiquetagem e o livro é adicionado à estante.
Fluxos de exceçãoFluxo 1 - FE01
  1. O usuário pesquisa um livro no aplicativo.
  2. O livro não é encontrado pelo sistema
Pós condiçõesO usuário tem o livro adicionado a sua estante.
Data da criação22/10/2023
RastreabilidadeOB02, OB03 e IN08
+
+

Tabela 1: Especificação do caso de uso: Adicionar Livro à Estante. (Fonte: Jefferson França. 2023).

+
+ +

UC02. Escrever Resenha

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UC02Escrever Resenha
AtoresUsuário
Frequência de usoMédia
DescriçãoEste caso de uso representa a ação de um usuário escrever uma resenha de um livro já lido. A resenha é publicada em seu perfil onde outros usuários podem ter acesso.
RequisitosEtiqueta do Livro como "Lido".
Condição de entradaSelecionar livro na estante.
Fluxo principalFluxo 1 - FEP1
  1. O usuário navega até seu perfil.
  2. O usuário acessa sua estante.
  3. O usuário seleciona um livro que possui a etiqueta marcada como "Lido".
  4. O usuário clica "Resenha".
  5. O usuário clica em "Comente sua leitura".
  6. O usuário define um título da resenha e escreve sua resenha.
  7. O usuário publica sua resenha.
Fluxos alternativosFluxo 1 - FEP1
  1. O usuário pesquisa um livro no aplicativo.
  2. O usuário seleciona o livro desejado na lista de resultados de pesquisa.
  3. O usuário define qual etiqueta ele vai atribuir ao livro.
  4. O usuário define a etiqueta como "Lido".
  5. O usuário avalia o livro por meio das estrelas.
  6. O usuário clica em "Resenha".
  7. O usuário clica em "Comente sua leitura".
  8. O usuário publica sua resenha
Fluxos de exceçãoFluxo 1 - FE01
  1. O usuário navega até seu perfil.
  2. O usuário acessa sua estante.
  3. O usuário seleciona um livro que possui a etiqueta marcada como "Lendo".
Pós condiçõesO usuário tem a resenha do livro publicada em seu perfil
Data da criação22/10/2023
RastreabilidadeIN04, IN05, IN01, OB01
+
+

Tabela 2: Especificação do caso de uso: Escrever Resenha. (Fonte: Jefferson França. 2023).

+
+ +

UC03. Adicionar Amigo

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UC03Adicionar Amigo
AtoresUsuário
Frequência de usoAlta
DescriçãoEste caso de uso representa a ação de um usuário adicionar um amigo a sua lista de amigos.
RequisitosTer perfil cadastrado.
Condição de entradaEncontrar amigo.
Fluxo principalFluxo 1 - FEP1
  1. O usuário pesquisa o perfil do amigo.
  2. O usuário visita o perfil do amigo.
  3. O usuário clica nos três pontos presentes no perfil do amigo.
  4. O usuário clica em "Amigos?".
  5. O usuário confirma que deseja enviar uma solicitação de amizade
Fluxos alternativosFluxo 1 - FEP1
  1. O usuário encontra o perfil de um amigo na página inicial.
  2. O usuário acessa o perfil do amigo.
  3. O usuário clica nos três pontos presentes no perfil do amigo.
  4. O usuário clica em "Amigos?".
  5. O usuário confirma que deseja enviar uma solicitação de amizade
Fluxos de exceçãoFluxo 1 - FE01
  1. O usuário pesquisa o perfil do amigo.
  2. O usuário digita o nome do amigo errado.
  3. O usuário não encontra o amigo.
Pós condiçõesO usuário tem seu amigo adicionado a sua lista de amigos
Data da criação22/10/2023
RastreabilidadeIN01, IN11, IN13
+
+

Tabela 3: Especificação do caso de uso: Adicionar Amigo. (Fonte: Jefferson França. 2023).

+
+ +

UC04. Compartilhar Atividades de Leitura

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UC04Compartilhar Atividades de Leitura
AtoresUsuário
Frequência de usoAlta
DescriçãoEste caso de uso representa a ação de um usuário atualizar seu histórico de leitura.
RequisitosTer um livro com a etiqueta "Lendo".
Condição de entradaEtiquetar livro como "Lendo".
Fluxo principalFluxo 1 - FP01
  1. O usuário acessa o seu perfil.
  2. O usuário acessa sua estante.
  3. O usuário clica na etiqueta do livro.
  4. O usuário clica em "Novo".
  5. O usuário informa o que está achando da leitura.
  6. O usuário informa qual página ele está.
  7. O usuário salva.
  8. Atividade de leitura é compartilhada no perfil do usuário.
Fluxos alternativosFluxo 1 - FA01
  1. O usuário pesquisa um livro no aplicativo.
  2. O usuário seleciona o livro desejado na lista de resultados de pesquisa.
  3. O usuário define qual etiqueta como "Lendo".
  4. O usuário clica em "Histórico".
  5. O usuário clica em "Novo".
  6. O usuário informa o que está achando do livro.
  7. O usuário informa em qual página ele está.
  8. O usuário salva.
  9. A atividade de leitura é compartilhada no perfil do usuário.
Fluxos de exceçãoNão há.
Pós condiçõesO usuário tem sua atividade de leitura compartilhada
Data da criação22/10/2023
RastreabilidadeOB03, IN07
+
+

Tabela 4: Especificação do caso de uso: Compartilhar atividades de leitura. (Fonte: Jefferson França. 2023).

+
+ +

UC05. Comentar publicação

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UC05Comentar publicação
AtoresUsuário
Frequência de usoBaixa
DescriçãoEste caso de uso representa a ação de um usuário comentar a atividade de algum outro usuário.
RequisitosSer cadastrado.
Condição de entradaPossuir Perfil.
Fluxo principalFluxo 1 - FP01
  1. O usuário acessa a página principal.
  2. O usuário rola a página até encontrar uma publicação do seu interesse.
  3. O usuário clica em comentar.
  4. O usuário escreve seu comentário.
  5. O usuário envia o comentário.
Fluxos alternativosFluxo 1 - FA01
  1. O usuário acessa o perfil do amigo.
  2. O usuário vê uma publicação que gostou.
  3. O usuário clica em comentar.
  4. O usuário escreve seu comentário.
  5. O usuário envia o comentário.
Fluxos de exceçãoNão há.
Pós condiçõesO usuário tem seu comentário publicado na postagem.
Data da criação22/10/2023
RastreabilidadeOB05
+
+

Tabela 5: Especificação do caso de uso: Comentar publicação. (Fonte: Jefferson França. 2023).

+
+ +

Bibliografia

+

[1] DevMedia. O que é UML e Diagramas de Caso de Uso: Introdução Prática à UML. 2012. DevMedia. Disponível em: https://www.devmedia.com.br/o-que-e-uml-e-diagramas-de-caso-de-uso-introducao-pratica-a-uml/23408. Acessado em 24 de outubro de 2023.

+

[2] SERRANO, Maurício; SERRANO, Milene. Requisitos - Aula 11. Disponível em: https://aprender3.unb.br/pluginfile.php/2692803/mod_resource/content/1/Requisitos%20-%20Aula%20013a.pdf. Acessado em 24 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.023/10/202324/10/2023Criação do artefatoJefferson FrançaYago Passos
1.124/10/202324/10/2023Atualização das tabelasJefferson FrançaYago Passos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/modelagem/cenarios/index.html b/modelagem/cenarios/index.html new file mode 100644 index 00000000..614a8add --- /dev/null +++ b/modelagem/cenarios/index.html @@ -0,0 +1,3621 @@ + + + + + + + + + + + + + + + + + + + + + + + Cenários - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

Cenários

+

Introdução

+

Cenários são como histórias em evolução que descrevem o que acontece em um ambiente específico, destacando as interações entre as pessoas envolvidas. Geralmente, essas interações envolvem o sistema em desenvolvimento e os participantes externos, como usuários ou outros sistemas. A característica mais importante de um cenário é que ele fornece uma representação concreta de uma atividade que os usuários executam ao realizar uma tarefa específica.

+

Esses cenários desempenham um papel crucial na fase de levantamento de requisitos de sistemas de software. Eles são usados para descrever como os usuários irão utilizar o sistema e como o sistema se conecta com outros sistemas externos. Isso ajuda a entender e identificar novos requisitos de forma eficaz.[1].

+

Metodologia

+

A metodologia para criar cenários envolve a identificação de partes interessadas, coleta de informações, definição do escopo, identificação de cenários, descrição detalhada, validação, documentação e uso. Essa abordagem flexível adapta-se às necessidades do projeto, com a participação ativa das partes interessadas.

+

Os cenários do aplicativo Skoob foram criados com base no texto estruturado, onde emprega uma linguagem natural, baseada na realidade, com a suposição de que o uso da linguagem usada pelos usuários da aplicação, em vez da linguagem técnica do software, torna mais fácil para os clientes compreenderem e confirmarem os requisitos [1]. Dessa forma, os mesmos foram desenvolvidos a partir dos requisitos priorizados nas técnicas de Moscow, Three-Level Scale e First Things First. +Assim, os cenários serão representados conforme a tabela 1.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloO nome ou assunto central do cenário.
ObjetivoA razão ou propósito para a existência do cenário.
ContextoAs condições iniciais, o ambiente físico e a cronologia do cenário.
RecursosItens inanimados com os quais os participantes interagem.
AtorIndivíduos ou entidades organizacionais envolvidos no cenário.
EpisódiosAções realizadas pelos atores, muitas vezes com a participação de outros, usando os recursos.
RestriçõesRegras ou limitações que afetam a execução dos episódios.
ExceçãoPlanos ou procedimentos para lidar com situações extraordinárias ou erros inesperados durante o cenário.
+
+

Tabela 1: Modelo dos cenários. (Fonte: Shaíne Oliveira, 2023).

+
+ +

Cenários encontrados

+

As tabelas 2 a 13 representam os cenários que foram identificados para o aplicativo Skoob.

+

C01: Adicionando um Livro à Estante Pessoal

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloAdicionar Livro à Estante
ObjetivoPermitir que os usuários organizem e gerenciem seus livros pessoais.
ContextoO usuário está logado em sua conta no aplicativo. Ele está em casa, com acesso à internet.
RecursosSmartphone ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário pesquisa um livro.
2. O usuário encontra o livro desejado.
3. O usuário clica no botão "Adicionar à Estante".
RestriçõesO livro deve estar disponível na base de dados do Skoob.
ExceçãoSe o livro não for encontrado, o sistema exibe uma mensagem de erro.
+
+

Tabela 2: Cenário 01. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C02: Avaliando um Livro Lido

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloAvaliar Livro Lido
ObjetivoPermitir que os usuários avaliem e compartilhem suas opiniões sobre livros lidos.
ContextoO usuário, em sua residência, conectado à internet, está logado em sua conta e deseja avaliar um livro recentemente lido.
RecursosSmartphone ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário acessa sua estante pessoal.
2. O usuário seleciona o livro que deseja avaliar.
3. O usuário atribui uma classificação e escreve uma resenha.
4. O usuário confirma a avaliação.
RestriçõesO livro deve estar na estante do usuário e marcado como "lido".
ExceçãoSe o usuário tentar avaliar um livro que não esteja marcado como "lido" ou não está em sua estante, o sistema exibe uma mensagem de erro.
+
+

Tabela 3: Cenário 02. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C03: Realizando o Login

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloRealizar Login
ObjetivoPermitir que os usuários acessem suas contas no aplicativo.
ContextoO usuário, em sua residência, conectado à internet, iniciou o aplicativo Skoob e deseja acessar sua conta.
RecursosSmartphone ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário abre o aplicativo Skoob.
2. O usuário clica na opção "Login".
3. O usuário insere seu email e senha.
4. O usuário clica no botão "Entrar".
RestriçõesAs credenciais de login devem ser válidas.
ExceçãoSe as credenciais forem inválidas, o sistema exibe uma mensagem de erro.
+
+

Tabela 4: Cenário 03. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C04: Pesquisando Livros

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloPesquisar Livros
ObjetivoPermitir que os usuários encontrem livros de seu interesse no aplicativo.
ContextoO usuário, em sua residência, conectado à internet, está logado em sua conta e deseja encontrar um livro específico.
RecursosSmartphone ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário acessa a função de pesquisa no aplicativo.
2. O usuário insere o título ou autor do livro desejado na barra de pesquisa.
3. O usuário clica no botão "Pesquisar".
4. O sistema exibe os resultados da pesquisa.
RestriçõesA pesquisa deve retornar resultados válidos com base no título ou autor fornecidos.
ExceçãoSe nenhum resultado for encontrado, o sistema exibe uma mensagem indicando que nenhum livro corresponde à pesquisa.
+
+

Tabela 5: Cenário 04. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C05: Adicionando Comentários em Posts

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloAdicionar Comentários em Posts
ObjetivoPermitir que os usuários interajam com as postagens, adicionando comentários.
ContextoO usuário, em sua residência, conectado à internet, está logado em sua conta e deseja interagir com uma postagem.
RecursosSmartphone ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário navega pelo feed de postagens.
2. O usuário seleciona uma postagem específica.
3. O usuário escreve seu comentário na caixa de texto.
4. O usuário clica no botão "Comentar".
RestriçõesO comentário deve atender aos critérios de moderação e políticas do aplicativo.
ExceçãoSe o comentário violar as políticas do aplicativo, ele não será publicado, e o sistema exibirá uma mensagem informando a violação.
+
+

Tabela 6: Cenário 05. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C06: Recuperando a Senha

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloRecuperar a Senha
ObjetivoPermitir que os usuários recuperem sua senha em caso de esquecimento.
ContextoO usuário, em sua casa com acesso à internet, iniciou o aplicativo Skoob e deseja acessar sua conta, mas esqueceu sua senha de login.
RecursosSmartphone ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário acessa a tela de login do aplicativo.
2. O usuário clica no link "Esqueci minha senha".
3. O sistema solicita ao usuário seu endereço de e-mail registrado.
4. O usuário insere seu endereço de e-mail e clica em "Enviar".
5. O sistema envia um e-mail com instruções para redefinir a senha.
6. O usuário acessa sua caixa de entrada de e-mail, segue as instruções e redefine a senha.
7. O sistema confirma a alteração bem-sucedida da senha.
RestriçõesO endereço de e-mail fornecido deve estar associado à conta do usuário.
ExceçãoSe o endereço de e-mail não estiver associado a nenhuma conta, o sistema informa que a recuperação de senha não é possível.
+
+

Tabela 7: Cenário 06. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C07: Obtendo o Aplicativo em Qualquer Sistema Operacional

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloObtendo o Aplicativo em Qualquer Sistema Operacional
ObjetivoPermitir que os usuários acessem o aplicativo Skoob em qualquer sistema operacional compatível.
ContextoO usuário deseja baixar o aplicativo Skoob em um dispositivo com qualquer sistema operacional compatível (por exemplo, Android, iOS), e possui acesso à internet na sua casa.
RecursosDispositivo com sistema operacional compatível, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário acessa a loja de aplicativos apropriada para o seu sistema operacional (App Store, Google Play Store).
2. O usuário pesquisa por "Skoob" na loja de aplicativos.
3. O usuário localiza o aplicativo Skoob na lista de resultados.
4. O usuário clica no botão "Baixar" ou "Instalar".
5. O sistema inicia o download e instalação do aplicativo no dispositivo do usuário.
6. O aplicativo Skoob é instalado com sucesso no dispositivo do usuário.
RestriçõesO dispositivo do usuário deve ser compatível com o sistema operacional e atender aos requisitos de hardware e software do aplicativo.
ExceçãoSe o dispositivo não for compatível ou não atender aos requisitos mínimos, o usuário não conseguirá baixar e instalar o aplicativo.
+
+

Tabela 8: Cenário 07. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C08: Criando uma Meta de Leitura para o Ano

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloCriar uma Meta de Leitura para o Ano
ObjetivoPermitir que os usuários estabeleçam uma meta de leitura pessoal para o ano.
ContextoO usuário, em casa ou em qualquer local com acesso à internet, está logado em sua conta no aplicativo Skoob.
RecursosSmartphone, tablet ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário pesquisa um livro.
2. O usuário encontra o livro desejado.
3. O usuário define o ano em que deseja ler aquele livro.
5. O sistema confirma a adição do livro à meta do ano selecionado.
RestriçõesO ano deve ser atual ou posterior ao que o usuário se encontra. O livro deve estar disponível na base de dados do Skoob.
ExceçãoSe o usuário tentar criar uma meta para anos anteriores ou se o livro não for encontrado, o sistema exibe uma mensagem de erro.
+
+

Tabela 9: Cenário 08. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C09: Cadastro/Login com Credenciais do Facebook

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloCadastro/Login com Credenciais do Facebook
ObjetivoPermitir que os usuários cadastrem-se e façam login no aplicativo Skoob usando suas credenciais do Facebook.
ContextoO usuário está interessado em se cadastrar ou fazer login no aplicativo Skoob e possui uma conta válida no Facebook. O usuário está em qualquer local com acesso à internet.
RecursosDispositivo com acesso à internet, conta válida no Facebook.
AtorUsuário do Skoob.
Episódios1. O usuário acessa a tela de cadastro ou login no aplicativo Skoob.
2. O usuário opta pela opção "Cadastrar/Login com o Facebook".
3. O sistema redireciona o usuário para a página de login do Facebook.
4. O usuário insere suas credenciais de login do Facebook (ID e senha).
5. O Facebook autentica as credenciais do usuário e autoriza o acesso ao Skoob.
6. O usuário é redirecionado de volta ao aplicativo Skoob, agora logado com suas credenciais do Facebook.
RestriçõesO usuário deve ter uma conta válida no Facebook, e as credenciais do Facebook devem ser corretas.
ExceçãoSe as credenciais do Facebook estiverem incorretas, o sistema exibe uma mensagem de erro. Se o usuário não tiver uma conta no Facebook, o sistema informa que a opção não está disponível para ele.
+
+

Tabela 10: Cenário 09. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C10: Visualizando Informações Gerais de um Livro Cadastrado

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloVisualizar Informações Gerais de um Livro Cadastrado
ObjetivoPermitir que os usuários acessem e visualizem informações detalhadas sobre um livro cadastrado, como sinopse, autor, quantidade de páginas, etc.
ContextoO usuário está logado em sua conta no aplicativo Skoob, com acesso à internet, e deseja obter informações detalhadas sobre um livro específico.
RecursosSmartphone, tablet ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário pesquisa um livro específico no aplicativo Skoob.
2. O usuário encontra o livro desejado nos resultados da pesquisa.
3. O usuário clica no título do livro para acessar a página de detalhes do livro.
4. O sistema exibe informações gerais, como sinopse, autor, quantidade de páginas e outras informações relevantes sobre o livro.
RestriçõesO livro deve estar cadastrado na base de dados do Skoob, e o usuário deve ter permissão para acessar suas informações.
ExceçãoSe o livro não estiver cadastrado na base de dados ou o usuário não tiver permissão para acessar as informações, o sistema exibe uma mensagem indicando a indisponibilidade dos detalhes.
+
+

Tabela 11: Cenário 10. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C11: Acessando a Aba de Lançamentos de Livros

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloAcessar a Aba de Lançamentos de Livros
ObjetivoPermitir que os usuários acessem a seção dedicada aos lançamentos de livros no aplicativo Skoob.
ContextoO usuário está logado em sua conta no aplicativo Skoob, com acesso à internet, e deseja explorar os lançamentos mais recentes de livros.
RecursosSmartphone, tablet ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário abre o aplicativo Skoob.
2. O usuário navega pela barra de menu ou guias na interface do aplicativo.
3. O usuário seleciona a guia "Lançamentos" ou "Novos Livros".
4. O sistema exibe uma lista dos livros mais recentes lançados no mercado.
RestriçõesA guia de "Lançamentos" deve estar disponível e ser acessível para o usuário.
ExceçãoSe a guia de "Lançamentos" não estiver disponível ou o usuário não tiver permissão para acessá-la, o sistema informa que a função não está disponível para ele.
+
+

Tabela 12: Cenário 11. (Fonte: Shaíne Oliveira, 2023).

+
+ +

C12: Utilizando o FAQ para Guiar Usuários nas Funcionalidades

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementoDescrição
TítuloUtilizar o FAQ para Guiar Usuários nas Funcionalidades
ObjetivoPermitir que os usuários acessem o FAQ (Frequently Asked Questions - Perguntas Frequentes) no aplicativo Skoob para obter informações e orientações sobre as funcionalidades do sistema.
ContextoO usuário está logado em sua conta no aplicativo Skoob, com acesso à internet, e deseja obter informações sobre como usar as funcionalidades do aplicativo.
RecursosSmartphone, tablet ou computador, conexão com a internet.
AtorUsuário do Skoob.
Episódios1. O usuário abre o aplicativo Skoob.
2. O usuário navega pela barra de menu ou guias na interface do aplicativo.
3. O usuário localiza a guia "FAQ" ou "Perguntas Frequentes" e clica nela.
4. O sistema exibe uma lista de perguntas frequentes e respostas relacionadas às funcionalidades do aplicativo.
5. O usuário seleciona uma pergunta que corresponde à sua dúvida ou interesse.
6. O sistema exibe a resposta detalhada à pergunta do usuário.
RestriçõesA guia "FAQ" deve estar disponível e ser acessível para o usuário. As perguntas frequentes devem estar atualizadas e relevantes.
ExceçãoSe a guia "FAQ" não estiver disponível ou o usuário não encontrar a resposta desejada, ele pode optar por entrar em contato com o suporte ao cliente para obter ajuda adicional.
+
+

Tabela 13: Cenário 12. (Fonte: Shaíne Oliveira, 2023).

+
+ +

Conclusão

+

A criação de cenários desempenha um papel fundamental na engenharia de requisitos e no desenvolvimento de software, concentrando-se nas interações entre os usuários e o sistema em cenários do mundo real. Isso assegura que os requisitos sejam capturados de forma clara e compreensível. Além disso, os cenários promovem uma compreensão compartilhada, garantindo que todas as partes envolvidas no projeto, incluindo desenvolvedores e partes interessadas, possam se comunicar de forma eficaz e compreender as funcionalidades do sistema.

+

Uma das principais vantagens dos cenários é a detecção antecipada de problemas. Ao elaborar cenários, é possível identificar requisitos conflitantes, ausentes ou impraticáveis antes do início do desenvolvimento, economizando tempo e recursos. Além disso, a criação de cenários fornece uma documentação clara e viva para o sistema, o que é essencial para o desenvolvimento e manutenção contínua do software.

+

Bibliografia

+

[1] CENÁRIOS: Rastreamento de Cenários. [S. l.]. Disponível em: http://www-di.inf.puc-rio.br/~julio/bnncap3.pdf.
+[2] VLC. Cenários. Grupo VLC da disciplina Requisitos de Software, disponível em: https://requisitos-de-software.github.io/2023.1-VLC/#/modelagem/cenarios. Acesso em: 16 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoDataDescriçãoAutor(es)Revisor(es)
1.011/10/2023Criação do documentoShaíneAna Caroline
1.111/10/2023Adição de dois cenáriosShaíneAna Caroline
1.212/10/2023Adição dos cenários 04 e 05ShaíneAna Caroline
1.316/10/2023Atualizando "contexto" dos cenáriosShaíneAna Caroline
1.418/10/2023Adiciona novos cenáriosShaíneAna Caroline
1.523/10/2023Adiciona novos cenáriosShaíneTodos
1.623/10/2023Correção de cenáriosAna CarolineShaíne
1.724/10/2023Adiciona conclusãoShaíneTodos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/modelagem/especificacao_suplementar/index.html b/modelagem/especificacao_suplementar/index.html new file mode 100644 index 00000000..20eb9f45 --- /dev/null +++ b/modelagem/especificacao_suplementar/index.html @@ -0,0 +1,3144 @@ + + + + + + + + + + + + + + + + + + + + + + + Especificação Suplementar - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

Especificação Suplementar

+

Introdução

+

A especificação suplementar exerce a identificação de requisitos do sistema que não foram diretamente abordados na modelagem de casos de uso e nos requisitos elicitados, de forma que ao integrar ambas as perspectivas, seja possível definir de maneira abrangente todos os requisitos do sistema.

+

Esse método fundamenta-se nos seguintes critérios:

+
    +
  • Funcionalidade
  • +
  • Usabilidade
  • +
  • Confiabilidade
  • +
  • Desempenho
  • +
  • Suportabilidade
  • +
+

Metodologia

+

Com base no tópico anterior, o modelo adotado para este artefato é o FURPS+, uma metodologia que estabelece requisitos de um sistema dentro dos cinco critérios mencionados anteriormente.

+
    +
  • F - Functionality: Engloba os aspectos funcionais do sistema, detalhados nos casos de uso. Esses requisitos estão relacionados às funcionalidades específicas que o sistema deve oferecer para atender às necessidades dos usuários.
  • +
  • U - Usability: Refere-se à facilidade com que os usuários podem interagir e realizar suas tarefas por meio do software. Isso inclui a interface do usuário, a navegabilidade e a experiência geral de uso.
  • +
  • R - Reliability: Avalia o quão confiável o software foi projetado para ser, ou seja, sua capacidade de operar sem falhas ou interrupções inesperadas. Isso envolve questões de robustez e tolerância a falhas.
  • +
  • P - Performance: Considera o desempenho do software em termos de velocidade, eficiência e capacidade de resposta. Isso pode incluir métricas como tempo de resposta, taxa de transferência e uso de recursos.
  • +
  • S - Supportability: Engloba requisitos relacionados à manutenibilidade, adaptabilidade, internacionalização, portabilidade e outros aspectos relevantes para a manutenção e escalabilidade do sistema.
  • +
  • +: Este símbolo representa requisitos não funcionais adicionais que não se enquadram nos pilares listados. Estes podem incluir aspectos de design, implementação, interface e considerações físicas.
  • +
+

Functionality (Funcionalidades)

+

Os requisitos funcionais são explicitados de forma detalhada nos casos de uso e nos requisitos elicitados, oferecendo uma visão concreta das operações e interações do sistema com seus usuários e outros elementos do ambiente.

+

Usability (Usabilidade)

+

Engloba a capacidade do sistema de ser facilmente compreendido e utilizado pelos usuários, independentemente de sua familiaridade prévia com a plataforma, além de se estender à eficácia, eficiência e satisfação geral dos mesmos.

+

Facilidade de Uso

+

O Skoob é intuitivo e de fácil navegação. Suas operações são simples e diretas, proporcionando uma experiência de uso sem complicações. Para realizar ações principais, como adicionar um livro à estante, são necessários no máximo seis cliques.

+

Disponibilidade

+

O Skoob requer uma conexão com a internet para funcionar, o que pode ser um ponto de consideração para usuários em locais com acesso instável ou nenhum acesso à rede.

+

Interface

+

A interface do Skoob foi projetada para ser amigável e eficiente, além de promover a interação entre os usuários. Ela facilita a realização das principais atividades, como buscar livros, adicioná-los à sua estante e registrar históricos de leitura.

+

Reliability (Confiabilidade)

+

A confiabilidade está relacionada às medidas adotadas para garantir a segurança e integridade dos dados dos usuários dentro do sistema.

+

Garantia de segurança mínima no armazenamento de dados

+

O Skoob prioriza a segurança dos dados dos usuários com um sistema que não mantém informações pessoais armazenadas. Elas são acessadas apenas durante a utilização do aplicativo, em total conformidade com as políticas de privacidade da plataforma. Essa prática é rigorosamente alinhada ao termo de uso do aplicativo, reforçando a segurança mínima garantida.

+

Garantia de disponibilidade

+

O Skoob é projetado para funcionar de maneira contínua, 24 horas por dia e sete dias por semana, desde que o usuário disponha de conexão estável à internet.

+

Performance (Desempenho)

+

Armazenamento

+

Para instalar o aplicativo Skoob, o usuário precisará de aproximadamente 30MB de espaço disponível em seu dispositivo no caso do sistema operacional ser Android e 60MB no caso do IOS.

+

Tempo de resposta

+

O Skoob deve ter um tempo de comunicação ágil, com o dispositivo móvel, de no máximo 7 segundos. Isso significa uma experiência fluida e rápida ao utilizar o aplicativo.

+

Supportability (Suportabilidade)

+

A suportabilidade engloba uma série de aspectos técnicos cruciais, tais como manutenibilidade, adaptabilidade, internacionalização, portabilidade, além de outros elementos relevantes.

+

Sistemas operacionais (OS)

+

O aplicativo Skoob é compatível com os seguintes sistemas operacionais:

+
    +
  • Para dispositivos iOS: Requer iOS 11.0 ou posterior (App Store)[2].
  • +
  • Para dispositivos Android: Requer Android 6.0 ou superior (Google Play)[3].
  • +
+

O aplicativo Skoob pode ser instalado em uma ampla variedade de dispositivos, incluindo:

+
    +
  • iPhone
  • +
  • iPad
  • +
  • iPod touch
  • +
  • Apple TV
  • +
  • Celulares Android, entre outros.
  • +
+

Idiomas

+

O Skoob oferece suporte aos idiomas:

+
    +
  • Português (Brasil)
  • +
  • Inglês
  • +
+

+

+

Esta categoria abrange uma variedade de requisitos, incluindo design, implementação e considerações físicas.

+

Design

+

O aplicativo Skoob segue uma paleta de cores composta predominantemente de azul e branco. Os usuários têm a opção de escolher entre diversos temas, incluindo o tema padrão claro, que faz uso do azul e do branco definido na paleta de cores. Além disso, o Skoob oferece opções de temas escuros, como Dark, Dark Blue, Dark Pink e Dark Gray, para atender às preferências individuais dos usuários. Para os que buscam uma estética mais nostálgica, o tema Old Paper também está disponível. Essa variedade de temas permite uma personalização flexível, proporcionando uma experiência única a cada usuário.

+

Conclusão

+

Através desta Especificação Suplementar, foram identificados e detalhados alguns requisitos, acerca dos cinco critérios definidos. Com base na metodologia FURPS+, foi possível estabelecer uma visão clara desses requisitos, viabilizando que o aplicativo atenda às espectativas do usuário, proporcionando uma experiência sólida e confiável.

+

Bibliografia

+

[1] SALES, André. Modelagem de Requisitos. Disponível em: Aprender 3. Acesso em 23 de outubro de 2023.
+[2] SKOOB IOS. Disponível em: App Store. Acesso em: 23 de Outubro de 2023.
+[3] SKOOB ANDROID. Disponível em: Google Play. Acesso em: 23 de Outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.023/10/202324/10/2023Criação do artefatoAna RochaRafael Amancio
1.125/10/202325/10/2023Adicionando a conclusão do artefatoAna RochaTodos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git "a/modelagem/img/TERMO DE AUTORIZA\303\207\303\203O DE USO DE IMAGEM THALES.pdf" "b/modelagem/img/TERMO DE AUTORIZA\303\207\303\203O DE USO DE IMAGEM THALES.pdf" new file mode 100644 index 00000000..0de4d919 Binary files /dev/null and "b/modelagem/img/TERMO DE AUTORIZA\303\207\303\203O DE USO DE IMAGEM THALES.pdf" differ diff --git a/modelagem/img/casos_de_uso.jpeg b/modelagem/img/casos_de_uso.jpeg new file mode 100644 index 00000000..82b341a3 Binary files /dev/null and b/modelagem/img/casos_de_uso.jpeg differ diff --git a/modelagem/img/interoperabilidade_comPropagacao.png b/modelagem/img/interoperabilidade_comPropagacao.png new file mode 100644 index 00000000..dea25ce8 Binary files /dev/null and b/modelagem/img/interoperabilidade_comPropagacao.png differ diff --git a/modelagem/img/interoperabilidade_semPropagacao.png b/modelagem/img/interoperabilidade_semPropagacao.png new file mode 100644 index 00000000..4f6c0e73 Binary files /dev/null and b/modelagem/img/interoperabilidade_semPropagacao.png differ diff --git a/modelagem/img/legenda.jpeg b/modelagem/img/legenda.jpeg new file mode 100644 index 00000000..f95e4ed8 Binary files /dev/null and b/modelagem/img/legenda.jpeg differ diff --git a/modelagem/img/legenda_framework.png b/modelagem/img/legenda_framework.png new file mode 100644 index 00000000..2301f5cb Binary files /dev/null and b/modelagem/img/legenda_framework.png differ diff --git a/modelagem/img/portabilidade_propagacao.png b/modelagem/img/portabilidade_propagacao.png new file mode 100644 index 00000000..dcf28bdb Binary files /dev/null and b/modelagem/img/portabilidade_propagacao.png differ diff --git a/modelagem/img/portabilidade_semPropagacao.png b/modelagem/img/portabilidade_semPropagacao.png new file mode 100644 index 00000000..75ae70d3 Binary files /dev/null and b/modelagem/img/portabilidade_semPropagacao.png differ diff --git a/modelagem/img/rotulos.png b/modelagem/img/rotulos.png new file mode 100644 index 00000000..54461a49 Binary files /dev/null and b/modelagem/img/rotulos.png differ diff --git a/modelagem/img/seguranca_comPropagacao.png b/modelagem/img/seguranca_comPropagacao.png new file mode 100644 index 00000000..ae810a51 Binary files /dev/null and b/modelagem/img/seguranca_comPropagacao.png differ diff --git a/modelagem/img/seguranca_semPropagacao.png b/modelagem/img/seguranca_semPropagacao.png new file mode 100644 index 00000000..b2c68323 Binary files /dev/null and b/modelagem/img/seguranca_semPropagacao.png differ diff --git a/modelagem/lexico/index.html b/modelagem/lexico/index.html new file mode 100644 index 00000000..b493a602 --- /dev/null +++ b/modelagem/lexico/index.html @@ -0,0 +1,3129 @@ + + + + + + + + + + + + + + + + + + + + + + + Léxicos - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Léxicos

+

Introdução

+

LAL é o termo usado para descrição de termos de forma ampliada da Linguagem [1]. E é assim que a técnica de léxicos visa estabelecer uma linguagem comum entre os envolvidos no desenvolvimento do software, eliminando ambiguidades e garantindo uma compreensão unificada dos requisitos. Ela faz isso descrevendo símbolos de uma linguagem: o principal objetivo a ser perseguido pelos Engenheiros de Requisitos é identificar palavras ou frases específicas do meio social da aplicação que está sendo estudada [1].

+

Metodologia

+

A técnica envolve a criação de um glossário que define os termos específicos relacionados ao domínio do problema. Esse glossário é formado por léxicos e dividido entre os tipos: Verbo, Objeto e Estado. Além disso, os Léxicos também serão compostos por: Noção(ões), Impacto(s) e zero ou vários Sinônimos. A tabela 1 exemplifica como os léxicos serão descritos.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NomeNoçãoImpactoSinônimo(s)ClassificaçãoLéxicos RelacionadosPrincipais Requisitos RelacionadosElaborado por:
Nome do Léxico 1SímbolosDescrição do efeitoSinônimo(s)Verbo/Objeto/EstadoCódigos dos LéxicosCódigos dos RequisitosNome do Autor
Nome do Léxico 2SímbolosDescrição do efeitoSinônimo(s)Verbo/Objeto/EstadoCódigos dos LéxicosCódigos dos RequisitosNome do Autor
Nome do Léxico 3SímbolosDescrição do efeitoSinônimo(s)Verbo/Objeto/EstadoCódigos dos LéxicosCódigos dos RequisitosNome do Autor
+
+

Tabela 1: Exemplo de Léxico. (Fonte: Yago Passos, 2023).

+
+ +

A construção de cada léxico foi possível a partir da análise dos requisitos elicitados na seção de Elicitação. O membro Yago Passos, com auxílio da Ana Rocha, adquiriram os léxicos feitos pelos membros da equipe na atividade proposta pelo professor para presença do dia 17/10. Então, reuniram-se e discutiram a elaboração dos glossários vistos a seguir.

+

Descrição dos Léxicos

+

Abaixo, a Tabela 2 lista os léxicos de estado. Esses referem-se aos termos que descrevem as condições, estados ou propriedades do sistema ou dos elementos nele contidos.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CódigoNomeNoçãoImpactoSinônimo(s)ClassificaçãoLéxicos RelacionadosPrincipais Requisitos RelacionadosElaborado por:
LE1LidoIndica que um livro foi lidoMostra as realizações do usuárioConcluídoEstadoLV2 , LO1 e LO4OB03Shaíne Oliveira
LE2LendoIndica que um livro está sendo lidoMostra as realizações do usuárioEm andamentoEstadoLV2, LO1 e LO4OB03Yago Passos
LE3Quero lerIndica o desejo de ler um livroMostra as realizações do usuárioMetaEstadoLV2, LO1 e LO4OB03Yago Passos
LE4RelendoIndica que um livro está sendo lido novamenteMostra as realizações do usuárioEm andamentoEstadoLV2, LO1 e LO4OB03Yago Passos
LE5AbandoneiIndica que o usuário desistiu da leitura de um livroMostra as realizações do usuárioDesistiEstadoLV2, LO1 e LO4OB03Yago Passos
LE6Usuário OnlineIndica que o usuário está logado em sua contaUsuário tem acesso total ao aplicativo e suas funcionalidadesAtivoEstado--Shaíne Oliveira
+
+

Tabela 2: Glossário dos léxicos de estado. (Fonte: Yago Passos, 2023).

+
+ +

Abaixo, a Tabela 3 lista os léxicos de objeto. Esses englobam os termos que representam os elementos tangíveis ou virtuais do sistema com os quais os usuários interagem

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CódigoNomeNoçãoImpactoSinônimo(s)ClassificaçãoLéxicos RelacionadosPrincipais Requisitos RelacionadosElaborado por:
LO1LivroPrincipal objeto do aplicativoCentro das atividades no SkoobObra, publicação, revista, HQ, mangá, contoObjetoLO4, LO5, LV1, LV2, LV4OB02, BS02-BS05, IN03-IN10Shaíne Oliveira
LO2UsuárioPessoa que utiliza o aplicativo. Leitores e Autores.Interações com funcionalidades da aplicação, interação entre usuários, possibilidade de se encontrar dentro da plataformaLeitor, amigo, seguidorObjetoTodosTodosYago Passos
LO3Lista de desejadosComposta de livros que o usuário deseja fazer aquisiçãoVisualização e compartilhamento da lista com o intuito de indicar quais livros o usuário deseja ter posse-ObjetoLO1, LO2, LE3IN09 E IN10Yago Passos
LO4EstanteComposta por livros adicionados pelo usuárioControle e visualização dos livros-ObjetoLO1, LO2, LV2IN08 E BS12Ana Rocha
LO5AutorAutores de livrosAcesso à informações sobre o autor e outros livros escritos pelo mesmoEscritorObjetoLO1, LV1BS04 E BS06Ana Rocha
+
+

Tabela 3: Glossário dos léxicos de objeto. (Fonte: Yago Passos, 2023).

+
+ +

Abaixo, a Tabela 4 lista os léxicos de verbo. Esses consistem em palavras ou frases que descrevem ações que podem ser executadas pelos usuários ou pelo sistema.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CódigoNomeNoçãoImpactoSinônimo(s)ClassificaçãoLéxicos RelacionadosPrincipais Requisitos RelacionadosElaborado por:
LV1PesquisarO usuário deseja encontrar livros, autores ou usuáriosFacilita a descoberta de conteúdo no appBuscarVerboLO1, LO2, LO5OB02 e IN11Shaíne Oliveira
LV2Definir status do livroO usuário etiqueta um livroPermite que outras ações sejam executadas dependendo do status do livroEtiquetarVerboLE1, LE2, LE3, LE4, LE5OB03 e BS03Ana Rocha
LV3Atribuir notaO usuário avalia um livro com o status "lido"Permite que outros usuário vejam a nota do livroAvaliarVerboLO1 e LE1IN05 e IN14Yago Passos
LV4Escrever resenhaO usuário escreve uma resenha sobre um livro com o status "lido"Permite que outros usuário vejam a resenha do livroResenharVerboLO1 e LE1IN04Yago Passos
LV5Adicionar amigosO usuário inicia uma amizade com outro usuárioPermite que ambos interajam, pelo feed e chat-VerboLO2IN13Yago Passos
LV6Registrar histórico de leituraO usuário está lendo um livro e deseja registrar em que página do livro se encontraPermite acompanhar o progresso de leitura-VerboLO1, LE2 e LE4IN06Ana Rocha
+
+

Tabela 4: Glossário dos léxicos de verbo. (Fonte: Yago Passos, 2023).

+
+ +

Conclusão

+

O artefato apresentado destaca a importância da técnica de léxicos na engenharia de requisitos, onde a criação de um glossário com termos específicos relacionados ao domínio do problema ajuda a eliminar ambiguidades e promover uma compreensão unificada dos requisitos do sistema. A categorização dos léxicos em verbos, objetos e estados contribui para uma visão abrangente das ações, entidades e condições no contexto da aplicação, facilitando a comunicação entre os membros da equipe de desenvolvimento. Além disso, a precisão e organização na construção dos léxicos asseguram clareza e coerência no entendimento dos termos, evitando mal-entendidos e garantindo uma visão compartilhada do sistema e suas funcionalidades. Em última análise, a técnica de léxicos desempenha um papel crucial no sucesso do projeto de software, estabelecendo uma base sólida para o desenvolvimento eficaz e garantindo uma compreensão clara e unificada dos requisitos entre todos os envolvidos.

+

Bibliografia

+
+

[1] SERRANO, Milene; SERRANO, Maurício. Requisitos - Aula 10. Local: UnB-FGA, Gama, DF. Apresentação de Power Point. Disponível em: Requisitos - Aula 10. Acesso em: 18 de outubro de 2023.

+
+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.018/10/202318/10/2023Elaboração do ArtefatoYago Passos
1.124/10/202324/10/2023Criação dos LéxicosAna Rocha
1.224/10/202324/10/2023Adicionada seção de conclusãoRafael Amancio
1.326/10/202330/10/2023Refatorando Léxicos e corrigindo léxico de usuáriosYago Passos
1.431/10/202325/11/2023Implementando novo sistema de revisãoYago Passos
+

Revisão (V&V)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
24/10/20231.0Revisão estáticaAna Rocha
24/10/20231.1Elaboração em paresYago Passos
24/10/20231.2Revisão estáticaYago Passos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/modelagem/nfr_framework/index.html b/modelagem/nfr_framework/index.html new file mode 100644 index 00000000..fcb75fbd --- /dev/null +++ b/modelagem/nfr_framework/index.html @@ -0,0 +1,3753 @@ + + + + + + + + + + + + + + + + + + + + + + + NFR Framework - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

NFR framework

+

Introdução

+

NFR é um framework conceitual que se baseia no Softgoal Interdependency Graph (SIG) como modelo principal. Seu principal enfoque está nos requisitos Não-Funcionais do aplicativo. No Framework, softgoals são empregados como metas de caráter vago, desprovidas de critérios de satisfação claramente definidos. Estes softgoals são usados para representar os Requisitos Não-Funcionais e podem se interconectar, demonstrando como um softgoal influencia outro. [1]

+

Requisitos Não Funcionais Elicitados

+

Abaixo, na tabela 1, estão os requisitos não funcionais elicitados pela equipe.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDRequisitoFonte
RNF01A senha deve conter no mínimo um número uma letra maiúscula e um caracter especialIntrospecção
RNF02Deve ser possível fazer cadastro/login com as credenciais do facebookIntrospecção
RNF03Deve ser possível obter o aplicativo em qualquer sistema operacionalIntrospecção
RNF04Os dados do usuário devem ser guardados de forma eficaz, impendindo o vazamento dos mesmosIntrospecção
RNF05O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdoBrainstorming
RNF06O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resoluçõesIntrospecção
+
+ Tabela 1: Requisitos Não Funcionais Elicitados, Autor(a): Shaíne e Ana, 2023 +
+ +

Softgoals

+

Os softgoals são separados em 3 tipos: [1]

+
    +
  • +

    NFR Softgoal: Um requisito não-funcional que é avaliado durante a análise para determinar sua inclusão ou exclusão no projeto. Esses requisitos são considerados como critérios de qualidade e são avaliados para assegurar que o produto final atenda aos padrões desejados, servindo como indicadores de qualidade.

    +
  • +
  • +

    Softgoal de Operacionalização: São funcionalidades que têm o papel de tornar concretas as características abstratas. Em outras palavras, elas são responsáveis por converter os requisitos não-funcionais em funcionalidades tangíveis que podem ser implementadas no sistema, representando a materialização das características abstratas em elementos mensuráveis.

    +
  • +
  • +

    Claim Softgoal (Arfimação): É uma notação que pode ser incorporada ao modelo para argumentar pontos específicos da modelagem em linguagem natural. Essa notação permite expressar ideias ou justificativas relacionadas ao modelo, auxiliando na explicação do raciocínio por trás de determinadas escolhas de design.

    +
  • +
+

Além disso, cada um desses softgoals pode ser detalhado ou subdividido em sub-requisitos, utilizando as seguintes técnicas:

+
    +
  • +

    Decomposição de Softgoal NFR: Essa técnica permite uma melhor organização e compreensão dos softgoals NFR, desdobrindo-os em componentes mais específicos.

    +
  • +
  • +

    Decomposição de Operacionalização: Essa técnica viabiliza a definição de uma solução geral, desagregando-a em casos mais específicos para uma compreensão mais detalhada.

    +
  • +
  • +

    Decomposição de Afirmação (Claims): Essa técnica possibilita a reafirmação ou negação de justificativas específicas do projeto, oferecendo uma abordagem mais detalhada da argumentação.

    +
  • +
  • +

    Priorização: Esta técnica envolve a subdivisão de um softgoal em outro softgoal do mesmo tipo e tópico, mas com uma prioridade associada, permitindo uma hierarquia de importância entre os requisitos. [1]

    +
  • +
+

Esse refinamento são especificações dos softgoals e são contribuições e existe 10 tipos. Esses são:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ContribuiçãoDescriçãoNotação
MAKEFILHO com contribuição tão positiva a ponto de satisfazer o PAI sob a perspectiva dos envolvidos.++
HELPFILHO com contribuição positiva parcial, que sozinho não chega a satisfazer o PAI sob a perspectiva dos envolvidos.+
UNKNOWNFILHO não afeta o PAI.?
HURTFILHO com contribuição negativa parcial, que sozinho não chega a negar o PAI sob a perspectiva dos envolvidos.-
BREAKFILHO com contribuição tão negativa a ponto de negar o PAI sob a perspectiva dos envolvidos--
SOME +FILHO com contribuição positiva, cuja intensidade não se pode determinar.SOME +
SOME -FILHO com contribuição negativa, cuja intensidade não se pode determinarSOME -
AND“Pai” é satisfeito se somente todos os “filhos” forem satisfeitos sob a perspectiva dos envolvidosAND
OR“Pai” é satisfeito se somente um dos “filhos” é satisfeito sob a perspectiva dos envolvidosOR
EQUALAmbos compartilham o mesmo label=
+
+ Tabela 2: Contribuições, Autor(a): Shaíne +
+ +

Legendas

+

Softgoals

+
+ image +
+ +
+ Figura 1: Legenda Softgoals, Fonte: Shaíne +
+ +

Rótulos

+
+ image +
+ +
+ Figura 2: Rótulos, Fonte: NFR4ES - Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. [1] +
+ +

Descrição: [1]

+
    +
  • Satisfeito: Reflete que um requisito não funcional tem um impacto positivo na realização de outro requisito, resultando em contentamento.
  • +
  • Fracamente satisfeito: Indica uma relação de impacto positivo, porém menos pronunciada do que a condição de "satisfeito".
  • +
  • Negado: Demonstra que um requisito não funcional prejudica adversamente outro requisito, invalidando ou contradizendo sua realização.
  • +
  • Fracamente negado: Similar à notação "negado", mas com uma relação de negação mais suave.
  • +
  • Conflitante: Indica uma relação de conflito entre requisitos não funcionais, sugerindo que esses requisitos possuem aspectos tanto positivos quanto negativos que entram em choque.
  • +
  • Indeterminado: Refere-se a uma relação incerta ou desconhecida entre requisitos não funcionais, geralmente quando há informações insuficientes para determinar o impacto de um requisito sobre o outro.
  • +
+

NFR

+

Foram feitos 3 tipos de NFR: Portabilidade, Interoperabilidade e Segurança.

+

NFR-1 Portabilidade

+

Requisito de Portabilidade

+ + + + + + + + + + + + + + + + + +
IDRequisito
RNF01Deve ser possível obter o aplicativo em qualquer sistema operacional
RNF06O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resoluções
+
+ Tabela 3: Requisito de Portabilidade, Autor(a): Shaíne e Ana, 2023 +
+ +

Sem Propagação

+
+ image +
+ +
+ Figura 3: NFR-1 Portabilidade, Autor(a): Shaíne e Ana, 2023 +
+ +

Com Propagação

+
+ image +
+ +
+ Figura 4: NFR-1 Portabilidade com Propagação, Autor(a): Shaíne e Ana, 2023 +
+ +

Cartões de Especificação

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassificaçãoMultiplataforma / Portabilidade
DescriçãoO aplicativo deve ser acessível em diversos sistemas operacionais.
JustificativaO aplicativo deve estar disponível em várias plataformas, como iOS e Android, para garantir que os usuários possam acessar suas notas em qualquer dispositivo.
Origem do requisitoRNF01
Critério de aceitaçãoRecurso financeiro disponivel.
PrioridadeAlta prioridade. Fonte: TLS
ConflitoCusto elevado.
Historia01 de nov. 2023
+
+Tabela 4: Cartão de Especificação - Sistema Operacional, Autor(a): Shaíne, 2023 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassificaçãoMultiplataforma / Portabilidade
DescriçãoO Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resoluções, proporcionando uma experiência de uso consistente e de alta qualidade em dispositivos de diferentes modelos e fabricantes.
JustificativaA adaptação a diferentes tamanhos de tela e resoluções é essencial para garantir uma experiência de usuário satisfatória, desde smartphones até tablets. Isso permite que os usuários desfrutem do Skoob em seus dispositivos preferidos, sem comprometer a usabilidade.
Origem do requisitoRNF06
Critério de aceitaçãoO aplicativo deve ser testado em uma variedade de dispositivos com diferentes tamanhos de tela e resoluções, e não deve apresentar problemas de usabilidade ou layout em nenhum deles.
PrioridadeMédia prioridade. Fonte: TLS
ConflitoPode haver desafios técnicos na implementação da adaptação a diferentes tamanhos de tela, especialmente em dispositivos muito pequenos ou com resoluções muito baixas. No entanto, a prioridade é garantir uma experiência consistente em todas as plataformas.
Historia04 de nov. 2023
+
+Tabela 5: Cartão de Especificação - Portabilidade, Autor(a): Ana, 2023 +
+ +

NFR-2 Interoperabilidade

+

Requisito de Interoperabilidade

+ + + + + + + + + + + + + + + + + +
IDRequisito
RNF02Deve ser possível fazer cadastro/login com as credenciais do Facebook
RNF05O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdo.
+
+Tabela 6: Requisito de Interoperabilidade, Autor(a): Shaíne e Ana, 2023 +
+ +

Sem Propagação

+
+ image +
+ +
+ Figura 5: NFR-2 Interoperabilidade, Autor(a): Shaíne e Ana, 2023 +
+ +

Com Propagação

+
+ image +
+ +
+ Figura 6: NFR-2 Interoperabilidade com Propagação, Autor(a): Shaíne e Ana, 2023 +
+ +

Cartões de Especificação

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassificaçãoInteroperabilidade
DescriçãoAs senhas dos usuários devem atender aos seguintes critérios: conter no mínimo um número, pelo menos uma letra maiúscula e pelo menos um caractere especial.
JustificativaEsses critérios de senha são necessários para aumentar a segurança das contas de usuário, tornando mais difícil para os invasores adivinharem ou quebrarem senhas. Garantir que esse requisito seja atendido é essencial para proteger a privacidade e os dados dos usuários.
Origem do requisitoRNF03
Critério de aceitaçãoO sistema deve validar todas as senhas inseridas pelos usuários para garantir que elas atendam aos critérios de pelo menos um número, uma letra maiúscula e um caractere especial.
PrioridadeAlta prioridade. Fonte: TLS
ConflitoPode haver resistência dos usuários que não estão acostumados a criar senhas mais complexas. No entanto, a segurança é uma prioridade.
Historia01 de nov. 2023
+
+ Tabela 7: Cartão de Especificação - Interoperabilidade, Autor(a): Shaíne, 2023 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassificaçãoInteroperabilidade
DescriçãoO Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdo, de forma integrada e sem problemas.
JustificativaEsse requisito visa melhorar a experiência do usuário, permitindo que eles compartilhem informações sobre livros e interajam com outras plataformas sociais. Isso aumentará a visibilidade do Skoob e promoverá a interação dos usuários.
Origem do requisitoRNF05
Critério de aceitaçãoO sistema deve permitir que os usuários compartilhem conteúdo do Skoob em outras plataformas de redes sociais, como Facebook, Twitter, Instagram, entre outras.
PrioridadeMédia prioridade. Fonte: TLS
ConflitoPode haver desafios técnicos na integração com diferentes plataformas de redes sociais, mas os benefícios de interoperabilidade são significativos.
Historia04 de nov. 2023
+
+ Tabela 8: Cartão de Especificação - Interoperabilidade, Autor(a): Ana, 2023 +
+ +

NFR-3 Segurança

+

Requisito de Segurança

+ + + + + + + + + + + + + + + + + +
IDRequisito
RNF03A senha deve conter no mínimo um número uma letra maiúscula e um caracter especial
RNF04Os dados do usuário devem ser guardados de forma eficaz, impendindo o vazamento dos mesmos
+
+ Tabela 9: Requisito de Segurança, Autor(a): Shaíne e Ana, 2023 +
+ +

Sem Propagação

+
+ image +
+ +
+ Figura 7: NFR-3 Segurança, Autor(a): Shaíne e Ana, 2023 +
+ +

Com Propagação

+
+ image +
+ +
+ Figura 8: NFR-3 Segurança com Propagação, Autor(a): Shaíne e Ana, 2023 +
+ +

Cartões de Especificação

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassificaçãoSegurança
DescriçãoAs senhas dos usuários devem atender aos seguintes critérios: conter no mínimo um número, pelo menos uma letra maiúscula e pelo menos um caractere especial.
JustificativaEsses critérios de senha são essenciais para aumentar a segurança das contas de usuário. A inclusão de um número, uma letra maiúscula e um caractere especial torna as senhas mais robustas, reduzindo o risco de violações de segurança e acessos não autorizados.
Origem do requisitoRNF03
Critério de aceitaçãoO sistema deve validar todas as senhas inseridas pelos usuários para garantir que elas atendam aos critérios de pelo menos um número, uma letra maiúscula e um caractere especial.
PrioridadeAlta prioridade. Fonte: TLS
ConflitoAlguns usuários podem achar esse requisito de senha complexo ou difícil de lembrar, mas a segurança é fundamental.
Historia01 de nov. 2023
+
+ Tabela 10: Cartão de Especificação - Segurança, Autor(a): Shaíne, 2023 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassificaçãoSegurança
DescriçãoOs dados do usuário devem ser armazenados de forma eficaz para evitar qualquer vazamento de informações.
JustificativaGarantir a eficácia no armazenamento dos dados é crucial para proteger a privacidade e a segurança dos usuários, prevenindo vazamentos indesejados.
Origem do requisitoRNF04
Critério de aceitaçãoO sistema deve implementar práticas de segurança robustas para garantir que os dados do usuário sejam protegidos contra acessos não autorizados ou vazamentos.
PrioridadeAlta prioridade. Fonte: TLS
ConflitoMedidas de segurança adicionais podem aumentar a complexidade do sistema, mas são essenciais para proteger a integridade dos dados.
Historia04 de nov. 2023
+
+ Tabela 11: Cartão de Especificação - Segurança, Autor(a): Ana, 2023 +
+ +

Conclusão

+

Com a aplicação do NFR framework ao Skoob, através da análise dos softgoals, foi estabelecida uma hierarquia de prioridades, garantindo que os aspectos como segurança, portabilidade e interoperabilidade sejam devidamente atendidos acerca dos requisitos não funcionais, permitindo a definição de critérios de aceitação específicos para cada requisito, assegurando que as metas de qualidade identificadas na Especificação Suplementar sejam alcançadas de forma eficaz, resultando em uma experiência mais segura e eficiente para os usuários.

+

Referências

+

[1] SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, 2019. Disponível em: Aprender. Acesso em: 1 nov. 2023.
+[2] Requisitos Não-Funcionais. [s.l.: s.n., s.d.]. Disponível em: Requirements Engineering Introduction. Acesso em: 1 nov. 2023.

+

Histórico de versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoDataData prevista de revisãoDescriçãoAutor(es)Revisado
1.001/11/202302/11/2023Criação da documentaçãoShaíne
1.102/11/202303/11/2023Atualização e correçãoAna Caroline
1.204/11/202305/11/2023Incrementando o artefatoAna Caroline
+

Revisão (V&V)

+ + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
02/11/20231.0Revisão por inspeçãoAna Rocha
06/11/20231.2Revisão por inspeçãoShaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/modelagem/user_story/index.html b/modelagem/user_story/index.html new file mode 100644 index 00000000..c1e273a9 --- /dev/null +++ b/modelagem/user_story/index.html @@ -0,0 +1,3623 @@ + + + + + + + + + + + + + + + + + + + + + + + Histórias de Usuários - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Histórias de Usuário

+

Introdução

+

As histórias de usuário desempenham um papel fundamental na metodologia ágil de desenvolvimento de software, oferecendo uma maneira eficaz de capturar requisitos funcionais e prioridades do ponto de vista do usuário.

+

Essas histórias proporcionam uma abordagem centrada no usuário, permitindo que equipes multidisciplinares compreendam e atendam às necessidades dos usuários. Ao definir casos de uso específicos e critérios de aceitação claros, as histórias de usuário fornecem uma base sólida para a criação de produtos e sistemas que atendam às expectativas dos usuários finais.

+

Metodologia

+

As histórias de usuário foram desenvolvidas tendo em vista a elaboração do backlog, onde os avaliadores Jefferson, Rafael e Yago discutiram e tematizaram os requisitos para encontrar seus respectivos Épicos e, assim, seguir modelagem ágil. A gravação desta reunião está presente aqui.

+

Na elaboração de cada história de usuário, mantemos sua estrutura objetiva, curta e detalhada, exemplificada da seguinte forma:

+
    +
  • +

    Nome da História

    +
  • +
  • ID: Identificação da história (USXX)
  • +
  • Origem: Requisito(s) que originaram a históra
  • +
  • Descrição: Eu, como papel, desejo descrição da funcionalidade desejada
  • +
  • Motivo: O porque dessa história
  • +
  • Critérios de aceitação:
      +
    • Lista dos critérios de aceitação
    • +
    +
  • +
  • Validez: O usuário validou a história
  • +
+

Após a especificação de cada história, o avaliador Yago se reuniu com o usuário Thales Vieira, que consentiu com sua participação no projeto, para validar as histórias elaboradas. Dessa forma, a tabela 1 demonstra os papéis de cada avaliador, bem como do entrevistado, na elaboração do Backlog e das histórias de usuário.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FunçãoParticipante
Scrum MasterJefferson França
DesenvolvedorRafael Fernandes
DesenvolvedorYago Milagres
Product OwnerThales Vieira
+
+

Tabela 1: Relação dos papéis do Scrum. (Fonte: Yago Passos, 2023).

+
+ +

Especificação das histórias de usuário

+
    +
  • +

    Realizar Login com Credenciais de outra Rede Social

    +
  • +
  • ID: US01
  • +
  • Origem: IN17
  • +
  • Descrição: Eu, como usuário, desejo fazer login na plataforma utilizando minhas credenciais do Google ou do Facebook para acessar facilmente minha conta.
  • +
  • Motivo: Para simplificar o processo de login e garantir acesso rápido à minha conta.
  • +
  • Critérios de Aceitação:
      +
    • Deve ser possível conectar a conta do Facebook à conta da plataforma.
    • +
    • Deve ser possível conectar a conta do Google à conta da plataforma.
    • +
    • As informações do perfil devem ser sincronizadas corretamente durante o login.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Recuperar Senha Esquecida

    +
  • +
  • ID: US02
  • +
  • Origem: IN02
  • +
  • Descrição: Eu, como usuário, desejo ter a opção de recuperar minha senha por meio de um processo de redefinição de senha seguro e eficiente.
  • +
  • Motivo: Para garantir o acesso contínuo à minha conta, mesmo em casos de senha esquecida ou perdida.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver um processo de verificação de identidade seguro para redefinir a senha.
    • +
    • O usuário deve receber instruções claras sobre como redefinir a senha com sucesso.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Adicionar Livro à Estante

    +
  • +
  • ID: US03
  • +
  • Origem: IN08
  • +
  • Descrição: Eu, como usuário, desejo adicionar um livro à minha estante e atribuir um status específico, como "Lido", "Lendo", "Quero ler", "Abandonei" ou "Relendo".
  • +
  • Motivo: Para organizar e compartilhar minha lista de leituras e experiências literárias.
  • +
  • Critérios de Aceitação:
      +
    • Deve ser possível atribuir um dos estados especificados a cada livro adicionado à estante.
    • +
    • A atualização do status do livro na estante deve refletir corretamente na interface do usuário.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Filtrar Livros por Nota

    +
  • +
  • ID: US04
  • +
  • Origem: IN06
  • +
  • Descrição: Eu, como usuário, desejo filtrar os livros com base em sua avaliação de nota para encontrar facilmente os livros mais bem avaliados.
  • +
  • Motivo: Para descobrir rapidamente livros bem avaliados e de alta qualidade para leitura.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma opção clara para filtrar os livros com base na avaliação de nota.
    • +
    • Os resultados devem ser precisos e refletir as classificações correspondentes.
    • +
    • Deve ser possível agregar 2 ou mais especificações em uma só filtragem
    • +
    • Os resultados da pesquisa devem ser atualizados em tempo real a medida que o usuário ajusta o filtro
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Filtrar Livros por Categoria

    +
  • +
  • ID: US05
  • +
  • Origem: IN15
  • +
  • Descrição: Eu, como usuário, desejo filtrar livros por categorias específicas, como gênero literário, para encontrar obras que correspondam aos meus interesses.
  • +
  • Motivo: Para explorar facilmente livros de gêneros específicos que se alinhem com meus gostos e preferências.
  • +
  • Critérios de Aceitação:
      +
    • Deve ser possível selecionar diferentes categorias para filtrar os livros.
    • +
    • Os resultados da filtragem devem ser precisos e abranger as categorias escolhidas.
    • +
    • Deve ser possível agregar 2 ou mais especificações em uma só filtragem
    • +
    • Os resultados da pesquisa devem ser atualizados em tempo real a medida que o usuário ajusta o filtro
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Escrever Resenhas de Livros Lidos

    +
  • +
  • ID: US06
  • +
  • Origem: IN04, IN05
  • +
  • Descrição: Eu, como usuário, desejo escrever resenhas detalhadas dos livros que já li para compartilhar minhas opiniões e experiências com outros leitores.
  • +
  • Motivo: Para contribuir com a comunidade de leitores e ajudar outros usuários a descobrir novos livros com base em minha avaliação e análise.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma opção clara para escrever e publicar resenhas na plataforma.
    • +
    • Os usuários devem ter a capacidade de editar ou excluir suas resenhas conforme necessário.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Dar Notas aos Livros Lidos

    +
  • +
  • ID: US07
  • +
  • Origem: IN05
  • +
  • Descrição: Eu, como usuário, desejo atribuir notas aos livros que li para expressar minha avaliação e classificação pessoal.
  • +
  • Motivo: Para fornecer uma avaliação quantitativa dos livros e compartilhar minhas preferências com outros usuários.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver um sistema de classificação clara, como o uso de estrelas, para avaliar os livros.
    • +
    • Os usuários devem ser capazes de visualizar a média de classificações dadas por outros usuários.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Contabilizar Dias de Leitura ao Reler um Livro

    +
  • +
  • ID: US08
  • +
  • Origem: IN06
  • +
  • Descrição: Eu, como usuário, desejo que os dias de leitura sejam contabilizados quando estou relendo um livro, para manter o registro preciso do meu progresso de leitura.
  • +
  • Motivo: Para monitorar o tempo dedicado à leitura de um livro específico, mesmo durante a re-leitura.
  • +
  • Critérios de Aceitação:
      +
    • O sistema deve registrar com precisão os dias de leitura ao reler um livro específico.
    • +
    • Os usuários devem ser capazes de visualizar o histórico de leitura detalhado para cada livro.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Criar Lista de Livros Desejados

    +
  • +
  • ID: US09
  • +
  • Origem: IN09
  • +
  • Descrição: Eu, como usuário, desejo criar uma lista de livros desejados para registrar os livros que desejo ler no futuro.
  • +
  • Motivo: Para manter um registro organizado dos livros que despertaram meu interesse e que pretendo ler posteriormente.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma opção clara para adicionar livros à lista de desejos.
    • +
    • Os usuários devem poder acessar e gerenciar facilmente a lista de livros desejados.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Compartilhar Lista de Livros Desejados

    +
  • +
  • ID: US10
  • +
  • Origem: IN10
  • +
  • Descrição: Eu, como usuário, desejo poder compartilhar minha lista de livros desejados com outros usuários para recomendar livros e descobrir novas leituras em potencial.
  • +
  • Motivo: Para compartilhar e explorar interesses literários com amigos e a comunidade de leitores.
  • +
  • Critérios de Aceitação:
      +
    • Deve ser possível compartilhar a lista de livros desejados por meio de links ou convites específicos.
    • +
    • Os usuários devem ter opções de privacidade para controlar quem pode acessar sua lista de livros desejados.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Pesquisar Outros Usuários

    +
  • +
  • ID: US11
  • +
  • Origem: IN11
  • +
  • Descrição: Eu, como usuário, desejo pesquisar outros usuários na plataforma para descobrir amigos com interesses literários semelhantes.
  • +
  • Motivo: Para expandir minha rede de contatos e interagir com outros leitores na comunidade.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma barra de pesquisa intuitiva para procurar outros usuários pelo nome ou nome de usuário.
    • +
    • Os resultados da pesquisa devem ser precisos e abranger os critérios de pesquisa especificados.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Analisar o Perfil de Outros Usuários

    +
  • +
  • ID: US12
  • +
  • Origem: IN12
  • +
  • Descrição: Eu, como usuário, desejo visualizar e analisar o perfil de outros usuários para conhecer suas preferências literárias, estantes de livros e atividades recentes.
  • +
  • Motivo: Para entender melhor os interesses e atividades de leitura de outros usuários na plataforma.
  • +
  • Critérios de Aceitação:
      +
    • Deve ser possível acessar o perfil de outros usuários com facilidade a partir de suas páginas de resultados de pesquisa.
    • +
    • As informações do perfil do usuário devem ser apresentadas de forma clara e organizada.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Adicionar Outros Usuários como Amigos

    +
  • +
  • ID: US13
  • +
  • Origem: IN13
  • +
  • Descrição: Eu, como usuário, desejo adicionar outros usuários como amigos na plataforma para acompanhar suas atualizações e interagir com suas atividades literárias.
  • +
  • Motivo: Para fortalecer conexões sociais com outros leitores e compartilhar experiências literárias em uma comunidade engajada.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma opção clara para adicionar outros usuários como amigos.
    • +
    • Os usuários devem receber notificações sobre novas solicitações de amizade e confirmações de amizade.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Visualizar Ranking Semanal/Mensal de Livros Mais Bem Classificados

    +
  • +
  • ID: US14
  • +
  • Origem: BS09
  • +
  • Descrição: Eu, como usuário, desejo acessar o ranking semanal/mensal de livros mais bem classificados na plataforma para descobrir novas obras populares e aclamadas.
  • +
  • Motivo: Para ficar atualizado com os livros mais populares e bem avaliados entre a comunidade de leitores.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma seção na plataforma dedicada a rankings de livros mais bem classificados.
    • +
    • Os rankings devem ser atualizados automaticamente em uma base semanal e mensal.
    • +
    • Os rankings devem exibir os títulos dos livros, capas, autores e a quantidade de leituras ou visualizações.
    • +
    • Os usuários devem poder clicar em um livro no ranking para obter mais informações e acessar sua página de detalhes.
    • +
    • Os livros devem ser classificados com base em critérios como classificação média dos usuários, número de avaliações ou popularidade.
    • +
    • A interface do usuário deve ser responsiva e funcionar bem em diferentes dispositivos, como computadores e dispositivos móveis.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Visualizar Ranking Semanal/Mensal de Livros Mais Lidos

    +
  • +
  • ID: US15
  • +
  • Origem: BS10
  • +
  • Descrição: Eu, como usuário, desejo acessar o ranking semanal/mensal de livros mais lidos na plataforma para descobrir tendências de leitura e obras populares entre os usuários.
  • +
  • Motivo: Para explorar novos livros com base em sua popularidade e número de leituras registradas.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma seção na plataforma dedicada a rankings de livros mais lidos .
    • +
    • Os rankings devem ser atualizados automaticamente em uma base semanal e mensal.
    • +
    • Os rankings devem exibir os títulos dos livros, capas, autores e a quantidade de leituras ou visualizações.
    • +
    • Os usuários devem poder clicar em um livro no ranking para obter mais informações e acessar sua página de detalhes.
    • +
    • Os livros devem ser classificados com base em critérios como classificação média dos usuários, número de avaliações ou popularidade.
    • +
    • A interface do usuário deve ser responsiva e funcionar bem em diferentes dispositivos, como computadores e dispositivos móveis.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Postar Fotos e/ou Vídeos em Formato "Stories"

    +
  • +
  • ID: US16
  • +
  • Origem: BS11
  • +
  • Descrição: Eu, como usuário, desejo poder postar fotos e/ou vídeos em formato de "stories" para compartilhar momentos literários e interagir com outros usuários de maneira envolvente.
  • +
  • Motivo: Para compartilhar experiências de leitura de forma visual e estimular a interação social na plataforma.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma opção clara para criar e publicar "stories" na plataforma.
    • +
    • Os usuários devem ter a capacidade de visualizar e interagir com as histórias publicadas por outros usuários.
    • +
    • O usuário deve poder capturar ou selecionar fotos e/ou vídeos da galeria do dispositivo para adicionar à postagem
    • +
    • As postagens no formato 'stories' devem ser visíveis apenas por um período limitado (por exemplo, 24 horas)
    • +
    • O usuário deve poder adicionar uma legenda ou descrição à postagem
    • +
    • Deve haver uma opção para o usuário compartilhar a postagem em suas histórias ou com um grupo específico de seguidores
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Criar Desafios entre Amigos

    +
  • +
  • ID: US17
  • +
  • Origem: BS14
  • +
  • Descrição: Eu, como usuário, desejo criar desafios de leitura personalizados e convidar meus amigos para participar, incentivando a interação e o engajamento em atividades literárias divertidas.
  • +
  • Motivo: Para promover interações sociais e incentivar a leitura entre amigos na plataforma.
  • +
  • Critérios de Aceitação:
      +
    • Deve ser possível convidar amigos da plataforma para participar do desafio por meio de notificações ou convites
    • +
    • Deve haver uma opção para o usuário criar um desafio personalizado a partir da sua conta
    • +
    • Deve ser possível criar desafios personalizados com instruções e metas específicas.
    • +
    • Os usuários devem receber notificações sobre os convites para participar de desafios e atualizações do progresso do desafio.
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Receber Recomendações de Livros Personalizadas

    +
  • +
  • ID: US18
  • +
  • Origem: BS18
  • +
  • Descrição: Eu, como usuário, desejo receber recomendações de livros personalizadas com base nos meus interesses literários e atividades de leitura anteriores.
  • +
  • Motivo: Para descobrir novos livros que correspondam aos meus gostos e preferências pessoais.
  • +
  • Critérios de Aceitação:
      +
    • O sistema deve analisar com precisão minhas preferências literárias e atividades de leitura para gerar recomendações relevantes.
    • +
    • Os usuários devem receber regularmente atualizações e notificações sobre novas recomendações de livros com base em seus perfis.
    • +
    • As recomendações de livros devem ser geradas com base nas informações coletadas e em algoritmos de recomendação
    • +
    • Os usuários devem poder visualizar informações detalhadas sobre os livros recomendados, como capa, título, autor, sinopse e avaliações de outros leitores
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Sortear livro entre livros "Quero ler"

    +
  • +
  • ID: US19
  • +
  • Origem: BS03
  • +
  • Descrição: Eu, como usuário, quero ter a opção de sortear um livro aleatoriamente da minha lista de livros marcados como "Quero Ler"
  • +
  • Motivo: Quero que o sistema me ajude a escolher qual será minha próxima leitura com base nos livros que demonstrei interesse.
  • +
  • Critérios de Aceitação:
      +
    • Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuário
    • +
    • O sistema deve verificar se o usuário tem pelo menos um livro marcado como "Quero Ler"
    • +
    • Se o usuário não tiver pelo menos um livro marcado como "Quero Ler" o sistema deve exibir uma mensagem informativa indicando que não há livro disponíveis para sorteio.
    • +
    • O sistema deve garantir que o sorteio seja verdadeiramente aleatório e imparcial
    • +
    +
  • +
  • +

    Validez: Validado pelo usuário

    +
  • +
  • +

    Alterar Tema da Interface

    +
  • +
  • ID: US20
  • +
  • Origem: BS08
  • +
  • Descrição: Eu, como usuário, desejo ter a opção de alterar o tema da interface do aplicativo
  • +
  • Motivo: Para personalizar a experiência de uso de acordo com minhas preferências visuais e para adaptar a interface de acordo com as condições de iluminação do ambiente ou para melhorar a acessibilidade.
  • +
  • Critérios de Aceitação:
      +
    • Deve haver uma seleção clara de temas disponíveis na seção de configurações da interface.
    • +
    • A mudança de tema deve ser refletida imediatamente em todos os elementos da interface, incluindo cores, fontes e layout.
    • +
    • Os temas disponíveis devem incluir opções de tema claro, tema escuro e outras variantes que possam ser visualmente agradáveis e acessíveis para os usuários.
    • +
    • Os temas selecionados devem ser aplicados consistentemente em todas as telas e páginas do aplicativo.
    • +
    +
  • +
  • Validez: Validado pelo usuário
  • +
+

Validação das histórias de usuário

+

O Vídeo 1, presente a seguir, contém o conteúdo da reunião de validação com o usuário Thales Vieira, que leu e consentiu com o termo de consentimento e uso de imagem

+ + +
+

Vídeo 1: Validação de User Stories. (Fonte: Yago Milagres Passos. 2023).

+
+ +

Conclusão

+

O desenvolvimento das histórias de usuário desempenhou um papel fundamental na definição dos requisitos essenciais para o sucesso do projeto "Skoob". Ao abordar as necessidades e expectativas dos usuários de maneira abrangente, as histórias de usuário fornecem uma estrutura sólida para o desenvolvimento de funcionalidades e recursos que promovem a interação, o engajamento e a satisfação do usuário.

+

Ao implementar as histórias de usuário identificadas neste artefato, espera-se que a plataforma "Skoob" atenda às demandas dos usuários de forma eficaz, fornecendo uma experiência enriquecedora e personalizada no mundo da literatura.

+

Bibliografia

+

[1] VLC. Hitórias de Usuário. Grupo VLC da disciplina Requisitos de Software, disponível em: https://requisitos-de-software.github.io/2023.1-VLC/#/modelagem/cenarios. Acesso em: 16 de outubro de 2023.

+

[2] SERRANO, Maurício; SERRANO, Milene. Requisitos - Aula 15. 1º/2019. 46 slides. Material apresentado para a disciplina de Requisitos de Software no curso de Engenharia de Software da UnB, FGA.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.003/11/202305/11/2023Criação do ArtefatoJefferson França
1.104/11/202304/11/2023Elaboração de HistóriasJefferson França
1.205/11/202305/11/2023Seções de Introdução, Metodologia e ConclusãoYago Passos
1.306/11/202306/11/2023Adicionando a gravação da validaçãoYago Passos
+

Revisão (V&V)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
04/11/20231.0Revisão por inspeçãoYago Passos
04/11/20231.1Elaboração em paresYago Passos
04/11/20231.2Elaboração em paresJefferson França
04/11/20231.3Elaboração em paresJefferson França
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/planejamento/cronograma/index.html b/planejamento/cronograma/index.html new file mode 100644 index 00000000..f756c10d --- /dev/null +++ b/planejamento/cronograma/index.html @@ -0,0 +1,3489 @@ + + + + + + + + + + + + + + + + + + + + + + + Cronograma planejado - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

Cronograma

+

Introdução

+

Este artefato foi elaborado com o propósito de fornecer um cronograma cuidadosamente planejado, que nos permitirá acompanhar e executar nosso projeto de forma eficiente.

+

Seguir este cronograma nos ajudará a nos prepararmos adequadamente para cumprir todas as etapas e entregas necessárias. Assim, tornando o cronograma como um guia que traça os pontos de controle, metas de entregas de artefatos com seus respectivos autores e revisores.

+

Entregas

+

Cronograma Geral

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EtapaTítuloDescriçãoData limite de entregaApresentação
1PlanejamentoFerramentas, escolha e descrição do aplicativo, rich picture20/0921/09
2Elicitação de requisitosPerfil do usuário, técnicas de elicitação, priorização04/1005/10
3Modelagem de requisitosCenários, léxicos, use case e especificação suplementar25/1026/10
4Modelagem de requisitos - ÁgilHistórias de usuários, backlogs, NFR, framework06/1107/11
5.1Análise de requisitosVerificação e validação I - Grupo + 113/1114/11
5.2Análise de requistosVerificação e validação II29/1130/11
6Pós-RastreabilidadeGerência II20/1121/11
7Entrega finalProjeto finalizado06/1207/12 - 19/12
+
+

Tabela 1: Cronograma geral. (Fonte: Shaíne Oliveira, 2023).

+
+ +

Ponto de Controle 1

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeData limite de entregaData limite de revisãoAutor(es)Revisor(es)
Apresentações17/0918/09TodosTodos
Atas17/0918/09YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
Cronograma17/0918/09Jefferson, Shaíne e YagoAna Caroline
Cronograma Realizado17/0918/09Jefferson e ShaíneRafael
Equipe17/0918/09Rafael FernandesJefferson
Ferramentas17/0918/09Ana CarolineShaíne
GitPage17/0918/09RafaelAna Caroline, Jefferson, Rafael, Shaíne e Yago
Heatmap17/0918/09TodosTodos
Modelo Padrão para Artefatos17/0918/09JeffersonShaíne
Metodologia e Política de Commit17/0918/09Jefferson e YagoAna Caroline
Rich Pictures dos Integrantes17/0918/09Ana e RafaelYago
Vídeo de apresentação18/0918/09TodosTodos
Correções da Entrega 126/0927/09Rafael, Shaíne e YagoTodos
+
+

Tabela 2: Cronograma detalhado da primeira entrega. (Fonte: Jefferson França, 2023).

+
+ +

Ponto de Controle 2

+

A Tabela 3 mostra as atividades planejadas para o Ponto de Controle 2 (Elicitação – Técnicas e Priorização), além de seus autores, revisores e datas de entrega.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeData limite de entregaData limite de revisãoAutor(es)Revisor(es)
Atas de reunião02/1003/10YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
Correções do ponto de controle anterior02/1003/10Jefferson e ShaíneYago
Cronograma Realizado02/1003/10Jefferson e ShaíneRafael
Perfil dos usuários02/1003/10Rafael e YagoJefferson
Moscow02/1003/10Rafael e ShaíneAna Caroline, Jefferson, Rafael, Shaíne e Yago
First things first02/1003/10Yago e AnaAna Caroline, Jefferson, Rafael, Shaíne e Yago
Three-Level Scale02/1003/10Jefferson e YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
Brainstorming02/1003/10Rafael e JeffersonShaíne
Entrevista02/1003/10Ana e ShaíneShaíne
Observação02/1003/10Yago e JeffersonShaíne
Vídeo de apresentação02/1003/10TodosTodos
Correções da Entrega 211/1013/10TodosTodos
+
+

Tabela 3: Cronograma detalhado da segunda entrega. (Autor: Yago Passos, 2023).

+
+ +

Ponto de Controle 3

+

A Tabela 4 mostra as atividades planejadas para o Ponto de Controle 3, além de seus autores, revisores e datas de entrega.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeData limite de entregaData limite de revisãoAutor(es)Revisor(es)
Casos de uso10/1012/10Ana Caroline e ShaíneJefferson
Cenários20/1021/10RafaelShaíne
Correções do ponto de controle anterior24/1024/10TodosTodos
Especificação Suplementar11/1015/10YagoRafael
Léxico20/1022/10Jefferson, Shaíne e YagoAna Caroline
Vídeo de apresentação23/1023/10TodosTodos
Correções da Entrega 330/1003/11TodosTodos
+
+

Tabela 4: Cronograma detalhado da terceira entrega. (Fonte: Shaíne Oliveira, 2023).

+
+ +

Ponto de Controle 4

+

A Tabela 5 mostra as atividades planejadas para o Ponto de Controle 4, além de seus autores, revisores e datas de entrega.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeData limite de entregaData limite de revisãoAutor(es)Revisor(es)
Atas03/1104/11YagoAna Caroline
Backlog03/1104/11Jefferson e Ana CarolineShaíne
GitPage03/1104/11ShaíneTodos
Histórias de usuário03/1104/11Ana, Jefferson e ShaíneJefferson
NFR Framework03/1104/11Rafael e YagoYago
Vídeo de apresentação03/1104/11TodosTodos
Correções da Entrega 409/1113/11TodosTodos
+
+

Tabela 5: Cronograma detalhado da quarta entrega. (Fonte: Jefferson França, 2023).

+
+ +

Ponto de Controle 5.1

+

A Tabela 6 mostra as atividades planejadas para o Ponto de Controle 5.1, além de seus autores, revisores e datas de entrega.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeData limite de entregaData limite de revisãoAutor(es)Revisor(es)
Verificação dos Requisistos 110/1111/11Jefferson, Ana e RafaelRafael e Yago
Validação de requisitos 110/1111/11Shaine e YagoJefferson, Ana e Shaine
Vídeo de apresentação10/1111/11TodosTodos
Revisão de artefatos10/1111/11TodosTodos
Correções da Entrega 5.117/1121/11TodosTodos
+
+

Tabela 6: Cronograma detalhado da sexta entrega. (Autor: Yago Passos, 2023).

+
+ +

Ponto de Controle 5.2

+

A Tabela 7 mostra as atividades planejadas para o Ponto de Controle 5.2, além de seus autores, revisores e datas de entrega.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeData limite de entregaData limite de revisãoAutor(es)Revisor(es)
Verificação dos Requisistos 127/1128/11Rafael, Ana e ShaineRafael e Yago
Validação de requisitos 127/1128/11Jefferson e YagoJefferson, Ana e Shaine
Vídeo de apresentação27/1128/11TodosTodos
Revisão de artefatos27/1128/11TodosTodos
Correções da Entrega 5.230/1102/11TodosTodos
+
+

Tabela 7: Cronograma detalhado da entrega final. (Autor: Yago Passos, 2023).

+
+ +

Ponto de Controle 6

+

A Tabela 8 mostra as atividades planejadas para o Ponto de Controle 6, além de seus autores, revisores e datas de entrega.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeData limite de entregaData limite de revisãoAutor(es)Revisor(es)
Backward From16/1118/11Ana Caroline, Shaíne e YagoJefferson, Rafael e Yago
Forward From17/1119/11Jefferson, RafaelAna Caroline e Shaíne
Revisão de artefatos20/1120/11TodosTodos
Vídeo de apresentação20/1120/11TodosTodos
Correções da Entrega 621/1223/12TodosTodos
+
+

Tabela 8: Cronograma detalhado da entrega final. (Fonte: Shaíne Oliveira, 2023).

+
+ +

Heatmap

+

Na Figura 1, apresentamos a disponibilidade dos membros do grupo para reuniões eventuais. Utilizamos um heatmap para auxiliar na seleção do horário mais adequado para as reuniões.

+

As reuniões foram agendadas para todas as segundas-feiras às 21:30h, visando a discussão de pontos importantes relacionados ao projeto.

+

image

+
+

Figura 1 - Disponibilidade dos integrantes, Heatmap. (Fonte: Jefferson França. 2023)

+
+ +

Bibliografia

+

[1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/33/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 12 de setembro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.011/09/202316/09/2023Criação do artefatoJefferson França, Shaíne e Yago PassosAna Rocha
1.112/09/202316/09/2023Atualização dos cronogramas de ponto de controle 3 e 6ShaíneRafael Amancio
1.215/09/202316/09/2023Atualização dos cronogramas e adição do heatmapJefferson França e Yago PassosRafael Amancio
1.2.120/09/202320/09/2023Atualização dos cronogramasShaíneAna Rocha
1.302/10/202303/10/2023Atualização dos cronogramasShaíneAna Rocha
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/planejamento/cronograma_executado/index.html b/planejamento/cronograma_executado/index.html new file mode 100644 index 00000000..d9343160 --- /dev/null +++ b/planejamento/cronograma_executado/index.html @@ -0,0 +1,3327 @@ + + + + + + + + + + + + + + + + + + + + + + + Cronograma executado - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

Cronograma

+

Introdução

+

Este artefato foi criado com o intuito de ser atualizado à medida que o projeto avança. Ao término do projeto, realizaremos uma comparação entre o cronograma planejado e o cronograma executado. Isso nos permitirá realizar uma análise do planejamento e do progresso do projeto.

+

Entregas

+

Ponto de Controle 1

+

Na Tabela 1, podemos analisar como as tarefas foram distribuídas para a primeira entrega. O cronograma realizado e o planejado foram alinhados durante esta fase inicial, explicando por que eles estão iguais. Isso demonstra a eficácia do planejamento e sua implementação bem-sucedida nesta etapa inicial do projeto.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeEntregaRevisãoAutor(es)Revisor(es)
Apresentações17/0918/09Ana Caroline, Jefferson, Rafael, Shaíne e YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
Atas17/0918/09YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
Cronograma17/0918/09Jefferson, Shaíne e YagoAna Caroline
Cronograma Realizado17/0918/09Jefferson e ShaíneRafael
Equipe17/0918/09Rafael FernandesJefferson
Ferramentas17/0918/09Ana CarolineShaíne
GitPage17/0918/09RafaelAna Caroline, Jefferson, Rafael, Shaíne e Yago
Heatmap17/0918/09Ana Caroline, Jefferson, Rafael, Shaíne e YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
Modelo Padrão para Artefatos17/0918/09JeffersonShaíne
Metodologia e Política de Commit17/0918/09Jefferson e YagoJefferson
Rich Pictures dos Integrantes17/0918/09Ana e RafaelYago
Vídeo de apresentação18/0918/09Ana Caroline, Jefferson, Rafael, Shaíne e YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
+
+

Tabela 1: Cronograma detalhado da primeira entrega. (Autor: Jefferson França e Shaíne, 2023).

+
+ +

Ponto de Controle 2

+

A Tabela 2 mostra as atividades planejadas para o Ponto de Controle 2 e as datas em que foram executadas, além de seus autores e revisores.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeEntregaRevisãoAutor(es)Revisor(es)
Atas de reunião02/1003/10YagoTodos
Cronograma Realizado02/1004/10Jefferson e ShaíneRafael
Perfil dos usuários04/1004/10Jefferson e AnaYago
Moscow03/1004/10Rafael e ShaíneRafael e Shaíne
First things first04/1004/10Yago e AnaAna Caroline, Jefferson, Rafael e Yago
Three-Level Scale04/1004/10Jefferson, Rafael e AnaAna Caroline, Jefferson, Shaíne e Yago
Brainstorming04/1004/10Rafael, Jefferson e YagoShaíne
Entrevista02/1003/10Ana, Shaíne e YagoShaíne
Observação02/1003/10Yago e ShaíneAna e Shaíne
Correções do ponto de controle anterior08/1017/10TodosTodos
Vídeo de apresentação02/1003/10TodosYago e Rafael
+
+

Tabela 2: Cronograma executado da segunda entrega. (Autor: Yago Passos, 2023).

+
+ +

Ponto de Controle 3

+

A Tabela 4 mostra as atividades do Ponto de Controle 3 e as datas em que foram executadas, além de seus autores e revisores.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeEntregaRevisãoAutor(es)Revisor(es)
Atas de reunião09/1012/10YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
Casos de uso24/1024/10JeffersonYago
Cenários24/1024/10ShaíneAna Caroline
Especificação Suplementar23/1025/10Ana CarolineRafael
Léxico24/1024/10Yago, Ana e RafaelAna e Yago
Correções do ponto de controle anterior17/1018/10TodosTodos
Vídeo de apresentação04/1104/11TodosTodos
+
+

Tabela 4: Cronograma executado da terceira entrega. (Autor: Ana Rocha, 2023).

+
+ +

Ponto de Controle 4

+

A Tabela 5 mostra as atividades do Ponto de Controle 4 e as datas em que foram executadas, além de seus autores e revisores.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeEntregaRevisãoAutor(es)Revisor(es)
Atas de reunião31/1006/11YagoAna Caroline, Jefferson, Rafael, Shaíne e Yago
Backlog04/1106/11RafaelYago e Jefferson
Histórias de usuário06/1106/11Jefferson e YagoYago Passos
NFR Framework04/1106/11Ana Caroline e ShaíneRafael
Correções do ponto de controle anterior06/1106/11TodosTodos
Vídeo de apresentação06/1106/11TodosTodos
+
+

Tabela 5: Cronograma detalhado da quarta entrega. (Autor: Ana Rocha, 2023).

+
+ +

Ponto de Controle 5.1

+

A Tabela 6 mostra as atividades do Ponto de Controle 5.1 e as datas em que foram executadas, além de seus autores e revisores.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeEntregaRevisãoAutor(es)Revisor(es)
Verificação dos Requisistos 112/1113/11TodosTodos
Validação de requisitos 112/1113/11TodosTodos
Correções do ponto de controle anterior13/1113/11TodosTodos
Vídeo de apresentação13/1113/11TodosTodos
+
+

Tabela 6: Cronograma detalhado da primeira parte da quinta entrega. (Autor: Ana Rocha, 2023).

+
+ +

Ponto de Controle 6

+

A Tabela 7 mostra as atividades do Ponto de Controle 6 e as datas em que foram executadas, além de seus autores e revisores.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeEntregaRevisãoAutor(es)Revisor(es)
Backward-From18/1120/11Shaíne e AnaTodos
Forward-From18/1120/11Yago e JeffersonTodos
Matriz de Rastreabilidade20/1120/11Rafael e YagoTodos
Vídeo de apresentação20/1120/11TodosTodos
+
+

Tabela 7: Cronograma detalhado da sexta entrega. (Autor: Rafael Amancio, 2023).

+
+ +

Bibliografia

+

[1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/33/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 12 de setembro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.015/09/202316/09/2023Criação do artefatoJefferson França e Shaíne
1.102/10/202304/10/2023Atualização do cronograma executadoShaíne
1.217/10/202318/10/2023Adicionando Tabelas do ponto 2 e 3Yago
1.302/11/202304/11/2023Corrigindo tabela do ponto 3 e adicionando tabela de revisãoAna Rocha
1.406/11/202306/11/2023Adicionando Tabela do ponto 4Ana Rocha
1.513/11/202313/11/2023Adicionando Tabela do ponto 5.1Ana Rocha
+

Revisão (V&V)

+ + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
04/10/20231.1Revisão por inspeçãoRafael Amancio
02/11/20231.2Revisão por inspeçãoAna Rocha
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/planejamento/entregas/index.html b/planejamento/entregas/index.html new file mode 100644 index 00000000..03bd3ef7 --- /dev/null +++ b/planejamento/entregas/index.html @@ -0,0 +1,3243 @@ + + + + + + + + + + + + + + + + + + + + + Entregas - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

Entregas

+

Introdução

+

Abaixo consta-se quais artefatos são referentes a entrega e o link da gravação.

+

Entrega 1 (20/09/2023)

+

Descrição:

+

Nesta primeira entrega foi possível fazer todo o cronograma do projeto, ferramentas que serão utilizadas, planejamento e metodologia.

+

Vídeo de apresentação

+

O Vídeo 1 corresponde a gravação da primeira entrega da disciplina. Nele, explicamos a fase de planejamento que desenvolvemos, juntamente com seus artefatos.

+ +
+

Vídeo 1: Gravação da primeira apresentação. (Fonte: Grupo 6, 2023)..

+
+ +

Entrega 2 (04/10/2023)

+

Descrição:

+

Nesta segunda entrega foi possível fazer correções da primeira entrega, elicitar os requisitos usando técnicas de elicitação, estudar o perfil do usuário e priorizar o requisitos.

+

Vídeo de apresentação

+

O Vídeo 2 corresponde a gravação da segunda entrega da disciplina. Nele, explicamos as técnicas usadas para elicitar e priorizar os requisitos.

+ +
+

Vídeo 2: Gravação da segunda apresentação. (Fonte: Grupo 6, 2023)..

+
+ +

Entrega 3 (25/10/2023)

+

Descrição:

+

Nesta terceira entrega foi possível fazer correções da segunda entrega, elaborar os artefatos de cenários, léxicos e casos de uso, além da especificação suplementar.

+

Vídeo de apresentação

+

O Vídeo 3 corresponde a gravação da terceira entrega da disciplina. Nele, explicamos os cenários, léxicos, casos de uso e a especificação suplementar do projeto.

+ +
+

Vídeo 3: Gravação da terceira apresentação. (Fonte: Grupo 6, 2023)..

+
+ +

Entrega 4 (06/11/2023)

+

Descrição:

+

Nesta quarta entrega foi possível fazer correções da terceira entrega, elaborar os artefatos de Backlog, Histórias de Usuário e NFR Framework.

+

Vídeo de apresentação

+

O Vídeo 4 corresponde a gravação da quarta entrega da disciplina. Nele, explicamos o Backlog, as Histórias de Usuário e o NFR Framework do projeto.

+ +
+

Vídeo 4: Gravação da quarta apresentação. (Fonte: Grupo 6, 2023)..

+
+ +

Entrega 5.1 (13/11/2023)

+

Descrição:

+

Nesta quinta entrega foi possível fazer correções da quarta entrega e elaborar todos os artefatos de verificação do Grupo 7.

+

Vídeo de apresentação

+

O Vídeo 5 corresponde a gravação da quinta entrega da disciplina. Nele, explicamos como foi feito os artefatos de verificação.

+ +
+

Vídeo 5: Gravação da quinta apresentação. (Fonte: Grupo 6, 2023)..

+
+ +

Entrega 6 (20/11/2023)

+

Descrição:

+

Nesta sexta entrega foi possível elaborar os artefatos da Pós-rastreabilidade que são eles: Backward-From, Foward-From e Matriz de Rastreabilidade

+

Vídeo de apresentação

+

O Vídeo 6 corresponde a gravação da sexta entrega da disciplina. Nele, explicamos como foi feito os artefatos de Pós-rastreabilidade.

+ +
+

Vídeo 6: Gravação da sexta apresentação. (Fonte: Grupo 6, 2023)..

+
+ +

Histórico de versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.018/09/202325/09/2023Entrega 1Shaíne Oliveira
1.104/10/202315/10/2023Entrega 2Shaíne Oliveira
1.1.104/10/202315/10/2023Vídeo 2Yago Passos
1.223/10/202318/09/2023Entrega 3Shaíne Oliveira
1.2.101/11/202310/11/2023Adicionando Vídeo 3Yago Passos
1.304/11/202318/11/2023Entrega 4Shaíne Oliveira
1.3.106/11/202318/11/2023Adicionando Vídeo 4Yago Passos
1.413/11/202313/11/2023Entrega 5Shaíne Oliveira
1.4.113/11/202318/11/2023Adicionando Vídeo 5Yago Passos
1.513/11/202318/11/2023Entrega 6Shaíne Oliveira
1.5.120/11/202318/11/2023Adicionando Vídeo 6Yago Passos
+

Revisão (V&V)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
04/10/20231.0 e 1.1Revisão estáticaYago Passos
04/11/20231.2Revisão estáticaYago Passos
06/11/20231.3Revisão estáticaYago Passos
13/11/20231.4Revisão estáticaYago Passos
20/11/20231.5Revisão estáticaYago Passos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/planejamento/ferramentas/index.html b/planejamento/ferramentas/index.html new file mode 100644 index 00000000..61675722 --- /dev/null +++ b/planejamento/ferramentas/index.html @@ -0,0 +1,2774 @@ + + + + + + + + + + + + + + + + + + + + + + + Ferramentas - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Ferramentas

+

Introdução

+

As ferramentas mencionadas neste documento foram selecionadas pelo grupo como forma de suporte, buscando atingir objetivos com precisão e eficiência, além de simplificar o processo de desenvolvimento do projeto de Requisitos de Software, focado no aplicativo Skoob.

+

Ferramentas Utilizadas

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LogoNome da FerramentaFinalidade
FigmaFigmaUsado para elaborar os protótipos.
GitHubGitHubUsado para manter e gerenciar o repositório do projeto, bem como hospedar a GitPage.
LucidChartLucidChartUsado para criar o Rich Picture do aplicativo escolhido para estudo.
MkDocsMkDocsUsado para criar a GitPage.
TeamsTeamsUsado para realizar e registrar as reuniões do grupo.
TrelloTrelloUsado para a organização pessoal da equipe em relação às tarefas e demandas ao longo do projeto.
VSCodeVSCodePrograma usado para desenvolver e administrar as modificações na GitPage do projeto.
WhatsAppWhatsAppAplicativo de mensagens usado para facilitar a comunicação constante entre os integrantes do grupo.
YouTubeYouTubeUsado para hospedar as gravações do projeto.
+
+

Tabela 1: Descrição das ferramentas do projeto. (Fonte: Ana Rocha, 2023).

+
+ +

Bibliografia

+

[1] FIGMA. Disponível em: Figma. Acesso em: 18 de Setembro de 2023.
+[2] GITHUB. Disponível em: GitHub. Acesso em: 15 de Setembro de 2023.
+[3] LUCIDCHART. Disponível em: LucidChart. Acesso em: 26 de Setembro de 2023.
+[4] MKDOCS. Disponível em: MkDocs. Acesso em: 18 de Setembro de 2023.
+[5] TEAMS. Disponível em: Teams. Acesso em: 15 de Setembro de 2023.
+[6] TRELLO. Disponível em: Trello. Acesso em: 26 de Setembro de 2023.
+[7] VSCODE. Disponível em: VSCode. Acesso em: 15 de Setembro de 2023.
+[8] WHATSAPP. Disponível em: WhatsApp. Acesso em: 15 de Setembro de 2023.
+[9] YOUTUBE. Disponível em: YouTube. Acesso em: 15 de Setembro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.015/09/202315/09/2023Adição das ferramentas do projetoAna RochaRafael Amancio
1.118/09/202318/09/2023Atualização das ferramentas do projetoAna RochaShaíne Oliveira
1.226/09/202326/09/2023Adição de outras ferramentasAna RochaShaíne Oliveira
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/planejamento/img/heatmap.png b/planejamento/img/heatmap.png new file mode 100644 index 00000000..d5688a8f Binary files /dev/null and b/planejamento/img/heatmap.png differ diff --git a/planejamento/img/imagem.png b/planejamento/img/imagem.png new file mode 100644 index 00000000..9c2d163c Binary files /dev/null and b/planejamento/img/imagem.png differ diff --git a/planejamento/img/kanban_exemplo.png b/planejamento/img/kanban_exemplo.png new file mode 100644 index 00000000..fb0b0704 Binary files /dev/null and b/planejamento/img/kanban_exemplo.png differ diff --git a/planejamento/img/logos/logo_figma.png b/planejamento/img/logos/logo_figma.png new file mode 100644 index 00000000..c2dd7ebb Binary files /dev/null and b/planejamento/img/logos/logo_figma.png differ diff --git a/planejamento/img/logos/logo_github.png b/planejamento/img/logos/logo_github.png new file mode 100644 index 00000000..1a3571d2 Binary files /dev/null and b/planejamento/img/logos/logo_github.png differ diff --git a/planejamento/img/logos/logo_lucidchart.png b/planejamento/img/logos/logo_lucidchart.png new file mode 100644 index 00000000..62bb46f1 Binary files /dev/null and b/planejamento/img/logos/logo_lucidchart.png differ diff --git a/planejamento/img/logos/logo_mkdocs.png b/planejamento/img/logos/logo_mkdocs.png new file mode 100644 index 00000000..71513830 Binary files /dev/null and b/planejamento/img/logos/logo_mkdocs.png differ diff --git a/planejamento/img/logos/logo_teams.png b/planejamento/img/logos/logo_teams.png new file mode 100644 index 00000000..24dedf26 Binary files /dev/null and b/planejamento/img/logos/logo_teams.png differ diff --git a/planejamento/img/logos/logo_trello.png b/planejamento/img/logos/logo_trello.png new file mode 100644 index 00000000..75fea42c Binary files /dev/null and b/planejamento/img/logos/logo_trello.png differ diff --git a/planejamento/img/logos/logo_vscode.png b/planejamento/img/logos/logo_vscode.png new file mode 100644 index 00000000..37a08476 Binary files /dev/null and b/planejamento/img/logos/logo_vscode.png differ diff --git a/planejamento/img/logos/logo_whatsapp.png b/planejamento/img/logos/logo_whatsapp.png new file mode 100644 index 00000000..862e5a20 Binary files /dev/null and b/planejamento/img/logos/logo_whatsapp.png differ diff --git a/planejamento/img/logos/logo_youtube.png b/planejamento/img/logos/logo_youtube.png new file mode 100644 index 00000000..fe0e4935 Binary files /dev/null and b/planejamento/img/logos/logo_youtube.png differ diff --git a/planejamento/img/logos/skoob.png b/planejamento/img/logos/skoob.png new file mode 100644 index 00000000..b3227ad9 Binary files /dev/null and b/planejamento/img/logos/skoob.png differ diff --git a/planejamento/img/logos/skoob2.png b/planejamento/img/logos/skoob2.png new file mode 100644 index 00000000..86834df8 Binary files /dev/null and b/planejamento/img/logos/skoob2.png differ diff --git a/planejamento/metodologia/index.html b/planejamento/metodologia/index.html new file mode 100644 index 00000000..3269ebd9 --- /dev/null +++ b/planejamento/metodologia/index.html @@ -0,0 +1,2913 @@ + + + + + + + + + + + + + + + + + + + + + + + Metodologia - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Metodologia

+

Introdução

+

A escolha da metodologia de desenvolvimento de software é um passo crítico. Cada metodologia tem suas próprias abordagens e práticas, e a escolha certa deve se basear nas necessidades do projeto e na equipe. Essa decisão afeta diretamente como a equipe trabalha, colabora e se adapta às mudanças durante o desenvolvimento. Portanto, a seleção da metodologia é um artefato crucial para o sucesso do projeto.

+

Scrum Adaptado

+

Tendo tudo isso em vista, escolhemos adotar uma adaptação da metodologia Scrum. Essa metodologia se baseia em um conjunto de práticas eficazes para o desenvolvimento. Essa abordagem permite que nossa equipe conduza o projeto de forma ágil, sem a necessidade de dominar todas as etapas de uma só vez. Em vez disso, dividimos o projeto em ciclos chamados sprints. Cada sprint é composto por um conjunto de atividades que devem ser concluídas dentro de um prazo determinado. Essa estratégia nos permite ser flexíveis e ágeis nas entregas, adaptando-nos às mudanças à medida que surgem.

+

Ao adaptar o Scrum em nosso projeto, reconhecemos que, embora o Scrum seja uma metodologia valiosa, não há possibilidade de encaixar todas suas características com o projeto da matéria e, portanto, não o seguiremos rigidamente. Continuaremos a seguir os princípios fundamentais do Scrum, mas com a liberdade de ajustar as práticas e processos conforme necessário para atingir nossos objetivos de maneira eficaz e eficiente.

+

As principais características a serem seguidas viementemente são [1]:

+
    +
  • Divisão das entregas em Sprints;
  • +
  • Papéis de Scrum Master (Jefferson França) e Product Owner (Shaíne);
  • +
  • Descrição de um Backlog do produto;
  • +
  • Utilização de ferramenta de quadro estilo Kanban;
  • +
  • Reuniões.
  • +
+

Contudo, os principais fundamentos e indicações que não serão implementadas no projeto [1]:

+
    +
  • Métricas de Scrum como tabela de conhecimento ou de satisfação.
  • +
  • Reuniões Diárias ou de modelo Stand-up
  • +
+

Quadro Kanban

+

Do japonês, Kanban é literalmente traduzido como quadro de sinal ou sinal visual [2]. Em engenharia de Software, Kanban é uma estratégia para otimizar o fluxo de valor para partes interessadas através de um processo que utiliza um sistema visual [3].

+

A imagem 1 contém informações do Quadro Kanban utilizado pelo grupo. A ferramenta utilizada para sua elaboração +e o Trello, que está definida no artefato de Ferramentas

+

Imagem exemplo do Kanban

+

Políticas

+

Política de commits

+

A criação deste método visa promover a padronização e rastreabilidade em nosso processo de desenvolvimento. Dessa forma, devem estar de acordo com o seguinte padrão:

+
git commit -m "Arquivo: Descrição inserida no histórico de versão"
+
+

Exemplo:

+
+

O commit referente a criação do arquivo metodologias.md pode ter a mensagem metodologias: criação do documento

+
+


+

Conclusão

+

A adaptação da metodologia Scrum para o nosso projeto é uma escolha estratégica que nos permite manter um equilíbrio entre estrutura e flexibilidade. Ao seguir os princípios fundamentais do Scrum e adaptá-los conforme necessário, nossa equipe está posicionada para alcançar os objetivos do projeto de maneira eficiente e eficaz. A implementação do quadro Kanban também nos proporciona uma visão clara do fluxo de trabalho e contribui para a organização e acompanhamento das atividades. Além disso, ao estabelecer políticas claras, como a de commits, garantimos uma padronização no registro de alterações, facilitando a rastreabilidade e o entendimento do histórico de versões. Com essas práticas e abordagens, estamos confiantes de que seremos capazes de enfrentar os desafios do projeto com agilidade, transparência e qualidade.

+

Bibliografia

+

[1] O QUE É O SCRUM E COMO COMEÇAR. Disponível em: https://www.atlassian.com/br/agile/scrum. Acesso em: 18 de Setembro de 2023.

+

[2] O que é Kanban? Explicado para Iniciantes. Disponível em: https://businessmap.io/pt/recursos-kanban/primeiros-passos/o-que-e-kanban. Acesso em: 03 de outubro de 2023.

+

[3] Wikipédia, Kanban. Disponível em: https://pt.wikipedia.org/wiki/Kanban. Acesso em: 03 de outubro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.018/09/202318/09/2023Criação do artefatoJefferson França
1.118/09/202318/09/2023Seção de Scrum AdaptadoYago Passos
1.229/09/202303/10/2023Seção de PolíticasJefferson França
1.303/10/202304/10/2023Seção do KanbanYago Passos
1.417/10/202318/10/2023Seção de ConclusãoYago Passos
+

Verificação

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
01/09/20231.0 e 1.1Revisão estáticaShaíne
03/10/20231.2Revisão estáticaYago Passos
10/10/20231.3Revisão estáticaJefferson França
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/planejamento/modelo_artefato/index.html b/planejamento/modelo_artefato/index.html new file mode 100644 index 00000000..e3bfeca2 --- /dev/null +++ b/planejamento/modelo_artefato/index.html @@ -0,0 +1,2698 @@ + + + + + + + + + + + + + + + + + + + Título - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Título

+

Introdução

+

Corpo do Artefato

+

Subtítulo - Exemplo de Tabela

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeEntregaRevisãoAutor(es)Revisor(es)
textotextotextotextotexto
textotextotextotextotexto
textotextotextotextotexto
+
+

Tabela 1: Exemplo de Tabela. (Fonte: Jefferson França, 2023).

+
+ +

Exemplo Imagem

+

image

+
+

Figura 1 - Exemplo de Imagem. (Fonte: Jefferson França. 2023)

+
+ +

Bibliografia

+

[1] IMAGEM. Disponível em: Imagem. Acesso em: 05 de Setembro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.0dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
1.1dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
1.2dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
+

Verificação

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
dd/mm/aaaa1.0Elaboração em paresNome do Revisor
dd/mm/aaaa1.1 e 1.2Revisão estáticaNome do Revisor
dd/mm/aaaaTodasRevisão por inspeçãoNome do Revisor
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git "a/planejamento/modelo_artefato_apresenta\303\247\303\243o/index.html" "b/planejamento/modelo_artefato_apresenta\303\247\303\243o/index.html" new file mode 100644 index 00000000..f8748a61 --- /dev/null +++ "b/planejamento/modelo_artefato_apresenta\303\247\303\243o/index.html" @@ -0,0 +1,2787 @@ + + + + + + + + + + + + + + + + + + + + + + + Modelo de artefato - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Modelo Base - (Título)

+

Introdução

+

Com o objetivo de facilitar a padronização dos artefatos, este documento foi criado como um modelo base, garantindo assim a consistência na produção dos mesmos.

+

Corpo do Artefato

+

Esta seção representa o corpo do artefato, onde todo o conteúdo relevante deve ser inserido. Essa inclusão ocorrerá sempre após uma breve introdução.

+

Exemplo de Tabela

+

A seguir, apresentamos um exemplo de tabela. O conteúdo da tabela é flexível e fica a critério do autor, incluindo a quantidade de colunas e linhas.

+

Lembrando que após a inserção de tabela, imagem ou vídeo, o arquivo deve ser acompanhado por uma legenda e a respectiva fonte.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtividadeEntregaRevisãoAutor(es)Revisor(es)
textotextotextotextotexto
textotextotextotextotexto
textotextotextotextotexto
+
+

Tabela 1: Exemplo de Tabela. (Fonte: Jefferson França, 2023).

+
+ +

Exemplo Imagem

+

Uma pasta com o nome "img" foi criada para armazenar todos os arquivos de mídia necessários. Além disso, para cada módulo do projeto, será criada uma pasta correspondente, tornando a importação mais organizada e eficiente.

+

image

+
+

Figura 1 - Exemplo de Imagem. (Fonte: Jefferson França. 2023)

+
+ +

Bibliografia

+

[1] IMAGEM. Disponível em: Imagem. Acesso em: 05 de Setembro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.005/09/202318/04/2023Adição do modelo base dos artefatosJefferson FrançaYago Passos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/pos_rastreabilidade/backward/index.html b/pos_rastreabilidade/backward/index.html new file mode 100644 index 00000000..ea01b922 --- /dev/null +++ b/pos_rastreabilidade/backward/index.html @@ -0,0 +1,3376 @@ + + + + + + + + + + + + + + + + + + + + + + + Backward-From - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+ +
+
+ + + +
+
+ + + + + + + +

Backward-From

+

Introdução

+

A rastreabilidade "backward-from" é um conceito fundamental na engenharia de software e gerenciamento de requisitos, que se refere à capacidade de seguir o caminho inverso de um artefato ou item de software para identificar suas origens ou relacionamentos. Essa abordagem de rastreabilidade é especialmente valiosa em projetos de desenvolvimento de software, onde a compreensão da origem e do contexto de requisitos, componentes de software ou mudanças é crucial para garantir a qualidade, a manutenção eficiente e a conformidade com os objetivos do projeto. [3]

+

Para a realização da técnica de backward-from, foi utilizado o modelo de Toranzo, onde as informações a serem rastreadas são classificadas em quatro níveis e seis elos de rastreabilidade. [2]

+

Metodologia

+

A metodologia de rastreabilidade "backward-from" compreende uma série de passos sistemáticos projetados para seguir o caminho inverso de um artefato específico no desenvolvimento de software. +Os níveis são: [2]

+
    +
  • Ambiental: informações oriundas do contexto no qual a organização está inserida;
  • +
  • Organizacional: informações pertecentes à organização;
  • +
  • Gerencial: informações que auxiliam na gerencia do projeto;
  • +
  • Desenvolvimento: informações associadas aos diversos artefatos gerados ao longo do processo de desenvolvimento.
  • +
+

Os principais elos de rastreabilidade são: [2]

+
    +
  • Satisfação: classe origem tem dependência de satisfação com a classe destino;
  • +
  • Recurso: classe origem tem dependência de recurso com a classe destino;
  • +
  • Responsabilidade: registra a participação, responsabilidade e ação de pessoas sobre artefatos;
  • +
  • Representação: captura a representação ou modelagem dos requisitos em outras linguagens;
  • +
  • Alocado: classe origem está relacionada à classe destino, que representa um subsistema;
  • +
  • Agregação: indica “composição” de elementos.
  • +
+

Legendas:

+ +

Tabelas de requisitos funcionais

+

A Tabela 1 engloba todos os Requisitos Funcionais Elicitados:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDDescriçãoRastreabilidadeImplementado
RF01Deve ser possível realizar loginOB01Sim
RF02Deve ser possível pesquisar livrosOB02Sim
RF03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / RelendoOB03Sim
RF04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.OB04Sim
RF05Deve ser possível adicionar comentários nos postsOB05Sim
RF06Deve ser possível curtir posts da timelineOB06Sim
RF07Deve ser possível realizar cadastroIN01Sim
RF08Deve ser possível recuperar a senhaIN02Sim
RF09Deve ser possível cadastrar um livroIN03Sim
RF10Deve ser possível escrever resenhas dos livros marcados como lidosIN04Sim
RF11Deve ser possível dar notas aos livros lidosIN05Sim
RF12Deve ser possível contabilizar os dias lendo livros quando o status for relendoIN06Não
RF13Deve ser possível registrar o histórico de leituraIN07Sim
RF14Deve ser possível adicionar livro a estanteIN08Sim
RF15Deve ser possível criar lista de livros desejadosIN09Sim
RF16Deve ser possível compartilhar a lista de livros desejadosIN10Sim
RF17Deve ser possível pesquisar outros usuáriosIN11Sim
RF18Deve ser possível abrir e analisar o perfil de outros usuáriosIN12Sim
RF19Deve ser possível adicionar outros usuários como amigoIN13Sim
RF20Deve ser possível filtrar livros por notaIN14Não
RF21Deve ser possível filtrar livros por categoriaIN15Não
RF22Deve ser possível criar uma meta de leitura para o anoBS01Sim
RF23Deve ser possível sortear um livro cadastrado nas metas para o ano para a próxima leituraBS02Sim
RF24Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuárioBS03Não
RF25Deve ser possível ver informações gerais de um livro cadastrado, como sinopse, autor, quantidade de páginas, etcBS04Sim
RF26Deve existir uma aba de lançamentos de livrosBS05Sim
RF27Deve existir uma aba de notícias sobre editoras e autoresBS06Não
RF28Deve existir um FAQ para guiar os usuários nas funcionalidadesBS07Não
RF29Deve ser possível alterar o tema (escuro/claro/variantes)BS08Sim
RF30Deve ser possível visualizar um ranking semanal/mensal de livros mais bem classificadosBS09Não
RF31Deve ser possível visualizar um ranking semanal/mensal de livros mais lidosBS10Não
RF32Deve ser possível postar fotos e/ou vídeos em formato "stories"BS11Não
RF33Deve ser possível compartilhar estantesBS12Não
RF34Deve ser possível realizar desafios dentro da plataformaBS13Sim
RF35Deve ser possível criar desafios entre amigosBS14Não
RF36Deve ser possível mandar mensagens diretas entre usuáriosBS15Sim
RF37Deve ser possível conquistar prêmios e recompensas a partir de desafiosBS16Não
RF38Deve ser possível expor prêmios nos perfis e na timeLineBS17Não
RF39Deve ser possível receber recomendações de livros com base nas preferências literárias dos usuáriosBS18Não
+
+ Tabela 1: Requisitos Funcionais Elicitados. (Autor: Ana Rocha, 2023) +
+ +

Tabelas de requisitos não-funcionais

+

A Tabela 2 engloba todos os Requisitos Não-Funcionais Elicitados:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDDescriçãoRastreabilidadeImplementado
RNF01A senha deve conter no mínimo um número uma letra maiúscula e um caracter especialIN16Não
RNF02Deve ser possível fazer cadastro/login com as credenciais do facebookIN17Sim
RNF03Deve ser possível obter o aplicativo em qualquer sistema operacionalIN18Sim
RNF04Os dados do usuário devem ser guardados de forma eficaz, impendindo o vazamento dos mesmosIN19Sim
RNF05O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resoluçõesIN20Sim
RNF06O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdoBS19Sim
+
+ Tabela 2: Requisitos Não-Funcionais Elicitados. (Autor: Ana Rocha, 2023) +
+ +

Elos

+

Conforme mencionado na metodologia, a classificação dos requisitos será conduzida com base nos meios e tipos de elos. No entanto, uma análise realizada pelos responsáveis pelo artefato revelou que todos os requisitos elicitados pertencem à categoria "Desenvolvimento", sendo originados dos artefatos produzidos durante o processo de desenvolvimento do projeto, nenhum deles está associado à estrutura organizacional ou às práticas de gestão do projeto. Adicionalmente, iremos nos concentrar em três tipos específicos de elos de rastreabilidade: Satisfação, Recurso e Agregação.

+

Os requisitos funcionais listados na Tabela 1, com exceção de OB01, IN01 e IN02, estabelecem um elo de rastreabilidade do tipo "Recurso" em relação ao requisito funcional OB01, que diz respeito à capacidade de realizar login. Adicionalmente, os requisitos não-funcionais IN19 e BS19, listados na Tabela 2, também mantêm uma dependência com o requisito funcional OB01, indicando a presença do mesmo tipo de elo entre eles.

+

Além disso, o requisito funcional BS07, que aborda a implementação de um FAQ para orientar os usuários nas funcionalidades, estabelece um elo de Agregação com todos os requisitos funcionais da Tabela 1, exceto ele mesmo. Portanto, podemos descrever que BS07 agrega todas as demais funcionalidades.

+

A Tabela 3 evidencia os outros elos entre os requisitos apresentados nas tabelas anteriores:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDRequisitoTipo de Elo
ELO01RF01 / OB01Recurso: OB01 depende de IN01
ELO02RF02 / OB02Satisfação: OB02 satisfaz BS04
Recurso: OB02 depende de IN03
ELO03RF03 / OB03Satisfação: OB03 satisfaz IN08
ELO04RF04 / OB04Satisfação: OB04 satisfaz BS04
ELO05RF05 / OB05Recurso: OB05 depende de OB04,
OB05 depende de IN12
ELO06RF06 / OB06Recurso: OB06 depende de OB04,
OB06 depende de IN12
ELO07RF07 / IN01Recurso: IN01 depende de IN16
ELO08RF08 / IN02Recurso: IN02 depende de IN16
ELO09RF10 / IN04Recurso: IN04 depende de OB03
Agregação: IN04 agrega OB04
ELO10RF11 / IN05Recurso: IN05 depende de OB03
Agregação: IN05 agrega OB04,
IN05 agrega BS18
ELO11RF12 / IN06Recurso: IN06 depende de OB03,
IN06 depende de IN07
ELO12RF13 / IN07Recurso: IN07 depende de OB03
Agregação: IN07 agrega OB04
ELO13RF14 / IN08Recurso: IN08 depende de OB02
Agregação: IN08 agrega BS18
ELO14RF15 / IN09Agregação: IN09 agrega IN08,
IN09 agrega BS18
ELO15RF16 / IN10Recurso: IN10 depende de IN09,
IN10 depende de BS19
ELO16RF18 / IN12Recurso: IN12 depende de IN11
Agregação: IN12 agrega BS04
ELO17RF19 / IN13Recurso: IN13 depende de IN12
ELO18RF20 / IN14Agregação: IN14 agrega OB02
ELO19RF21 / IN15Agregação: IN15 agrega OB02
ELO20RNF02 / IN17Satisfação: IN17 satisfaz OB01,
IN17 satisfaz IN01
ELO21RF22 / BS01Agregação: BS01 agrega IN08
ELO22RF23 / BS02Recurso: BS02 depende de BS01
ELO23RF24 / BS03Recurso: BS03 depende de OB03
ELO24RF26 / BS05Satisfação: BS05 satisfaz BS04
ELO25RF30 / BS09Satisfação: BS09 satisfaz BS04
ELO26RF31 / BS10Satisfação: BS10 satisfaz BS04
ELO27RF32 / BS11Recurso: BS11 depende de IN20
ELO28RF33 / BS12Recurso: BS12 depende de IN08,
BS12 depende de BS19
ELO29RF34 / BS13Recurso: BS13 depende de IN07
ELO30RF35 / BS14Recurso: BS14 depende de IN13
Agregação: BS14 agrega BS13
ELO31RF36 / BS15Recurso: BS15 depende de IN12
ELO32RF37 / BS16Recurso: BS16 depende de BS13
ELO33RF38 / BS17Recurso: BS17 depende de BS16
Agregação: BS17 agrega OB04
+
+ Tabela 3: Elos de rastreabilidade. (Autor: Ana Rocha, 2023) +
+ +

Conclusão

+

Em síntese, a aplicação da técnica de rastreabilidade "backward-from" no Skoob, utilizando o modelo de Toranzo, permitiu compreender as complexas interações entre os requisitos funcionais e não-funcionais. A análise dos elos identificados destacou a importância de recursos específicos para operações fundamentais, como o login, bem como a necessidade de orientação clara aos usuários por meio de um FAQ.

+

Bibliografia

+

[1] POHL, Klaus e RUPP, Chris. Requirements Engineering Fundamentals. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.
+[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 26”. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.
+[3] SAYÃO, Miriam e LEITE, Julio. Monografia Rastreabilidade de Requisitos. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.016/11/202317/11/2023Criação do artefatoShaine
1.116/11/202317/11/2023Evolução do artefatoAna Caroline
+

Revisão (V&V)

+ + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
16/11/20231.0Revisão EstáticaAna Caroline
20/11/20231.1Revisão EstáticaShaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/pos_rastreabilidade/forward/index.html b/pos_rastreabilidade/forward/index.html new file mode 100644 index 00000000..e643ef56 --- /dev/null +++ b/pos_rastreabilidade/forward/index.html @@ -0,0 +1,4059 @@ + + + + + + + + + + + + + + + + + + + + + + + Forward-From - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Forward-From

+

Introdução

+

A gestão eficiente e estratégica de projetos é fundamental para o sucesso de organizações contemporâneas. No âmbito do desenvolvimento de software, a rastreabilidade emerge como um elemento crucial, permitindo a compreensão e o controle dos artefatos produzidos ao longo do ciclo de vida do projeto. Entre as diversas abordagens de rastreabilidade, destaca-se o conceito de "forward-from," um artefato que desempenha um papel essencial na manutenção da coerência e na facilitação da comunicação entre as diversas fases do desenvolvimento.

+

O artefato de rastreabilidade forward-from direciona sua atenção para o futuro, estabelecendo uma conexão direta e sistemática entre os requisitos iniciais e as etapas subsequentes do desenvolvimento [1]. Este mecanismo busca garantir que cada componente do sistema, desde os requisitos até a implementação final, seja claramente relacionado aos seus predecessores, oferecendo uma visão abrangente e contínua da evolução do projeto.

+

Metodologia

+

A estratégia adotada para estabelecer a rastreabilidade entre requisitos e artefatos centrou-se no método "forward-from", uma abordagem de pós-rastreabilidade que implica na criação de vínculos entre os requisitos e os artefatos gerados nas fases subsequentes do desenvolvimento. No âmbito da rastreabilidade entre requisitos, a aplicação do "forward-from" envolve a identificação das dependências entre os requisitos, como refinamentos, generalizações ou substituições entre eles. Por exemplo, um requisito pode evoluir a partir de outro, incorporando novas funcionalidades ou modificando as existentes. Essa análise de dependência é crucial para compreender as inter-relações dos requisitos e garantir sua adequada consideração durante o desenvolvimento do software.

+

Além disso, a abordagem "forward-from" inclui a rastreabilidade entre requisitos e artefatos de implementação, como código-fonte, documentação técnica e testes. Esta prática permite a identificação dos requisitos implementados em cada componente do sistema, os casos de teste associados e as áreas específicas da arquitetura relacionadas a cada requisito. Essas informações desempenham um papel crucial na preservação da integridade do sistema e na facilitação de futuras atividades de manutenção. Em resumo, a adoção do "forward-from" na rastreabilidade é essencial para estabelecer relações transparentes e consistentes entre os elementos do sistema, promovendo uma compreensão mais clara, manutenção eficaz e evolução contínua do software ao longo de seu ciclo de vida.

+

Mapeamento

+

Na Tabela 1, apresentamos uma legenda para facilitar a compreensão dos artefatos que serão discutidos.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LegendaArtefato
USHistória de Usuário
UCCasos de Uso
CCenários
LLéxico
INTIntrospecção
BSBrainstorming
OBObservação
RFRequisitos Funcionais
RNFRequisitos não Funcionais
+
+

Tabela 1 - Legenda. (Fonte: Jefferson França. 2023)

+
+ +

Na tabela 2, apresentaremos a vinculação dos artefatos a cada requisito, delineando as conexões estabelecidas. Essa análise proporcionará uma visão detalhada das relações entre requisitos específicos e os respectivos artefatos, evidenciando a consistência e integração no âmbito do processo de rastreabilidade forward.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID do requisitoDescrição do requisito
ÉpicoÉpico de referência
TemaTema do Backlog
História de UsuárioHistória de usuário
LéxicoLéxico relacionado
Casos de usoCaso de uso relacionado
CenáriosCenário relacionado
Artefatos de elicitaçãoArtefatos que elicitaram o requisito
ImplementadoSim ou Não
+
+

Tabela 2 - Vínculo requisito e artefatos. (Fonte: Jefferson França. 2023)

+
+ +

As tabelas de número 3 a 24, contém informações sobre a pós rastreabilidade dos requisitos do projeto.

+

Requisitos Funcionais

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OB01Deve ser possível realizar login
ÉpicoÉpico 1 - Autenticação
TemaAutenticação
História de Usuário--
LéxicoLéxico de Estado LE6
Casos de uso--
CenáriosC03: Realizando o Login
Artefatos de elicitaçãoObservação
ImplementadoSim
+
+

Tabela 3 - Rastreabilidade do OB01. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OB02Deve ser possível pesquisar livros
ÉpicoÉpico 2 - Livro
TemaLivro
História de Usuário--
LéxicoLéxico de verbo LV1
Casos de usoUC01
CenáriosC04: Pesquisando Livros
Artefatos de elicitaçãoObservação
ImplementadoSim
+
+

Tabela 4 - Rastreabilidade do OB02. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OB03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo
ÉpicoÉpico 4 - Acompanhamento
TemaAcompanhamento
História de UsuárioUS03
LéxicoLéxico de verbo LV2
Casos de usoUC01
CenáriosC01
Artefatos de elicitaçãoObservação
ImplementadoSim
+
+

Tabela 5 - Rastreabilidade do OB03. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OB04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.
ÉpicoÉpico 3 - Usuário
TemaUsuário
História de UsuárioUS12
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoObservação
ImplementadoSim
+
+

Tabela 6 - Rastreabilidade do OB04. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OB05Deve ser possível adicionar comentários nos posts
ÉpicoÉpico 3 - Usuário
TemaUsuário
História de Usuário--
Léxico--
Casos de usoUC05
Cenários--
Artefatos de elicitaçãoObservação
ImplementadoSim
+
+

Tabela 7 - Rastreabilidade do OB05. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OB06Deve ser possível curtir posts da timeline
ÉpicoÉpico 3 - Usuário
TemaUsuário
História de Usuário--
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoObservação
ImplementadoSim
+
+

Tabela 8 - Rastreabilidade do OB06. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN01Deve ser possível realizar cadastro
ÉpicoÉpico 1 - Autenticação
TemaAutenticação
História de Usuário--
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoSim
+
+

Tabela 9 - Rastreabilidade do IN01. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN02Deve ser possível recuperar a senha
ÉpicoÉpico 1 - Autenticação
TemaAutenticação
História de UsuárioUS02
Léxico--
Casos de uso--
CenáriosC01
Artefatos de elicitaçãoIntrospecção
ImplementadoSim
+
+

Tabela 10 - Rastreabilidade do IN02. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN03Deve ser possível cadastrar um livro
ÉpicoÉpico 2 - Livro
TemaLivro
História de Usuário--
LéxicoLéxico de objeto LO1
Casos de uso--
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoSim
+
+

Tabela 11 - Rastreabilidade do IN03. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN04Deve ser possível escrever resenhas dos livros marcados como lidos
ÉpicoÉpico 2 - Livro
TemaLivro
História de UsuárioUS06
LéxicoLéxico de verbo LV4
Casos de usoUC02
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoSim
+
+

Tabela 12 - Rastreabilidade do IN04. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN05Deve ser possível dar notas aos livros lidos
ÉpicoÉpico 2 - Livro
TemaLivro
História de UsuárioUS06
LéxicoLéxico de verbo LV3
Casos de uso--
CenáriosC02
Artefatos de elicitaçãoIntrospecção
ImplementadoSim
+
+

Tabela 13 - Rastreabilidade do IN05. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN06Deve ser possível contabilizar os dias lendo livros quando o status for relendo
ÉpicoÉpico 4 - Acompanhamento
TemaAcompanhamento
História de UsuárioUS08
LéxicoLéxico de verbo LV6 e Léxico de Estado LE4
Casos de uso--
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoNão
+
+

Tabela 14 - Rastreabilidade do IN06. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN07Deve ser possível registrar o histórico de leitura
ÉpicoÉpico 3 - Usuário
TemaUsuário
História de Usuário--
LéxicoLéxico de verbo LV6
Casos de usoUC04
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoSim
+
+

Tabela 15 - Rastreabilidade do IN07. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN08Deve ser possível adicionar livro a estante
ÉpicoÉpico 4 - Acompanhamento
TemaAcompanhamento
História de UsuárioUS03
LéxicoLéxico de verbo LV2 e Léxico de Objeto LO4
Casos de usoUC01
CenáriosC01
Artefatos de elicitaçãoIntrospecção
ImplementadoSim
+
+

Tabela 16 - Rastreabilidade do IN08. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN11Deve ser possível pesquisar outros usuários
ÉpicoÉpico 3 - Usuário
TemaUsuário
História de UsuárioUS11
LéxicoLéxico de verbo LV1 e Léxico de Objeto LO2
Casos de usoUC03
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoSim
+
+

Tabela 17 - Rastreabilidade do IN11. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN14Deve ser possível filtrar livros por nota
ÉpicoÉpico 2 - Livro
TemaLivro
História de UsuárioUS04
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoNão
+
+

Tabela 18 - Rastreabilidade do IN14. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN15Deve ser possível filtrar livros por categoria
ÉpicoÉpico 2 - Livro
TemaLivro
História de UsuárioUS05
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoNão
+
+

Tabela 19 - Rastreabilidade do IN15. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BS03Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuário
ÉpicoÉpico 2 - Livro
TemaLivro
História de UsuárioUS19
LéxicoLéxico de Estado LE3
Casos de uso--
Cenários--
Artefatos de elicitaçãoBrainstorming
ImplementadoNão
+
+

Tabela 20 - Rastreabilidade do BS03. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BS07Deve existir um FAQ para guiar os usuários nas funcionalidades
ÉpicoÉpico 1 - Autenticação
TemaAutenticação
História de Usuário--
Léxico--
Casos de uso--
CenáriosC12
Artefatos de elicitaçãoBrainstorming
ImplementadoNão
+
+

Tabela 21 - Rastreabilidade do BS07. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BS10Deve ser possível visualizar um ranking semanal/mensal de livros mais lidos
ÉpicoÉpico 2 - Livro
TemaLivro
História de UsuárioUS15
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoBrainstorming
ImplementadoNão
+
+

Tabela 21 - Rastreabilidade do BS10. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BS11Deve ser possível postar fotos e/ou vídeos em formato "stories"
ÉpicoÉpico 5 - Entretenimento
TemaEntretenimento
História de UsuárioUS16
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoBrainstorming
ImplementadoNão
+
+

Tabela 22 - Rastreabilidade do BS11. (Fonte: Jefferson França. 2023)

+
+ +

Requisitos Não Funcionais

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BS19O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdo.
Épico--
Tema--
História de Usuário--
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoBrainstorming
ImplementadoNão
+
+

Tabela 23 - Rastreabilidade do BS19. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN16A senha deve conter no mínimo um número uma letra maiúscula e um caracter especial
ÉpicoÉpico 5 - Autenticação
TemaAutenticação
História de Usuário--
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoNão
+
+

Tabela 24 - Rastreabilidade do IN16. (Fonte: Jefferson França. 2023)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IN18Deve ser possível obter o aplicativo em qualquer sistema operacional
ÉpicoÉpico 5 - Autenticação
TemaAutenticação
História de Usuário--
Léxico--
Casos de uso--
Cenários--
Artefatos de elicitaçãoIntrospecção
ImplementadoNão
+
+

Tabela 24 - Rastreabilidade do IN18. (Fonte: Jefferson França. 2023)

+
+ +

Conclusão

+

Em síntese, a abordagem "forward-from" de rastreabilidade desempenha um papel essencial no desenvolvimento de software, proporcionando uma conexão sistemática entre requisitos e artefatos subsequentes. Ao adotar essa metodologia, a equipe obtém uma visão clara das dependências, promovendo transparência, consistência e facilitando a manutenção do sistema ao longo do tempo [2]. A apresentação detalhada dos requisitos funcionais e não funcionais, juntamente com seu mapeamento para artefatos específicos, destaca a utilidade prática dessa abordagem, fortalecendo a integridade do processo de desenvolvimento e a tomada de decisões fundamentadas.

+

Bibliografia

+
+

[1] SAYÃO, Miriam; LEITE, Julio. Rastreabilidade de Requisitos. PUC. 2005.

+

[2] POHL, Klaus; RUPP, Chris. Requirements Engineering Fundamentals: A Study Guide for the Certified Professional for Requirements Engineering Exam - IREB compliant. O′Reilly. 26 de abril de 2011

+
+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.019/11/202320/11/2023Elaboração inicialYago Passos
1.119/11/202320/11/2023Atualizando artefatoJefferson França
1.220/11/202320/11/2023Atualizando tabelas de rastreabilidadeYago Passos
+

Verificação

+ + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
19/11/20231.0Revisão estáticaJefferson França
20/11/20231.1Revisão estáticaYago Passos
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/pos_rastreabilidade/matriz/index.html b/pos_rastreabilidade/matriz/index.html new file mode 100644 index 00000000..17e52470 --- /dev/null +++ b/pos_rastreabilidade/matriz/index.html @@ -0,0 +1,3001 @@ + + + + + + + + + + + + + + + + + + + + + + + Matriz de Rastreabilidade - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Matriz de Rastreabilidade

+

Introdução

+

O propósito deste artefato é organizar de forma mais sistemática todos os requisitos abordados nos documentos de pós-rastreabilidade, tanto no Backward-from quanto no Forward-from[1].

+

Metodologia

+

Seguindo Sayão e Leite [3], os requisitos foram agrupados em uma única tabela, a tabela 1, onde a segunda coluna identifica o requisito, além de linká-lo a sua técnica de elicitação. As demais representam artefatos gerados durante o processo de desenvolvimento do projeto, e a última apresenta se é uma funcionalidade já implementada no sistema atual da aplicação ou não.

+

Os integrantes Yago Passos e Rafael Amancio se reuniram no dia 20/11/2023 para discutir cada funcionalidade e desenvolver a tabela da matriz.

+

Legenda da tabela:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TipoIdentificação e ElicitaçãoDescriçãoArtefatos RelacionadosVerificaçãoImplementação
RFOB01Deve ser possível realizar loginÉpico 1 - Autenticação, Léxicos: LE6 e Cenários: C03Esperando entrega 5.2Implementado
RFOB02Deve ser possível pesquisar livrosÉpico 2 - Livro e Léxicos: LO1Esperando entrega 5.2Implementado
RFOB03Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / RelendoÉpico 4 - Acompanhamento, Histórias de usuário: US03, Léxicos: LV2, Casos de Uso: UC01 e Cenários: C01Esperando entrega 5.2Implementado
RFOB04Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários.Épico 3 - Usuário e Histórias de usuário: US12Esperando entrega 5.2Implementado
RFOB05Deve ser possível adicionar comentários nos postsÉpico 3 - Usuário e Histórias de usuário: UC05Esperando entrega 5.2Implementado
RFOB06Deve ser possível curtir posts da timelineÉpico 3 - UsuárioEsperando entrega 5.2Implementado
RFIN01Deve ser possível realizar cadastroÉpico 1 - AutenticaçãoEsperando entrega 5.2Implementado
RFIN02Deve ser possível recuperar a senhaÉpico 1 - Autenticação, Histórias de usuário: US02 e Cenários: C01Esperando entrega 5.2Implementado
RFIN03Deve ser possível cadastrar um livroÉpico 2 - Livro e Léxicos: LO1Esperando entrega 5.2Implementado
RFIN04Deve ser possível escrever resenhas dos livros marcados como lidosÉpico 2 - Livro, Histórias de usuário: US06, Léxicos: LV4 e UC02Esperando entrega 5.2Implementado
RFIN05Deve ser possível dar notas aos livros lidosÉpico 2 - Livro, Histórias de usuário: US06, Léxicos: LV3 e Cenários: C02Esperando entrega 5.2Implementado
RFIN06Deve ser possível contabilizar os dias lendo livros quando o status for relendoÉpico 4 - Acompanhamento, Histórias de usuário: US08, Léxicos: LV6 e LE4Esperando entrega 5.2Não implementado
RFIN07Deve ser possível registrar o histórico de leituraÉpico 3 - Usuário, Léxicos: LV6 e Casos de Uso: UC04Esperando entrega 5.2Implementado
RFIN08Deve ser possível adicionar livro a estanteÉpico 4 - Acompanhamento, Histórias de usuário: US03, Léxicos: LV2 e LO4, Casos de uso: UC01, Cenários: C01Esperando entrega 5.2Implementado
RFIN11Deve ser possível pesquisar outros usuáriosÉpico 3 - Usuário, Histórias de usuário: US11, Léxicos: LV1 e LO2 e Casos de uso: UC03Esperando entrega 5.2Implementado
RFIN14Deve ser possível filtrar livros por notaÉpico 2 - Livro, Histórias de usuário: US04Esperando entrega 5.2Não implementado
RFIN15Deve ser possível filtrar livros por categoriaÉpico 2 - Livro, Histórias de usuário: US05Esperando entrega 5.2Não implementado
RNFIN18Deve ser possível obter o aplicativo em qualquer sistema operacionalÉpico 5 - AutenticaçãoEsperando entrega 5.2Implementado
RFBS03Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuárioÉpico 2 - Livro, Histórias de usuário: US19, Léxicos: LE3Esperando entrega 5.2Não implementado
RFBS07Deve existir um FAQ para guiar os usuários nas funcionalidadesÉpico 1 - Autenticação, Cenários: C12Esperando entrega 5.2Não implementado
RFBS10Deve ser possível visualizar um ranking semanal/mensal de livros mais lidosÉpico 2 - Livro, Histórias de usuário: US15Esperando entrega 5.2Não implementado
RFBS11Deve ser possível postar fotos e/ou vídeos em formato "stories"Épico 5 - Entretenimento, Histórias de usuário: US16Esperando entrega 5.2Não implementado
+
+

Tabela 1: Exemplo de Tabela. (Fonte: Rafael Amancio e Yago Passos, 2023).

+
+ +

Conclusão

+

A técnica da matriz de rastreabilidade emerge como uma ferramenta essencial no processo de desenvolvimento, proporcionando uma visão abrangente e organizada da relação entre requisitos, componentes e demais elementos do projeto. Ao mapear a trajetória de requisitos desde sua origem até a implementação, a matriz de rastreabilidade facilita a compreensão, monitoramento e verificação do alinhamento entre diferentes fases do ciclo de vida do projeto[2].

+

Bibliografia

+

[1] POHL, Klaus e RUPP, Chris. Requirements Engineering Fundamentals. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.
+[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 26”. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.
+[3] SAYÃO, Miriam e LEITE, Julio. Monografia Rastreabilidade de Requisitos. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
1.020/11/202320/11/2023Elaboração do ArtefatoYago Passos e Rafael Amancio
+

Verificação

+ + + + + + + + + + + + + + + + + + + + + + + +
Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
20/11/20231.0Elaboração em paresYago Passos e Rafael Amancio
20/11/20231.0Revisão estáticaJefferson França
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/pre_rastreabilidade/aplicativo_escolhido/index.html b/pre_rastreabilidade/aplicativo_escolhido/index.html new file mode 100644 index 00000000..dd771ad1 --- /dev/null +++ b/pre_rastreabilidade/aplicativo_escolhido/index.html @@ -0,0 +1,2815 @@ + + + + + + + + + + + + + + + + + + + + + + + Aplicativo Escolhido - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Skoob

+

O Skoob é uma rede social voltada para leitores no Brasil, que permite que o usuário organize os livros, classificando-os como "para ler", "em leitura", "lidos", "relendo" e "abandonados", de tal forma a criar uma estante virtual personalizada. O usuário também tem a possibilidade de estabelecer metas de leitura, registrar seu histórico de leitura, escrever resenhas detalhadas e atribuir avaliações aos livros, entre outras funcionalidades. Atualmente, o Skoob conta com mais de 8 milhões de usuários cadastrados, sendo disponibilizado gratuitamente para iOS [1] e Android [2], além de ser acessível através do site [3].

+
+ Skoob +
+ +

Introdução

+

Após as pesquisas e desenvolvimentos individuais realizados na fase de pré-rastreabilidade, nos reunimos para realizar uma análise abrangente dos aplicativos estudados. Durante essa análise em grupo, alinhamos nossos interesses e prioridades, o que culminou na escolha final do aplicativo Skoob como base para o desenvolvimento do projeto.

+

Critério de escolha do aplicativo

+

A partir da análise de todos os rich pictures, o grupo decidiu continuar o projeto com o aplicativo Skoob, partindo dos seguintes motivos:

+
    +
  • Apesar das diversas funcionalidades do aplivativo, o mesmo é de fácil usabilidade;
  • +
  • O aplicativo abrange uma grande variedade de usuários, o que possibilita uma rica fonte de referências e perspectivas para o desenvolvimento do projeto;
  • +
  • Durante a fase de pré-rastreabilidade, foram identificadas potenciais melhorias a partir da análise realizada.
  • +
+

Termo de Consentimento Skoob

+

Na Figura 1, apresentamos uma visualização do termo de consentimento do Skoob. Este documento nos permite compreender que é possível utilizar o aplicativo como base para a execução do projeto.

+
+ image +
+ +
+

Figura 1 - Termo de Consentimento. (Fonte: Jefferson França. 2023)

+
+ +

Rich picture

+

Na Figura 2, apresenta-se o "rich picture" que foi elaborado para proporcionar uma compreensão melhor do funcionamento do aplicativo escolhido.

+
+ image +
+ +
+

Figura 2 - Rich Picture aplicativo Skoob. (Fonte: Ana Caroline. 2023)

+
+ +

Legenda

+

Na figura 3, apresenta-se a legenda do rich picture do aplicativo escolhido para entendimento do mesmo.

+
+ image +
+ +
+

Figura 3 - Legenda do Rich Picture aplicativo Skoob. (Fonte: Ana Caroline. 2023)

+
+ +

Bibliografia

+

[1] SKOOB IOS. Disponível em: App Store. Acesso em: 20 de Setembro de 2023.
+[2] SKOOB ANDROID. Disponível em: Google Play. Acesso em: 15 de Setembro de 2023.
+[3] SKOOB SITE. Disponível em: Skoob. Acesso em: 20 de Setembro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.015/09/202315/09/2023Criação do artefatoJefferson FrançaRafael Amancio
1.120/09/202320/09/2023Adição de critérios de escolha do aplicativoShaíneAna Rocha
1.220/09/202320/09/2023Correções e adição do texto sobre o aplicativoAna RochaShaíne
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/pre_rastreabilidade/img/Termo_de_Consentimento.pdf b/pre_rastreabilidade/img/Termo_de_Consentimento.pdf new file mode 100644 index 00000000..80d366cf Binary files /dev/null and b/pre_rastreabilidade/img/Termo_de_Consentimento.pdf differ diff --git a/pre_rastreabilidade/img/logos/logo_cnpq.png b/pre_rastreabilidade/img/logos/logo_cnpq.png new file mode 100644 index 00000000..cecd4874 Binary files /dev/null and b/pre_rastreabilidade/img/logos/logo_cnpq.png differ diff --git a/pre_rastreabilidade/img/logos/logo_detrandf.png b/pre_rastreabilidade/img/logos/logo_detrandf.png new file mode 100644 index 00000000..88633486 Binary files /dev/null and b/pre_rastreabilidade/img/logos/logo_detrandf.png differ diff --git a/pre_rastreabilidade/img/logos/logo_fdroid.png b/pre_rastreabilidade/img/logos/logo_fdroid.png new file mode 100644 index 00000000..1171a1ba Binary files /dev/null and b/pre_rastreabilidade/img/logos/logo_fdroid.png differ diff --git a/pre_rastreabilidade/img/logos/logo_skoob.png b/pre_rastreabilidade/img/logos/logo_skoob.png new file mode 100644 index 00000000..ccfdf1ee Binary files /dev/null and b/pre_rastreabilidade/img/logos/logo_skoob.png differ diff --git a/pre_rastreabilidade/img/rich_pictures/legendaSkoob.png b/pre_rastreabilidade/img/rich_pictures/legendaSkoob.png new file mode 100644 index 00000000..c23ebc43 Binary files /dev/null and b/pre_rastreabilidade/img/rich_pictures/legendaSkoob.png differ diff --git a/pre_rastreabilidade/img/rich_pictures/rich_cnpq_rafael.png b/pre_rastreabilidade/img/rich_pictures/rich_cnpq_rafael.png new file mode 100644 index 00000000..9aab5d2e Binary files /dev/null and b/pre_rastreabilidade/img/rich_pictures/rich_cnpq_rafael.png differ diff --git a/pre_rastreabilidade/img/rich_pictures/rich_detran_shaine.png b/pre_rastreabilidade/img/rich_pictures/rich_detran_shaine.png new file mode 100644 index 00000000..50b8034f Binary files /dev/null and b/pre_rastreabilidade/img/rich_pictures/rich_detran_shaine.png differ diff --git a/pre_rastreabilidade/img/rich_pictures/rich_detran_yago.png b/pre_rastreabilidade/img/rich_pictures/rich_detran_yago.png new file mode 100644 index 00000000..dd2a4b68 Binary files /dev/null and b/pre_rastreabilidade/img/rich_pictures/rich_detran_yago.png differ diff --git a/pre_rastreabilidade/img/rich_pictures/rich_fdroid_jefferson.png b/pre_rastreabilidade/img/rich_pictures/rich_fdroid_jefferson.png new file mode 100644 index 00000000..2fdbb26b Binary files /dev/null and b/pre_rastreabilidade/img/rich_pictures/rich_fdroid_jefferson.png differ diff --git a/pre_rastreabilidade/img/rich_pictures/rich_skoob_ana copy.png b/pre_rastreabilidade/img/rich_pictures/rich_skoob_ana copy.png new file mode 100644 index 00000000..f35190af Binary files /dev/null and b/pre_rastreabilidade/img/rich_pictures/rich_skoob_ana copy.png differ diff --git a/pre_rastreabilidade/img/rich_pictures/rich_skoob_ana.png b/pre_rastreabilidade/img/rich_pictures/rich_skoob_ana.png new file mode 100644 index 00000000..f35190af Binary files /dev/null and b/pre_rastreabilidade/img/rich_pictures/rich_skoob_ana.png differ diff --git a/pre_rastreabilidade/img/termodeconsentimento.png b/pre_rastreabilidade/img/termodeconsentimento.png new file mode 100644 index 00000000..33f237b0 Binary files /dev/null and b/pre_rastreabilidade/img/termodeconsentimento.png differ diff --git a/pre_rastreabilidade/lista_de_aplicativos/index.html b/pre_rastreabilidade/lista_de_aplicativos/index.html new file mode 100644 index 00000000..19d98e98 --- /dev/null +++ b/pre_rastreabilidade/lista_de_aplicativos/index.html @@ -0,0 +1,2746 @@ + + + + + + + + + + + + + + + + + + + + + + + Aplicativos Analisados - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Aplicativos Analisados

+

Introdução

+

Na fase inicial do projeto da disciplina de Requisitos de Software, os alunos tiveram a oportunidade de escolher, individualmente, um aplicativo governamental ou de código aberto. O objetivo era obter diferentes sugestões para o aplicativo que o grupo utilizaria como base para o desenvolvimento do projeto ao longo da disciplina. Cada membro do grupo realizou uma pesquisa sobre vários aplicativos, resultando na seleção de um aplicativo por pessoa. Com base nessas escolhas, cada integrante desenvolveu um Rich Picture do aplicativo escolhido, que podem ser consultados na Tabela 1.

+

Lista de Aplicativos Analisados

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IntegranteNome do AplicativoDescriçãoLogoRich Picture
Ana RochaSkoobSkoob é uma plataforma de mídia social colaborativa voltada para o público leitor no Brasil.SkoobRich Picture
Jefferson FrançaF-droidF-Droid é uma loja de aplicativos para Android que exclusivamente oferece programas gratuitos e de código aberto.F-droidRich Picture
Rafael AmancioCNPqO aplicativo serve para modernizar as ferramentas de comunicação e interação do CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico).CNPqRich Picture
Shaine Oliveira e Yago PassosDetran-DFO aplicativo serve para fornecer aos motoristas e proprietários de veículos do Distrito Federal uma série de funcionalidades relacionadas à documentação e aos serviços de trânsito.SkoobRich Picture - Shaine
e
Rich Picture - Yago
+
+

Tabela 1: Tabela de aplicativos analisados. (Fonte: Ana Rocha, 2023).

+
+ +

Bibliografia

+

[1] SKOOB. Disponível em: Google Play. Acesso em: 15 de Setembro de 2023.
+[2] F-DROID. Disponível em: F-droid. Acesso em: 15 de Setembro de 2023.
+[3] CNPQ. Disponível em: Google Play. Acesso em: 15 de Setembro de 2023.
+[4] DETRAN-DF. Disponível em: Google Play. Acesso em: 15 de Setembro de 2023.

+

Histórico de Versão

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoData de execuçãoData de revisãoDescriçãoAutor(es)Revisor(es)
1.015/09/202315/09/2023Adição dos aplicativos analisadosAna RochaRafael Amancio
1.120/09/202320/09/2023Atualização do artefatoAna RochaShaíne Oliveira
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 00000000..971fbec5 --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Skoob","text":"

O Skoob \u00e9 uma plataforma de m\u00eddia social dedicada aos amantes da leitura, permitindo que voc\u00ea organize sua cole\u00e7\u00e3o de livros, classificando-os como \"para ler\", \"em leitura\", \"lidos\", \"relendo\" e \"abandonados\". Al\u00e9m disso, voc\u00ea tem a possibilidade de estabelecer metas de leitura, registrar seu hist\u00f3rico de leituras, escrever resenhas detalhadas e atribuir avalia\u00e7\u00f5es aos livros, entre outras funcionalidades.

"},{"location":"#equipe","title":"Equipe","text":"

Ana Caroline Jefferson Fran\u00e7a Rafael Fernandes Sha\u00edne Oliveira Yago Passos

Tabela 1: Equipe de trabalho (Fonte: Sha\u00edne Oliveira, 2023).

"},{"location":"#historico-de-versoes","title":"Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor(es) Data de revis\u00e3o Revisor(es) 07/09/2023 1.0 Vers\u00e3o inicial de documento Rafael Fernandes 15/09/2023 Sha\u00edne Oliveira 15/09/2023 1.1 Atualiza\u00e7\u00e3o de documento Sha\u00edne Oliveira 17/09/2023 Ana Caroline 18/09/2023 1.2 Atualizando nome do projeto Sha\u00edne Oliveira 18/09/2023 Ana Caroline 18/09/2023 1.2.1 Corre\u00e7\u00e3o do texto e adi\u00e7\u00e3o da logo do Aplicativo Ana Caroline 18/09/2023 Sha\u00edne Oliveira"},{"location":"atas/reuniao00/","title":"Ata de Reuni\u00e3o - 06/09","text":""},{"location":"atas/reuniao00/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A Ata de reuni\u00e3o \u00e9 um registro formal de um encontro organizacional. Nela, ficam documentadas todas as a\u00e7\u00f5es que foram discutidas e decididas no momento [1].

"},{"location":"atas/reuniao00/#pauta","title":"Pauta","text":"

Essa ata compreende os temas abordados na reuni\u00e3o do dia 06/09, que tinha como intuito discutir o planejamento do projeto e a primeia entrega do trabalho.

"},{"location":"atas/reuniao00/#discussao","title":"Discuss\u00e3o","text":"

Nessa reuni\u00e3o foi decidido uma data fixa na semana para as reuni\u00f5es semanais. As reuni\u00f5es da equipe ocorrer\u00e3o todas as segundas-feiras \u00e0s 21h at\u00e9 o final da \u00faltima entrega. Altera\u00e7\u00f5es nessa reuni\u00e3o ou outras reuni\u00f5es podem surgir em outras datas conforme a necessidade.

Os artefatos da primeira entrega, que comp\u00f5em o Planejamento do Projeto foram discutidos e os autores foram decididos conforme a tabela a seguir:

"},{"location":"atas/reuniao00/#o-que-foi-definido","title":"O que foi Definido","text":"

A tabela 1 exp\u00f5e as divis\u00f5es definidas para cada artefato a ser elaborado.

Atividade Entrega Autor(es) Apresenta\u00e7\u00e3o de Equipe 17/09 Rafael Heatmap 17/09 Jefferson, Yago e Shaine Cronograma 17/09 Jefferson, Yago e Shaine Ferramentas 17/09 Ana Apps individuais 17/09 Ana e Rafael Atas das reuni\u00f5es 17/09 Yago P\u00e1gina das apresenta\u00e7\u00f5es 17/09 Shaine Metodologia e Pol\u00edtica de commit 17/09 Jefferson e Yago

Tabela 1: Divis\u00e3o de tarefas. (Fonte: Yago Passos, 2023).

"},{"location":"atas/reuniao00/#dados-da-reuniao","title":"Dados da reuni\u00e3o","text":""},{"location":"atas/reuniao00/#participantes","title":"Participantes","text":"
  • Ana Caroline Campos Rocha
  • Jefferson Fran\u00e7a Santos
  • Rafael Fernandes Amancio
  • Shaine Aparecida Cardoso de Oliveira
  • Yago Milagres Passos
"},{"location":"atas/reuniao00/#data-e-horario","title":"Data e Hor\u00e1rio","text":"
  • Quarta-feira dia seis de setembro
  • In\u00edcio de reuni\u00e3o: 20:40 horas
  • Fim de reuni\u00e3o: 21:15 horas
"},{"location":"atas/reuniao00/#bibliografia","title":"Bibliografia","text":"

[1] ASANA. Dicas para criar um modelo de ata de reuni\u00e3o. Dispon\u00edvel em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

"},{"location":"atas/reuniao00/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 06/09/2023 12/09/2023 Cria\u00e7\u00e3o da Ata Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne 1.1 02/10/2023 18/11/2023 Modifica\u00e7\u00e3o de estrutura e Bibliografia Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne"},{"location":"atas/reuniao01/","title":"Ata de Reuni\u00e3o - 12/09","text":""},{"location":"atas/reuniao01/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A Ata de reuni\u00e3o \u00e9 um registro formal de um encontro organizacional. Nela, ficam documentadas todas as a\u00e7\u00f5es que foram discutidas e decididas no momento [1].

"},{"location":"atas/reuniao01/#pauta","title":"Pauta","text":"

Essa ata compreende os temas abordados na reuni\u00e3o do dia 12/09, que tinha como intuito discutir os aplicativos estudados individualmente, entre aqueles que os estudantes fizeram o Rich Picture, qual seria o escolhido para o projeto em equipe.

"},{"location":"atas/reuniao01/#discussao","title":"Discuss\u00e3o","text":"

Nessa reuni\u00e3o, cada membro compartilhou seu Rich Picture, explicando suas ideias e opini\u00f5es sobre o aplicativo. Depois de passar por todos eles, decidimos que ir\u00edamos testar os aplicativos, utiliz\u00e1-los para poder escolher uma op\u00e7\u00e3o ideal. Al\u00e9m disso, julgamos cab\u00edvel pedir a opini\u00e3o do professor sobre qual aplicativo escolher.

A chamada se estendeu para que os alunos Shaine, Jefferson e Yago pudessem desenvolver o cronograma planejado.

"},{"location":"atas/reuniao01/#rich-pictures-que-cada-aluno-trouxe","title":"Rich Pictures que cada aluno trouxe","text":"Aplicativo Autor CNPq Rafael F-Droid Jefferson Detran-DF Yago Skoob Ana Detran-DF Shaine

Tabela 1: Respons\u00e1veis por cada Rich Picture. (Fonte: Yago Passos, 2023).

"},{"location":"atas/reuniao01/#dados-da-reuniao","title":"Dados da reuni\u00e3o","text":""},{"location":"atas/reuniao01/#participantes","title":"Participantes","text":"
  • Ana Caroline Campos Rocha
  • Jefferson Fran\u00e7a Santos
  • Rafael Fernandes Amancio
  • Shaine Aparecida Cardoso de Oliveira
  • Yago Milagres Passos
"},{"location":"atas/reuniao01/#data-e-horario","title":"Data e Hor\u00e1rio","text":"
  • Ter\u00e7a-feira dia doze de setembro
  • In\u00edcio de reuni\u00e3o: 20:40 horas
  • Fim de reuni\u00e3o: 21:01 horas
"},{"location":"atas/reuniao01/#gravacao-da-reuniao","title":"Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Abaixo, o v\u00eddeo 1, da grava\u00e7\u00e3o da reuni\u00e3o.

V\u00eddeo 1: Grava\u00e7\u00e3o da Reuni\u00e3o. (Fonte: Grupo 6. 2023).

"},{"location":"atas/reuniao01/#bibliografia","title":"Bibliografia","text":"

[1] ASANA. Dicas para criar um modelo de ata de reuni\u00e3o. Dispon\u00edvel em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

"},{"location":"atas/reuniao01/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 12/09/2023 18/09/2023 Cria\u00e7\u00e3o da Ata Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne 1.1 02/10/2023 18/11/2023 Modifica\u00e7\u00e3o de estrutura e Bibliografia Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne"},{"location":"atas/reuniao02/","title":"Ata de Reuni\u00e3o - 02/10","text":""},{"location":"atas/reuniao02/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A Ata de reuni\u00e3o \u00e9 um registro formal de um encontro organizacional. Nela, ficam documentadas todas as a\u00e7\u00f5es que foram discutidas e decididas no momento [1].

"},{"location":"atas/reuniao02/#pauta","title":"Pauta","text":"

Era preciso que a equipe se reunisse para estabalecer objetivos, metas, e divis\u00f5es de artefatos para a entrega do Ponto de Controle 2.

"},{"location":"atas/reuniao02/#discussao","title":"Discuss\u00e3o","text":"

A reuni\u00e3o serviu para esclarescer algumas concep\u00e7\u00f5es erradas que a equipe teve na elabora\u00e7\u00e3o do cronograma. Foi discutido que ser\u00e1 necess\u00e1rio refazer a tabela do Ponto de Controle 2 no artefato do cronograma. Essas altera\u00e7\u00f5es se devem ao fato da equipe n\u00e3o ter decidido as t\u00e9cnicas de elicita\u00e7\u00e3o e prioriza\u00e7\u00e3o no in\u00edcio do semestre, as quais precisam ser expl\u00edcitas no cronograma. Essas t\u00e9cnicas j\u00e1 haviam sido decididas pela equipe, s\u00e3o elas: Moscow, First Things First e Three-Level Scale. Tamb\u00e9m foi decidido que question\u00e1rio n\u00e3o seria uma boa op\u00e7\u00e3o por causa do tempo curto at\u00e9 a entrega. Logo, ap\u00f3s uma discuss\u00e3o, decidimos as t\u00e9cnicas de elicita\u00e7\u00e3o representadas no t\u00f3pico a seguir.

"},{"location":"atas/reuniao02/#o-que-foi-definido","title":"O que foi Definido","text":"

A tabela 1 exp\u00f5e as divis\u00f5es definidas para cada artefato a ser elaborado.

Artefato Respons\u00e1vel(eis) Brainstorming Rafael e Jefferson Entrevista Shaine e Ana Observa\u00e7\u00e3o Yago Moscow Rafael e Shaine First things first Yago e Ana Three-Level Scale Jefferson

Tabela 1: Cria\u00e7\u00e3o de Artefatos e respectivos respons\u00e1veis. (Fonte: Yago Passos, 2023).

Al\u00e9m disso, a seguinte lista demonstra as corre\u00e7\u00f5es que devem ser feitas. Tarefas qe foram encarregadas \u00e0 Shaine, Rafael e Yago.

  • Atualizar cronograma planejado da entrega 2 e
  • Atualizar cronograma executado
  • Atualizar documento metodologia
  • Atualizar as tabelas do cronograma planejado
  • Limpar branchs
"},{"location":"atas/reuniao02/#dados-da-reuniao","title":"Dados da reuni\u00e3o","text":""},{"location":"atas/reuniao02/#participantes","title":"Participantes","text":"
  • Ana Caroline Campos Rocha
  • Jefferson Fran\u00e7a Santos
  • Rafael Fernandes Amancio
  • Shaine Aparecida Cardoso de Oliveira
  • Yago Milagres Passos
"},{"location":"atas/reuniao02/#data-e-horario","title":"Data e Hor\u00e1rio","text":"
  • Segunda-Feira dia dois de outubro
  • In\u00edcio de reuni\u00e3o: 20:29 horas
  • Fim de reuni\u00e3o: 21:11 horas
"},{"location":"atas/reuniao02/#gravacao-da-reuniao","title":"Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Abaixo, o v\u00eddeo 1, da grava\u00e7\u00e3o da reuni\u00e3o.

V\u00eddeo 1: Grava\u00e7\u00e3o da Reuni\u00e3o. (Fonte: Grupo 6. 2023).

"},{"location":"atas/reuniao02/#bibliografia","title":"Bibliografia","text":"

[1] ASANA. Dicas para criar um modelo de ata de reuni\u00e3o. Dispon\u00edvel em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

"},{"location":"atas/reuniao02/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 02/10/2023 03/10/2023 Cria\u00e7\u00e3o da Ata Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne"},{"location":"atas/reuniao03/","title":"Ata de Reuni\u00e3o - 03/10","text":""},{"location":"atas/reuniao03/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A Ata de reuni\u00e3o \u00e9 um registro formal de um encontro organizacional. Nela, ficam documentadas todas as a\u00e7\u00f5es que foram discutidas e decididas no momento [1].

"},{"location":"atas/reuniao03/#pauta","title":"Pauta","text":"

Esta pode ser considerada uma reuni\u00e3o de emerg\u00eancia e tamb\u00e9m uma extens\u00e3o da reuni\u00e3o 02. Devido \u00e0 falta de compromentimento durante a semana universit\u00e1ria, foi preciso que a equipe se reunisse novamente para terminar de definir o progresso da entrega 2.

"},{"location":"atas/reuniao03/#discussao","title":"Discuss\u00e3o","text":"

A reuni\u00e3o do grupo serviu para o desenvolvimento das t\u00e9cnicas de elicita\u00e7\u00e3o de requisitos. Come\u00e7amos tra\u00e7ando os principais objetivos da plataforma e, depois, realizamos a introspe\u00e7\u00e3o e Brainstorming.

"},{"location":"atas/reuniao03/#o-que-foi-definido","title":"O que foi Definido","text":"

Os principais objetivos da plataforma, na vis\u00e3o da equipe, foram tra\u00e7ados para ajudar os participantes a enxergar e compreender melhor o escopo da aplica\u00e7\u00e3o que est\u00e3o trabalhando, servindo como uma introdu\u00e7\u00e3o e uma prepara\u00e7\u00e3o para as t\u00e9cnicas de elicita\u00e7\u00e3o.

Ap\u00f3s a prepara\u00e7\u00e3o, foi feito a Introspe\u00e7\u00e3o, onde os participantes tiveram aproximadamente 8 minutos para listar o maximo de requisitos que conseguissem. Essa t\u00e9cnica teve a participa\u00e7\u00e3o de todos os Integrantes. Depois, seguimos para o Brainstorming, as informa\u00e7\u00f5es da t\u00e9cnica se encontram no artefato e a sua grava\u00e7\u00e3o est\u00e1 presente abaixo nesse artefato.

Concluidos a introspe\u00e7\u00e3o e o brainstorming, analisamos, ponderamos e listamos os requisitos que achamos v\u00e1lidos, dividindo-os em Funcionais e n\u00e3o Funcionais, al\u00e9m de marcar quais dos requisitos j\u00e1 s\u00e3o implementados na plataforma e quais foram criados durante a reuni\u00e3o.

"},{"location":"atas/reuniao03/#dados-da-reuniao","title":"Dados da reuni\u00e3o","text":""},{"location":"atas/reuniao03/#participantes","title":"Participantes","text":"
  • Ana Caroline Campos Rocha
  • Jefferson Fran\u00e7a Santos
  • Rafael Fernandes Amancio
  • Shaine Aparecida Cardoso de Oliveira
  • Yago Milagres Passos
"},{"location":"atas/reuniao03/#data-e-horario","title":"Data e Hor\u00e1rio","text":"
  • Ter\u00e7a-Feira dia tr\u00eas de outubro
  • In\u00edcio de reuni\u00e3o: 20:16 horas
  • Fim de reuni\u00e3o: 22:18 horas
"},{"location":"atas/reuniao03/#gravacao-da-reuniao","title":"Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Abaixo, o v\u00eddeo 1, da grava\u00e7\u00e3o da reuni\u00e3o.

V\u00eddeo 1: Grava\u00e7\u00e3o da Reuni\u00e3o. (Fonte: Grupo 6. 2023).

"},{"location":"atas/reuniao03/#bibliografia","title":"Bibliografia","text":"

[1] ASANA. Dicas para criar um modelo de ata de reuni\u00e3o. Dispon\u00edvel em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

"},{"location":"atas/reuniao03/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 02/10/2023 03/10/2023 Cria\u00e7\u00e3o da Ata Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne"},{"location":"atas/reuniao04/","title":"Ata de Reuni\u00e3o - 09/10","text":""},{"location":"atas/reuniao04/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A Ata de reuni\u00e3o \u00e9 um registro formal de um encontro organizacional. Nela, ficam documentadas todas as a\u00e7\u00f5es que foram discutidas e decididas no momento [1].

"},{"location":"atas/reuniao04/#pauta","title":"Pauta","text":"

A reuni\u00e3o de n\u00famero 4 teve como intuito discutir as divis\u00f5es de trabalho para a terceira entrega. Essa \u00e9 uma etapa muito importante pois o grupo ir\u00e1 apresentar em sala de aula nessa entrega.

"},{"location":"atas/reuniao04/#discussao","title":"Discuss\u00e3o","text":"

O trabalho que deve ser feito para a entrega pode ser dividido em 2 grandes partes: Os novos artefatos para a entrega e as corre\u00e7\u00f5es de artefatos anteriores. A primeira parte consiste em:

  • Cen\u00e1rios
  • L\u00e9xico
  • Use Case
  • Especifica\u00e7\u00e3o Suplementar

A segunda parte, das corre\u00e7\u00f5es, consistem em melhoras nos artefatos de:

  • Cronograma executado.
  • Perfil de Usu\u00e1rio
  • Three Level Scale

Al\u00e9m de alguns outros artefatos que est\u00e3o sem Conclus\u00e3o ou padroniza\u00e7\u00e3o adequada.

"},{"location":"atas/reuniao04/#o-que-foi-definido","title":"O que foi Definido","text":"

A Tabela 1 mostra como ficou a primeira parte das divis\u00f5es:

Artefato Respons\u00e1vel(eis) Cen\u00e1rios Shaine L\u00e9xico Yago Use Case Jefferson Especifica\u00e7\u00e3o Suplementar Ana e Rafael

Tabela 1: Divis\u00e3o dos novos artefatos. (Fonte: Yago. 2023).

A Tabela 2 mostra como ficou a segunda parte das divis\u00f5es:

Artefato Respons\u00e1vel(eis) Corre\u00e7\u00e3o(\u00f5es) a ser feita Cronograma executado Yago Ponto de controle 2 e 3 Perfil de usu\u00e1rio Jefferson e Ana Per\u00edodo de respostas e grupos em que foi aplicado Three level scale Ana Introdu\u00e7\u00e3o Requisitos Rafael e Shaine Criar um artefato para padronizar e listar todos os requisitos juntos.

Tabela 2: Divis\u00e3o das Corre\u00e7\u00f5es. (Fonte: Yago. 2023).

Al\u00e9m disso, para cada divis\u00e3o de tarefas foi definido uma data prevista para entrega: - Entrega das corre\u00e7\u00f5es: dia 17/10 - Entrega dos artefatos: dia 22/10

"},{"location":"atas/reuniao04/#dados-da-reuniao","title":"Dados da reuni\u00e3o","text":""},{"location":"atas/reuniao04/#participantes","title":"Participantes","text":"
  • Ana Caroline Campos Rocha
  • Jefferson Fran\u00e7a Santos
  • Rafael Fernandes Amancio
  • Shaine Aparecida Cardoso de Oliveira
  • Yago Milagres Passos
"},{"location":"atas/reuniao04/#data-e-horario","title":"Data e Hor\u00e1rio","text":"
  • Segunda-Feira dia nove de outubro
  • In\u00edcio de reuni\u00e3o: 20:16 horas
  • Fim de reuni\u00e3o: 22:38 horas
"},{"location":"atas/reuniao04/#gravacao-da-reuniao","title":"Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Abaixo, o v\u00eddeo 1, da grava\u00e7\u00e3o da reuni\u00e3o.

V\u00eddeo 1: Grava\u00e7\u00e3o da Reuni\u00e3o. (Fonte: Grupo 6. 2023).

"},{"location":"atas/reuniao04/#bibliografia","title":"Bibliografia","text":"

[1] ASANA. Dicas para criar um modelo de ata de reuni\u00e3o. Dispon\u00edvel em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

"},{"location":"atas/reuniao04/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 09/10/2023 12/10/2023 Cria\u00e7\u00e3o da Ata Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne"},{"location":"atas/reuniao05/","title":"Ata de Reuni\u00e3o - 18/10","text":""},{"location":"atas/reuniao05/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A Ata de reuni\u00e3o \u00e9 um registro formal de um encontro organizacional. Nela, ficam documentadas todas as a\u00e7\u00f5es que foram discutidas e decididas no momento [1].

"},{"location":"atas/reuniao05/#pauta","title":"Pauta","text":"

A reuni\u00e3o 5 teve como intuito verificar o andamento do grupo em rela\u00e7\u00e3o a entrega 3 pro dia 25/10. A inten\u00e7\u00e3o era verificar a elabora\u00e7\u00e3o dos artefatos e corre\u00e7\u00f5es. Al\u00e9m disso, tinhamos acabado de receber o feedback da monitora sobre a \u00faltima entrega, ent\u00e3o a reuni\u00e3o serviu para discut\u00ed-lo

"},{"location":"atas/reuniao05/#discussao","title":"Discuss\u00e3o","text":"

Cada integrante explicou o que aconteceu nesse per\u00edodo entre as reuni\u00f5es, o que fizeram e o que tinham de necessidade com o grupo.

O resto do tempo da reuni\u00e3o foi utilizado para analisar e discutir o feedback da entrega 2. Esses foram os principais pontos levantados pela monitora Ana Beatriz:

  • Existe um cronograma apenas do Brainstorm;
  • Utilizaram o question\u00e1rio para estabelercer o perfil do usu\u00e1rio;
  • O perfil do usu\u00e1rio tem poucas informa\u00e7\u00f5es, especificar que entre 18 e 23 anos s\u00e3o jovens, falar se os usu\u00e1rios tem afinidade ou n\u00e3o com tecnologia, etc; OBS: Al\u00e9m disso, dentro do question\u00e1rio voc\u00eas est\u00e3o trazendo as an\u00e1lises dos resultados juntamente com as perguntas, \u00e9 recomend\u00e1vel que voc\u00eas separem os resultados obtidos como question\u00e1rio das perguntas;
  • N\u00e3o consta participa\u00e7\u00e3o do cliente e/ou pessoa na elicita\u00e7\u00e3o de requisitos no artefato Introspec\u00e7\u00e3o, mas existe a participa\u00e7\u00e3o nas outras duas t\u00e9cnicas. Obs: Procurem abrir as c\u00e2meras na grava\u00e7\u00e3o;
  • Apenas o artefato Introspec\u00e7\u00e3o n\u00e3o possui grava\u00e7\u00e3o;
  • Existe um cronograma apenas do Three-Level Scale;
  • First things First e Three level Scale t\u00eam participa\u00e7\u00e3o com o cliente, por\u00e9m, no v\u00eddeo de apresenta\u00e7\u00e3o da etapa 2 eles falam que a t\u00e9cnica MoSCoW \u00e9 feita com a participa\u00e7\u00e3o dos clientes, mas no artefato n\u00e3o consta a participa\u00e7\u00e3o do cliente/persona;
  • First things First e Three Level Scale t\u00eam grava\u00e7\u00e3o e registros da atividade de prioriza\u00e7\u00e3o dos requisitos, por\u00e9m, a t\u00e9cnica MoSCoW n\u00e3o tem registros. Obs: Procurem abrir as c\u00e2meras na grava\u00e7\u00e3o;
"},{"location":"atas/reuniao05/#dados-da-reuniao","title":"Dados da reuni\u00e3o","text":""},{"location":"atas/reuniao05/#participantes","title":"Participantes","text":"
  • Ana Caroline Campos Rocha
  • Jefferson Fran\u00e7a Santos
  • Shaine Aparecida Cardoso de Oliveira
  • Yago Milagres Passos
"},{"location":"atas/reuniao05/#data-e-horario","title":"Data e Hor\u00e1rio","text":"
  • Quarta-Feira dia dezoito de outubro
  • In\u00edcio de reuni\u00e3o: 21:12 horas
  • Fim de reuni\u00e3o: 21:25 horas
"},{"location":"atas/reuniao05/#gravacao-da-reuniao","title":"Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Abaixo, o v\u00eddeo 1, da grava\u00e7\u00e3o da reuni\u00e3o.

V\u00eddeo 1: Grava\u00e7\u00e3o da Reuni\u00e3o. (Fonte: Grupo 6. 2023).

"},{"location":"atas/reuniao05/#bibliografia","title":"Bibliografia","text":"

[1] ASANA. Dicas para criar um modelo de ata de reuni\u00e3o. Dispon\u00edvel em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

"},{"location":"atas/reuniao05/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 09/10/2023 12/10/2023 Cria\u00e7\u00e3o da Ata Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne"},{"location":"atas/reuniao06/","title":"Ata de Reuni\u00e3o - 31/10","text":""},{"location":"atas/reuniao06/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A Ata de reuni\u00e3o \u00e9 um registro formal de um encontro organizacional. Nela, ficam documentadas todas as a\u00e7\u00f5es que foram discutidas e decididas no momento [1].

"},{"location":"atas/reuniao06/#pauta","title":"Pauta","text":"

Alguns integrantes estavam em situa\u00e7\u00f5es que n\u00e3o podiam ligar a c\u00e2mera, o que foi discutido e est\u00e1 presente na grava\u00e7\u00e3o da reuni\u00e3o. De qualquer forma, a reuni\u00e3o 6 foi importante para a decis\u00e3o das divis\u00f5es dos 3 novos artefatos para a entrega 4.

"},{"location":"atas/reuniao06/#discussao","title":"Discuss\u00e3o","text":"

Ap\u00f3s analisar o feedback do professor sobre a apresenta\u00e7\u00e3o da entrega 3, foi discutido quais corre\u00e7\u00f5es eram priorit\u00e1rias, ent\u00e3o foi definido o que precisava ser feito em cada corre\u00e7\u00e3o e os respons\u00e1veis pelas altera\u00e7\u00f5es. Essas defini\u00e7\u00f5es est\u00e3o presente na tabela 3. Tamb\u00e9m definimos os respons\u00e1veis pelos novos artefatos, bem representados na tabela 4. Aqui, observamos no projeto do aplicativo VLC os artefatos que aparentavam requerir maior esfor\u00e7o para serem feitos, ent\u00e3o notamos que dos 3 artefatos, o de Hist\u00f3rias de Usu\u00e1rio e NFR Framework podem precisar de mais integrantes no desenvolvimento, definimos 2 membros para a realiza\u00e7\u00e3o de cada e apenas um para o artefato de backlog.

Al\u00e9m disso, o integrante Yago Passos, visando melhorar a verifica\u00e7\u00e3o dos artefatos, sugeriu um novo sistema de revis\u00e3o dos artefatos, alterando a tabela do versionamento da seguinte forma:

Tabela 1, de Hist\u00f3rico de Vers\u00e3o

Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark: 1.1 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark: 1.2 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark:

Tabela 1: Nova tabela de Versionamento. (Fonte: Yago Passos, 2023).

Tabela 2, de Revis\u00e3o (V&V)

Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) dd/mm/aaaa 1.0 Elabora\u00e7\u00e3o em pares Nome do Revisor dd/mm/aaaa 1.1 e 1.2 Revis\u00e3o por inspe\u00e7\u00e3o Nome do Revisor

Tabela 2: Novo sistema de revis\u00e3o. (Fonte: Yago Passos, 2023).

A ideia \u00e9 aplicar essa forma de versionamento e revis\u00e3o em todos os artefatos, com excess\u00e3o dos artefatos das atas. Dessa forma, haver\u00e1 uma facilita\u00e7\u00e3o da corre\u00e7\u00e3o de cada artefato e intensifica\u00e7\u00e3o o processo de verifica\u00e7\u00e3o.

"},{"location":"atas/reuniao06/#o-que-foi-definido","title":"O que foi Definido","text":"

Como dito na se\u00e7\u00e3o anterior, as tabelas 3 e 4 representam as atribui\u00e7\u00f5es feitas na reuni\u00e3o:

Artefato Respons\u00e1vel(eis) Hist\u00f3rias de Usu\u00e1rio Yago e Jefferson Backlog Rafael NFR Framework Shaine e Ana

Tabela 3: Atribui\u00e7\u00f5es dos artefatos novos. (Fonte: Yago Passos, 2023).

Artefato Respons\u00e1vel(eis) Corre\u00e7\u00e3o(\u00f5es) a ser feita Especifica\u00e7\u00e3o suplementar Todos Adicionar m\u00e9tricas aos argumentos Cronograma realizado Ana Consertar tabela da entrega 3 Moscow Rafael e Jefferson Fazer entrevista com usuario Casos de uso Jefferson e Yago Acertar legenda e outros Cen\u00e1rios Shaine - Introspecao e Brainstorming Rafael Adicionar link do ata da reuniao 3 para o video da execucao das tecnicas Artefatos de prioriza\u00e7\u00e3o Ana e Yago Adicionar tabela de cronograma com dados das entrevistas na metodologia e linkar requisitos"},{"location":"atas/reuniao06/#dados-da-reuniao","title":"Dados da reuni\u00e3o","text":""},{"location":"atas/reuniao06/#participantes","title":"Participantes","text":"
  • Ana Caroline Campos Rocha
  • Jefferson Fran\u00e7a Santos
  • Shaine Aparecida Cardoso de Oliveira
  • Yago Milagres Passos
"},{"location":"atas/reuniao06/#data-e-horario","title":"Data e Hor\u00e1rio","text":"
  • Ter\u00e7a-Feira dia trinta e um de outubro
  • In\u00edcio de reuni\u00e3o: 19:53 horas
  • Fim de reuni\u00e3o: 20:17 horas
"},{"location":"atas/reuniao06/#gravacao-da-reuniao","title":"Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Abaixo, o v\u00eddeo 1, da grava\u00e7\u00e3o da reuni\u00e3o.

V\u00eddeo 1: Grava\u00e7\u00e3o da Reuni\u00e3o. (Fonte: Grupo 6. 2023).

"},{"location":"atas/reuniao06/#bibliografia","title":"Bibliografia","text":"

[1] ASANA. Dicas para criar um modelo de ata de reuni\u00e3o. Dispon\u00edvel em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

"},{"location":"atas/reuniao06/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 31/10/2023 12/10/2023 Cria\u00e7\u00e3o da Ata Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne"},{"location":"atas/reuniao07/","title":"Ata de Reuni\u00e3o - 07/11","text":""},{"location":"atas/reuniao07/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A Ata de reuni\u00e3o \u00e9 um registro formal de um encontro organizacional. Nela, ficam documentadas todas as a\u00e7\u00f5es que foram discutidas e decididas no momento [1].

"},{"location":"atas/reuniao07/#pauta","title":"Pauta","text":"

A reuni\u00e3o 7 teve natureza de emerg\u00eancia e se deu devido ao tempo reduzido entre as entregas causado pelas greves e feriados que cancelaram as aulas de Requisitos. Por isso, na necessidade de separar as responsabilidades dos artefatos para a entrega 5.1, a equipe se reuniu em um dia fora do esquema previsto no HeatMap e apenas 3 integrantes conseguiram participar.

"},{"location":"atas/reuniao07/#discussao","title":"Discuss\u00e3o","text":"

Durante a reuni\u00e3o, os participantes do grupo 6 observaram que, de acordo com o plano de ensino, a entrega 5.1 \u00e9 a pr\u00f3xima na programa\u00e7\u00e3o e refere-se \u00e0 Verifica\u00e7\u00e3o e Valida\u00e7\u00e3o dos artefatos da equipe do grupo 7 no projeto do Detran. Isso implica que o grupo 6 ser\u00e1 respons\u00e1vel por avaliar o grupo 7. Consequentemente, os integrantes do grupo 6 perceberam a necessidade de distribuir os artefatos do projeto do Detran, mencionados em projeto do Detran, entre os avaliadores do Skoob. Essa distribui\u00e7\u00e3o implicar\u00e1 que cada membro do grupo 6 ficar\u00e1 encarregado da elabora\u00e7\u00e3o de 4 artefatos at\u00e9 segunda-feira, dia 13/11, o que representa um prazo de seis dias ap\u00f3s a data da reuni\u00e3o e demandar\u00e1 um esfor\u00e7o consider\u00e1vel.

"},{"location":"atas/reuniao07/#o-que-foi-definido","title":"O que foi Definido","text":"

Abaixo, a tabela 1 mostra a rela\u00e7\u00e3o dos artefatos e seus respectivos respons\u00e1vies pela an\u00e1lise e verifica\u00e7\u00e3o. Vale lembrar que, para cada artefado do grupo 7 verificado, o respons\u00e1vel pela verifica\u00e7\u00e3o dever\u00e1 elaborar um artefato no nosso projeto, explicitando as etapas, metodologias e conclus\u00f5es da verifica\u00e7\u00e3o.

Artefato Respons\u00e1vel(eis) Rich Picture Yago Aplicativos Sahine Ferramentas Rafael Cronograma Ana Equipe Jefferson First Thing First Rafael An\u00e1lise de documentos Shaine Entrevista Yago Prioriza\u00e7\u00e3o In or Out Jefferson MoSCOW Jefferson Personas Shaine Question\u00e1rio Ana Requisitos elicitados Ana Storytelling Rafael Casos de uso Rafael Cen\u00e1rios Rafael Especifica\u00e7\u00e3o Suplementar Shaine L\u00e9xico Jefferson NFR Yago Backlog do Produto Historias De Usu\u00e1rios Ana

Tabela 1: Atribui\u00e7\u00f5es dos artefatos. (Fonte: Yago Passos, 2023).

"},{"location":"atas/reuniao07/#dados-da-reuniao","title":"Dados da reuni\u00e3o","text":""},{"location":"atas/reuniao07/#participantes","title":"Participantes","text":"
  • Jefferson Fran\u00e7a Santos
  • Shaine Aparecida Cardoso de Oliveira
  • Yago Milagres Passos
"},{"location":"atas/reuniao07/#data-e-horario","title":"Data e Hor\u00e1rio","text":"
  • Ter\u00e7a-Feira dia sete de novembro
  • In\u00edcio de reuni\u00e3o: 20:17 horas
  • Fim de reuni\u00e3o: 20:53 horas
"},{"location":"atas/reuniao07/#gravacao-da-reuniao","title":"Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Abaixo, o v\u00eddeo 1, da grava\u00e7\u00e3o da reuni\u00e3o.

V\u00eddeo 1: Grava\u00e7\u00e3o da Reuni\u00e3o. (Fonte: Grupo 6. 2023).

"},{"location":"atas/reuniao07/#bibliografia","title":"Bibliografia","text":"

[1] ASANA. Dicas para criar um modelo de ata de reuni\u00e3o. Dispon\u00edvel em: https://asana.com/pt/templates/meeting-minutes. Acesso em 02 de outubro de 2023.

"},{"location":"atas/reuniao07/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 31/10/2023 12/10/2023 Cria\u00e7\u00e3o da Ata Yago Passos Ana Caroline, Jefferson, Rafael e Sha\u00edne"},{"location":"elicitacao/brainstorming/","title":"Brainstorming","text":""},{"location":"elicitacao/brainstorming/#introducao","title":"Introdu\u00e7\u00e3o","text":"

O brainstorming desempenha um papel fundamental no processo de elicita\u00e7\u00e3o de requisitos, ajudando a equipe a identificar, explorar e capturar as necessidades e expectativas dos stakeholders. Durante as sess\u00f5es de elicita\u00e7\u00e3o, o brainstorming permite que os participantes gerem ideias e insights valiosos relacionados aos requisitos do projeto. A abordagem colaborativa promove a criatividade, o di\u00e1logo e a compreens\u00e3o compartilhada, resultando na defini\u00e7\u00e3o mais precisa e abrangente dos requisitos. Neste contexto, o brainstorming \u00e9 uma ferramenta essencial para promover a comunica\u00e7\u00e3o eficaz e a coleta de informa\u00e7\u00f5es necess\u00e1rias para o sucesso do projeto.

"},{"location":"elicitacao/brainstorming/#metodologia","title":"Metodologia","text":"

Utilizando a t\u00e9cnica de brainstorming, o mediador conduziu uma s\u00e9rie de perguntas cuidadosamente elaboradas para extrair ideias valiosas do usu\u00e1rio. Embora idealmente essa t\u00e9cnica envolva um grupo de 8 a 12 participantes,como diz o livro Intera\u00e7\u00e3o Humano-Computador (Barbosa e Silva)[3] devido a restri\u00e7\u00f5es de tempo e dificuldades na coordena\u00e7\u00e3o de hor\u00e1rios, n\u00e3o foi poss\u00edvel contar com mais pessoas. No entanto, as respostas fornecidas pelo usu\u00e1rio foram extremamente satisfat\u00f3rias.

Uma grava\u00e7\u00e3o completa do brainstorming foi realizada, e tamb\u00e9m elaboramos um termo de autoriza\u00e7\u00e3o de uso de imagem, o qual foi assinado pelo usu\u00e1rio, permitindo-nos utilizar a grava\u00e7\u00e3o.

"},{"location":"elicitacao/brainstorming/#cronograma","title":"Cronograma","text":"

Na tabela 1, temos o cronograma detalhado do dia e do hor\u00e1rio em que a reuni\u00e3o ser\u00e1 realizada e tamb\u00e9m dos participantes e suas respectivas fun\u00e7\u00f5es na utiliza\u00e7\u00e3o da t\u00e9cnica.

Participantes Data Hora Mediador: Ana Desenvolvedor: Yago 03/10/2023 16h Usu\u00e1rio: Evilly

Tabela 1: Cronograma para execu\u00e7\u00e3o da t\u00e9cnica. (Fonte: Jefferson Fran\u00e7a, 2023).

"},{"location":"elicitacao/brainstorming/#perguntas-e-respostas","title":"Perguntas e Respostas","text":"

Quais s\u00e3o as funcionalidades que voc\u00ea considera essenciais em um aplicativo voltado para leitores, como o Skoob?

  • Tags de op\u00e7\u00e3o para classifica\u00e7\u00e3o de livros e possibilidade de conseguir definir metas para anos diferentes, al\u00e9m da tbr, que possibilita sortear os livros das suas metas para definir a pr\u00f3xima leitura (ver infos dos livros e resenhas).

Quando se trata de eventos liter\u00e1rios, que tipo de informa\u00e7\u00f5es voc\u00ea gostaria de ver sobre eles no aplicativo do Skoob?

  • Gostaria de ter mais visibilidade dentro do app, aba de news de literatura.

Como o aplicativo do Skoob pode oferecer suporte aos usu\u00e1rios em caso de d\u00favidas ou problemas relacionados a eventos liter\u00e1rios?

  • Nunca precisou usar o suporte, mas algumas abas que entra tem o \u00edcone de interroga\u00e7\u00e3o onde \u00e9 encontrada informa\u00e7\u00f5es sobre a p\u00e1gina.

Que sugest\u00f5es voc\u00ea tem para tornar o aplicativo do Skoob mais amig\u00e1vel, com um design intuitivo e uma navega\u00e7\u00e3o simplificada, garantindo uma experi\u00eancia agrad\u00e1vel para os amantes da leitura?

  • O que incomoda um pouco \u00e9 para ser uma rede social, mas n\u00e3o v\u00ea muita intera\u00e7\u00e3o entre os usu\u00e1rios, queria melhorar isso, ex.: stories.
  • A interface \u00e9 f\u00e1cil de mexer mas acha que poderia ser mais moderno o design.

Quais recursos de recomenda\u00e7\u00e3o de livros poder\u00edamos adicionar para ajudar os usu\u00e1rios a descobrir novas leituras?

  • Fazer ranking semanal ou mensal dos livros mais lidos na plataforma, quanto mais ela v\u00ea um livro, mais ela quer ler.

Quais recursos de conectividade social podemos implementar para que os usu\u00e1rios possam interagir uns com os outros de maneira mais eficaz?

  • Stories.

Quais s\u00e3o as principais reclama\u00e7\u00f5es ou desafios que os usu\u00e1rios enfrentam atualmente com o Skoob, e como podemos resolv\u00ea-los?

  • Tem um bug espec\u00edfico, onde colocamos a porcentagem de leitura ao registrar um hist\u00f3rico.

Quais recursos de gamifica\u00e7\u00e3o poder\u00edamos implementar para tornar o uso do Skoob mais envolvente e divertido?

  • J\u00e1 tem um ranking, mas \u00e9 pouco incentivado.
  • Tem muita informa\u00e7\u00e3o legal mas pouco divulgada.
  • Sugest\u00f5es: deixar o ranking vis\u00edvel no perfil da pessoa, medalhas, personaliza\u00e7\u00e3o do passarinho (icone do skoob), criar um avatar como no instagram.
"},{"location":"elicitacao/brainstorming/#gravacao-da-reuniao","title":"Grava\u00e7\u00e3o da Reuni\u00e3o","text":""},{"location":"elicitacao/brainstorming/#legenda-das-tabelas","title":"Legenda das tabelas:","text":"
- n: N\u00famero do Requisito;\n- RF:  Requisito Funcional;\n- RNF: Requisito N\u00e3o Funcional;\n- BSn: Requisito elicitado por meio de Brainstorming;\n

Na tabela 2, temos os requisitos j\u00e1 priorizados de acordo com a t\u00e9cnica Three-Level Scale.

Id Descri\u00e7\u00e3o Tipo BS01 Deve ser poss\u00edvel Criar uma meta de leitura para o ano RF BS02 Deve ser poss\u00edvel sortear um livro cadastrado nas metas para o ano para a pr\u00f3xima leitura RF BS03 Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio RF BS04 Deve ser poss\u00edvel ver informa\u00e7\u00f5es gerais de um livro cadastrado, como sinopse, autor, quantidade de p\u00e1ginas, etc RF BS05 Deve existir uma aba de lan\u00e7amentos de livros RF BS06 Deve existir uma aba de not\u00edcias sobre editoras e autores RF BS07 Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades RF BS08 Deve ser poss\u00edvel alterar o tema (escuro/claro/variantes) RF BS09 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais bem classificados RF BS10 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais lidos RF BS11 Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \"stories\" RF BS12 Deve ser poss\u00edvel compartilhar estantes RF BS13 Deve ser poss\u00edvel realizar desafios dentro da plataforma RF BS14 Deve ser poss\u00edvel criar desafios entre amigos RF BS15 Deve ser poss\u00edvel mandar mensagens diretas entre usu\u00e1rios RF BS16 Deve ser poss\u00edvel conquistar pr\u00eamios e recompensas a partir de Desafios RF BS17 Deve ser poss\u00edvel expor pr\u00eamios nos perfis e na TimeLine RF BS18 Deve ser poss\u00edvel receber recomenda\u00e7\u00f5es de livros com base nas prefer\u00eancias liter\u00e1rias dos usu\u00e1rios RF BS19 O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usu\u00e1rios compartilhar conte\u00fado. RNF

Tabela 2: Requisitos elicitados atrav\u00e9s do brainstorming. (Fonte: Jefferson Fran\u00e7a, 2023).

"},{"location":"elicitacao/brainstorming/#conclusao","title":"Conclus\u00e3o","text":"

A aplica\u00e7\u00e3o do brainstorming no processo de elicita\u00e7\u00e3o de requisitos para o Skoob foi extremamente eficaz, as respostas fornecidas pelo usu\u00e1rio foram valiosas e abrangentes, as ideias geradas durante a sess\u00e3o forneceram uma base s\u00f3lida para a defini\u00e7\u00e3o dos requisitos funcionais e n\u00e3o funcionais do aplicativo, abrangendo desde funcionalidades essenciais at\u00e9 recursos de conectividade social e gamifica\u00e7\u00e3o.

"},{"location":"elicitacao/brainstorming/#bibliografia","title":"Bibliografia","text":"

[1] SERRANO, Milene; SERRANO, Maur\u00edcio. Requisitos - Elicita\u00e7\u00e3o, Modelagem e An\u00e1lise. Apresenta\u00e7\u00e3o Power Point. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692779/mod_resource/content/2/Requisitos%20-%20Aula%2007.pdf. Acesso em: 04 de outubro de 2023.

[2] Brainstorming em Bilheteria Digital. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.1-BilheteriaDigital/elicitacao/tecnicas/brainstorming/. Acesso em 04 de Outubro de 2023.

[3] BARBOSA, S. D. J.; SILVA, B. S. Intera\u00e7\u00e3o Humano-Computador. Rio de Janeiro: Elsevier, 2011.

"},{"location":"elicitacao/brainstorming/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 04/10/2023 04/10/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a e Rafael Amancio Ana Rocha, Sha\u00edne Oliveira e Yago Passos 1.1 04/10/2023 04/10/2023 Adicionando a grava\u00e7\u00e3o Yago Passos Rafael Amancio 1.2 24/10/2023 25/10/2023 Altera\u00e7\u00f5es na tabela Rafael Amancio Yago Passos 1.3 02/11/2023 04/11/2023 Adicionando Conclus\u00e3o Ana Rocha Todos"},{"location":"elicitacao/first_things_first/","title":"First Things First","text":""},{"location":"elicitacao/first_things_first/#introducao","title":"Introdu\u00e7\u00e3o","text":"

Ap\u00f3s a elicita\u00e7\u00e3o dos requisitos essenciais, precisamos empregar m\u00e9todos eficazes para a prioriza\u00e7\u00e3o de tais requisitos. Esta etapa \u00e9 crucial para definir e diferenciar a relev\u00e2ncia e a urg\u00eancia de cada requisito individualmente. Uma das t\u00e9cnicas adotadas para tal, \u00e9 a t\u00e9cnica conhecida como \"First Things First\".

"},{"location":"elicitacao/first_things_first/#metodologia","title":"Metodologia","text":"

A t\u00e9cnica de prioriza\u00e7\u00e3o \"First Things First\" representa uma ferramenta importante na gest\u00e3o de requisitos, ao considerar cuidadosamente os benef\u00edcios, custos e riscos de cada requisito, onde os mesmo s\u00e3o classificados em diferentes n\u00edveis de import\u00e2ncia, tendo como resultado uma lista clara e organizada de prioridades para a implementa\u00e7\u00e3o. S\u00e3o feitas avalia\u00e7\u00f5es para determinar os respectivos \u00edndices (1-9) para cada indicativo acima descrito, que deve considerar a vis\u00e3o do cliente e do desenvolvedor de forma equilibrada. A partir disso, \u00e9 poss\u00edvel calcular o valor total, avaliar o custo relativo e determinar o n\u00edvel de risco associado a cada um. Assim, o c\u00e1lculo da prioridade para cada requisito permite a constru\u00e7\u00e3o de uma lista ordenada em ordem decrescente de import\u00e2ncia, fornecendo um guia claro para a fase de implementa\u00e7\u00e3o. Esta abordagem meticulosa e bem estruturada assegura que os recursos sejam alocados de maneira eficiente e direcionados aos elementos cruciais para o sucesso do projeto.

"},{"location":"elicitacao/first_things_first/#cronograma","title":"Cronograma","text":"

Na tabela 1, temos o cronograma detalhado do dia e do hor\u00e1rio em que a reuni\u00e3o ser\u00e1 realizada e tamb\u00e9m dos participantes e suas respectivas fun\u00e7\u00f5es na utiliza\u00e7\u00e3o da t\u00e9cnica.

Participantes Data Hora Mediador: Ana Desenvolvedor: Sha\u00edne 04/10/2023 17h Usu\u00e1rio: Vit\u00f3ria Monteiro

Tabela 1: Cronograma para execu\u00e7\u00e3o da t\u00e9cnica. (Fonte: Ana Rocha, 2023).

"},{"location":"elicitacao/first_things_first/#requisitos","title":"Requisitos","text":"

Na tabela 2 s\u00e3o listados os requisitos funcionais elicitados pelo grupo, atrav\u00e9s dos m\u00e9todos de Observa\u00e7ao, Introspec\u00e7\u00e3o e Brainstoming.

Legenda:

  • BS - Brainstorming
  • IN - Introspec\u00e7\u00e3o
  • OB - Observa\u00e7\u00e3o
Identifica\u00e7\u00e3o Descri\u00e7\u00e3o OB01 Deve ser poss\u00edvel realizar login OB02 Deve ser poss\u00edvel pesquisar livros OB03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo OB04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. OB05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts OB06 Deve ser poss\u00edvel curtir posts da timeline IN01 Deve ser poss\u00edvel realizar cadastro IN02 Deve ser poss\u00edvel recuperar a senha IN03 Deve ser poss\u00edvel cadastrar um livro IN04 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos IN05 Deve ser poss\u00edvel dar notas aos livros lidos IN06 Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo IN07 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura IN08 Deve ser poss\u00edvel adicionar livro a estante IN09 Deve ser poss\u00edvel criar lista de livros desejados IN10 Deve ser poss\u00edvel compartilhar a lista de livros desejados IN11 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios IN12 Deve ser poss\u00edvel abrir e analisar o perfil de outros usu\u00e1rios IN13 Deve ser poss\u00edvel adicionar outros usu\u00e1rios como amigo IN14 Deve ser poss\u00edvel filtrar livros por nota IN15 Deve ser poss\u00edvel filtrar livros por categoria BS01 Deve ser poss\u00edvel Criar uma meta de leitura para o ano BS02 Deve ser poss\u00edvel sortear um livro cadastrado nas metas para o ano para a pr\u00f3xima leitura BS03 Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio BS04 Deve ser poss\u00edvel ver informa\u00e7\u00f5es gerais de um livro cadastrado, como sinopse, autor, quantidade de p\u00e1ginas, etc BS05 Deve existir uma aba de lan\u00e7amentos de livros BS06 Deve existir uma aba de not\u00edcias sobre editoras e autores BS07 Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades BS08 Deve ser poss\u00edvel alterar o tema (escuro/claro/variantes) BS09 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais bem classificados BS10 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais lidos BS11 Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \"stories\" BS12 Deve ser poss\u00edvel compartilhar estantes BS13 Deve ser poss\u00edvel realizar desafios dentro da plataforma BS14 Deve ser poss\u00edvel criar desafios entre amigos BS15 Deve ser poss\u00edvel mandar mensagens diretas entre usu\u00e1rios BS16 Deve ser poss\u00edvel conquistar pr\u00eamios e recompensas a partir de Desafios BS17 Deve ser poss\u00edvel expor pr\u00eamios nos perfis e na TimeLine

Tabela 2: Elicita\u00e7\u00e3o de requisitos. (Fonte: Ana Rocha e Yago Passos, 2023).

"},{"location":"elicitacao/first_things_first/#priorizacao","title":"Prioriza\u00e7\u00e3o","text":"

Para a prioriza\u00e7\u00e3o adequada dos requisitos de forma condizente com o m\u00e9todo First-Things-First, definimos os envolvidos:

  • Gerente: O papel foi executado por Ana Rocha
  • Representante dos clientes: Vit\u00f3ria Monteiro, uma usu\u00e1ria entrevistada.
  • Representante de desenvolvimento: Yago Passos e Ana Rocha
"},{"location":"elicitacao/first_things_first/#entrevista","title":"Entrevista","text":"

A primeira etapa da Prioriza\u00e7\u00e3o consistiu em uma entrevista. Nessa entrevista questionamos a representante dos clientes respeito das funcionalidades elicitadas, pedindo que ela fornesesse um n\u00famero de 1 a 9, estimando o benef\u00edcio relativo que cada recurso fornece ao cliente. Tamb\u00e9m foi pedida a mesma m\u00e9trica para a estimativa da penalidade que o neg\u00f3cio sofreria se o recurso n\u00e3o fosse implementado. [2]

No v\u00eddeo 1, destacado a baixo, a entrevista com a representante dos clientes, Vit\u00f3ria Monteiro.

V\u00eddeo 1: Estimativa da parte do usu\u00e1rio - First Things First. (Fonte: Ana Rocha e Yago Passos, 2023).

Aqui cont\u00e9m o documento do Termo de Consentimento de uso da Imagem, assinado pela usu\u00e1ria entrevistada.

"},{"location":"elicitacao/first_things_first/#estimativa-da-parte-tecnica","title":"Estimativa da parte T\u00e9cnica","text":"

A segunda etapa foi uma reuni\u00e3o entre os representantes de desenvolvimento, que ao ponderar as funcionalidades, chegaram na prioriza\u00e7\u00e3o representada na Figura 2:

Figura 2: Prioriza\u00e7\u00e3o de requisitos - First Things First. (Fonte: Ana Rocha e Yago Passos, 2023).

"},{"location":"elicitacao/first_things_first/#conclusao","title":"Conclus\u00e3o","text":"

Em resumo, a t\u00e9cnica de prioriza\u00e7\u00e3o \"First Things First\" se mostrou uma ferramenta importante na gest\u00e3o dos requisitos que elicitamos, permitindo uma abordagem bem definida para determinar a import\u00e2ncia de cada funcionalidade, nos proporcionando uma lista clara e organizada de prioridades para a implementa\u00e7\u00e3o, o que permite uma aloca\u00e7\u00e3o eficiente de recursos.

"},{"location":"elicitacao/first_things_first/#bibliografia","title":"Bibliografia","text":"

[1] WIEGERS, Karl e BEATTY, Joy. Dispon\u00edvel em: Software Requirements, Third Edition. Acesso em: 02 de Outubro de 2023. [2] SALES, Andr\u00e9. T\u00e9cnicas de Prioriza\u00e7\u00e3o. Dispon\u00edvel em: Aprender 3. Acesso em 04 de outubro de 2023.

"},{"location":"elicitacao/first_things_first/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 02/10/2023 03/10/2023 Cria\u00e7\u00e3o do artefato Ana Rocha 1.1 04/10/2023 04/10/2023 Atualiza\u00e7\u00e3o do artefato Ana Rocha 1.2 04/10/2023 04/10/2023 Se\u00e7\u00e3o de Prioriza\u00e7\u00e3o Yago Passos 1.3 16/10/2023 17/10/2023 Elabora\u00e7\u00e3o da Conclus\u00e3o Ana Rocha 1.4 02/11/2023 04/11/2023 Adicionando Cronograma e implementando novo sistema de revis\u00e3o Ana Rocha"},{"location":"elicitacao/first_things_first/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 04/10/2023 1.1 Revis\u00e3o por inspe\u00e7\u00e3o Yago Passos 04/10/2023 1.2 Revis\u00e3o por inspe\u00e7\u00e3o Ana Rocha 18/10/2023 1.3 Revis\u00e3o por inspe\u00e7\u00e3o Yago Passos"},{"location":"elicitacao/introspeccao/","title":"Introspec\u00e7\u00e3o","text":""},{"location":"elicitacao/introspeccao/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A t\u00e9cnica de Introspec\u00e7\u00e3o consiste em imaginar o objetivo final do sistema, imaginando e documentando todas as fun\u00e7\u00f5es que o sistema poderia realizar para ajudar a alcan\u00e7ar esse objetivo. Na pr\u00e1tica, o engenheiro de requisitos deve imaginar quais seriam os requisitos, tanto funcionais quanto n\u00e3o funcionais, que o sistema deve possuir para que seja um sucesso e em seguida documentar esses requisitos. O documento de introspec\u00e7\u00e3o dever\u00e1 servir como um guia para o desenvolvimento do software.

"},{"location":"elicitacao/introspeccao/#execucao","title":"Execu\u00e7\u00e3o","text":"

O objetivo da t\u00e9cnica \u00e9 conseguir imaginar e elicitar o m\u00e1ximo de requisitos referentes ao Escopo e a Profundidade da aplica\u00e7\u00e3o. Para isso, todos os integrantes do grupo se reuniram e conversaram sobre o que o sistema deveria fazer.

Por fim, foram atribu\u00eddos ID's \u00fanicos para cada requisito, funcional e n\u00e3o funcional, documentado na Tabela 1.

"},{"location":"elicitacao/introspeccao/#legenda-da-tabela","title":"Legenda da tabela:","text":"
- INn: Requisito elicitado por meio de Introspec\u00e7\u00e3o;\n- n: N\u00famero do Requisito;\n- RF:  Requisito Funcional;\n- RNF: Requisito N\u00e3o Funcional;\n
"},{"location":"elicitacao/introspeccao/#requisitos-elicitados","title":"Requisitos Elicitados","text":"Identifica\u00e7\u00e3o Descri\u00e7\u00e3o Tipo IN01 Deve ser poss\u00edvel realizar cadastro RF IN02 Deve ser poss\u00edvel recuperar a senha RF IN03 Deve ser poss\u00edvel cadastrar um livro RF IN04 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos RF IN05 Deve ser poss\u00edvel dar notas aos livros lidos RF IN06 Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo RF IN07 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura RF IN08 Deve ser poss\u00edvel adicionar livro a estante RF IN09 Deve ser poss\u00edvel criar lista de livros desejados RF IN10 Deve ser poss\u00edvel compartilhar a lista de livros desejados RF IN11 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios RF IN12 Deve ser poss\u00edvel abrir e analisar o perfil de outros usu\u00e1rios RF IN13 Deve ser poss\u00edvel adicionar outros usu\u00e1rios como amigo RF IN14 Deve ser poss\u00edvel filtrar livros por nota RF IN15 Deve ser poss\u00edvel filtrar livros por categoria RF IN16 A senha deve conter no m\u00ednimo um n\u00famero uma letra mai\u00fascula e um caracter especial RNF IN17 Deve ser poss\u00edvel fazer cadastro/login com as credenciais do facebook RNF IN18 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional RNF IN19 Os dados do usu\u00e1rio devem ser guardados de forma eficaz, impendindo o vazamento dos mesmos RNF IN20 O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resolu\u00e7\u00f5es RNF

Tabela 1: Requisitos elicitados utilizando a t\u00e9cnica de Introspec\u00e7\u00e3o. (Fonte: Rafael Amancio, 2023).

"},{"location":"elicitacao/introspeccao/#conclusao","title":"Conclus\u00e3o","text":"

Em resumo, essa t\u00e9cnica serviu de grande ajuda para o desenvolvimento inicial do projeto, gerando 15 requisitos funcionais e 3 n\u00e3o funcionais, totalizando 18 requisitos.

"},{"location":"elicitacao/introspeccao/#bibliografia","title":"Bibliografia","text":"

[1] SALES, Andr\u00e9 Barros. T\u00e9cnicas de Prioriza\u00e7\u00e3o. Dispon\u00edvel em: Aprender 3. Acesso em 04 de outubro de 2023.

"},{"location":"elicitacao/introspeccao/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 04/10/2023 04/10/2023 Cria\u00e7\u00e3o do artefato Rafael Amancio Sha\u00edne Oliveira 1.1 24/10/2023 25/10/2023 Altera\u00e7\u00f5es na tabela Rafael Amancio Sha\u00edne Oliveira"},{"location":"elicitacao/moscow/","title":"Moscow","text":""},{"location":"elicitacao/moscow/#introducao","title":"Introdu\u00e7\u00e3o","text":"

A t\u00e9cnica de prioriza\u00e7\u00e3o MoSCoW \u00e9 uma abordagem que categoriza requisitos ou tarefas em quatro grupos principais: Must-have (Deve Ter), Should-have (Deveria Ter), Could-have (Poderia Ter) e Won't-have (N\u00e3o Deve Ter). Ela ajuda as equipes a identificar e priorizar o que \u00e9 essencial, importante, opcional e o que n\u00e3o ser\u00e1 inclu\u00eddo em um projeto, garantindo uma aloca\u00e7\u00e3o eficiente de recursos e a entrega de resultados alinhados com as expectativas dos stakeholders.

"},{"location":"elicitacao/moscow/#metodologia","title":"Metodologia","text":""},{"location":"elicitacao/moscow/#must-have","title":"Must-have","text":"

S\u00e3o os requisitos priorit\u00e1rios/cr\u00edticos para o neg\u00f3cio, como: normativas da bolsa de valores, informa\u00e7\u00f5es que afetam a credibilidade da empresa, entre outros. Dessa forma, se um desses itens n\u00e3o for conclu\u00eddo, o projeto n\u00e3o pode ser considerado como finalizado com sucesso.

"},{"location":"elicitacao/moscow/#should-have","title":"Should-have","text":"

Importantes, mas n\u00e3o s\u00e3o necess\u00e1rios (do ponto de vista estrat\u00e9gico) para entrega neste momento. Pode-se ter outro meio de se atender a necessidade classificada como SHOULD, ou pode-se esperar um pouco para ser trabalhado(ex: a conclus\u00e3o de outro projeto em andamento reduzir\u00e1 ou eliminar\u00e1 a necessidade do projeto demandado).

"},{"location":"elicitacao/moscow/#could-have","title":"Could-have","text":"

S\u00e3o os itens desej\u00e1veis, mas n\u00e3o s\u00e3o necess\u00e1rio (do ponto de vista estrat\u00e9gico) e podem melhorar a satisfa\u00e7\u00e3o do cliente com algum esfor\u00e7o de desenvolvimento.

"},{"location":"elicitacao/moscow/#would-want-wont-have","title":"Would/ Want/ Won't - have","text":"

Menos cr\u00edticos, com menor retorno sobre o investimento ou n\u00e3o adequados para serem realizados. Decis\u00f5es que devem ter a concord\u00e2ncia dos clientes. Pode ser usado \"Would Like (Gostaria)\" para conferir melhor entendimento.

"},{"location":"elicitacao/moscow/#requisitos","title":"Requisitos","text":"

Na tabela 1 cont\u00e9m a prioriza\u00e7\u00e3o dos requisitos seguindo a t\u00e9cnica de Moscow.

"},{"location":"elicitacao/moscow/#legenda-da-tabela","title":"Legenda da tabela:","text":"
  • OB - Observa\u00e7\u00e3o
  • IN - Introspec\u00e7\u00e3o
  • BS - Brainstorming
Identifica\u00e7\u00e3o Descri\u00e7\u00e3o Prioridade OB01 Deve ser poss\u00edvel realizar login Must OB02 Deve ser poss\u00edvel pesquisar livros Must OB03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo Must OB04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. Could OB05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts Could OB06 Deve ser poss\u00edvel curtir posts da timeline Could IN01 Deve ser poss\u00edvel realizar cadastro Must IN02 Deve ser poss\u00edvel recuperar a senha Must IN03 Deve ser poss\u00edvel cadastrar um livro Must IN04 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos Should IN05 Deve ser poss\u00edvel dar notas aos livros lidos Should IN06 Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo Should IN07 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura Should IN08 Deve ser poss\u00edvel adicionar livro a estante Must IN09 Deve ser poss\u00edvel criar lista de livros desejados Could IN10 Deve ser poss\u00edvel compartilhar a lista de livros desejados Would IN11 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios Could IN12 Deve ser poss\u00edvel abrir e analisar o perfil de outros usu\u00e1rios Could IN13 Deve ser poss\u00edvel adicionar outros usu\u00e1rios como amigo Could IN14 Deve ser poss\u00edvel filtrar livros por nota Could IN15 Deve ser poss\u00edvel filtrar livros por categoria Could IN16 A senha deve conter no m\u00ednimo um n\u00famero uma letra mai\u00fascula e um caracter especial Should IN17 Deve ser poss\u00edvel fazer cadastro/login com as credenciais do facebook Should IN18 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional Must BS01 Deve ser poss\u00edvel Criar uma meta de leitura para o ano Should BS02 Deve ser poss\u00edvel sortear um livro cadastrado nas metas para o ano para a pr\u00f3xima leitura Should BS03 Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio Should BS04 Deve ser poss\u00edvel ver informa\u00e7\u00f5es gerais de um livro cadastrado, como sinopse, autor, quantidade de p\u00e1ginas, etc Must BS05 Deve existir uma aba de lan\u00e7amentos de livros Should BS06 Deve existir uma aba de not\u00edcias sobre editoras e autores Should BS07 Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades Should BS08 Deve ser poss\u00edvel alterar o tema (escuro/claro/variantes) Could BS09 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais bem classificados Could BS10 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais lidos Could BS11 Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \"stories\" Could BS12 Deve ser poss\u00edvel compartilhar estantes Could BS13 Deve ser poss\u00edvel realizar desafios dentro da plataforma Could BS14 Deve ser poss\u00edvel criar desafios entre amigos Could BS15 Deve ser poss\u00edvel mandar mensagens diretas entre usu\u00e1rios Could BS16 Deve ser poss\u00edvel conquistar pr\u00eamios e recompensas a partir de Desafios Would BS17 Deve ser poss\u00edvel expor pr\u00eamios nos perfis e na TimeLine Would BS18 Deve ser poss\u00edvel receber recomenda\u00e7\u00f5es de livros com base nas prefer\u00eancias liter\u00e1rias dos usu\u00e1rios Could

Tabela 1: Levantamento de requisitos Moscow. (Fonte: Rafael e Sha\u00edne, 2023).

"},{"location":"elicitacao/moscow/#conclusao","title":"Conclus\u00e3o","text":"

A prioriza\u00e7\u00e3o dos requisitos com os usu\u00e1rios do aplicativo Skoob, para fins de documenta\u00e7\u00e3o, conclui que esse processo \u00e9 essencial para criar uma documenta\u00e7\u00e3o clara e eficaz, refletindo as prioridades dos usu\u00e1rios. Essa documenta\u00e7\u00e3o servir\u00e1 como uma valiosa refer\u00eancia, garantindo um alinhamento constante com as necessidades dos usu\u00e1rios.

"},{"location":"elicitacao/moscow/#bibliografia","title":"Bibliografia","text":"

[1] SALES, Andr\u00e9 Barros. T\u00e9cnicas de Prioriza\u00e7\u00e3o. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692772/mod_resource/content/2/Requisitos%20-%20Aula%2007.pdf. Acesso em 02 de outubro de 2023.

"},{"location":"elicitacao/moscow/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 02/10/2023 03/10/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne Rafael Amancio 1.1 03/10/2023 04/10/2023 Prioriza\u00e7\u00e3o de Requisitos Todos Todos 1.2 04/10/2023 04/10/2023 Requisitos de outras t\u00e9cnicas adicionados Rafael Amancio Sha\u00edne"},{"location":"elicitacao/observacao/","title":"Observacao Direta","text":""},{"location":"elicitacao/observacao/#introducao","title":"Introdu\u00e7\u00e3o","text":"

Tamb\u00e9m chamada de an\u00e1lise social [1], ou etnografia [2], A observa\u00e7\u00e3o \u00e9 uma t\u00e9cnica oriunda da antropologia e \u00e9 usada quando ocorre algum problema entre a rela\u00e7\u00e3o usu\u00e1rio-equipe. As vezes, o cliente n\u00e3o consegue explicar sua necessidade ou como funcionam seus processos, ou ent\u00e3o n\u00e3o houve tempo para realizar entrevistas mais elaboradas, ou simplesmente o usu\u00e1rio n\u00e3o est\u00e1 confort\u00e1vel/dispon\u00edvel para entrevistas. Geralmente \u00e9 utilizada em conjunto com outras t\u00e9cnicas.

"},{"location":"elicitacao/observacao/#preparacao","title":"Prepara\u00e7\u00e3o","text":"

O objetivo da t\u00e9cnica \u00e9 conseguir elicitar o m\u00e1ximo de requisitos referentes ao Escopo e a Profundidade da aplica\u00e7\u00e3o. Para isso, todos os integrantes do grupo participar\u00e3o como Avaliadores Passivos [2].

A pessoa observada pelos avaliadores utilizou a plataforma e fez uma grava\u00e7\u00e3o de forma an\u00f4nima. As atividades a serem observadas foram as funcionalidades principais que o sistema exp\u00f5e para o usu\u00e1rio e o fluxo de opera\u00e7\u00f5es foi totalmente baseado em intera\u00e7\u00f5es com os livros da plataforma e com outros usu\u00e1rios na Time-Line

"},{"location":"elicitacao/observacao/#execucao","title":"Execu\u00e7\u00e3o","text":"

A grava\u00e7\u00e3o a seguir demonstra o video de usabilidade da plataforma. O mesmo foi analisado pela equipe para a elicita\u00e7\u00e3o dos requisitos.

Ap\u00f3s efetivada a an\u00e1lise, foram definidas as principais funcionalidades e requisitos.

"},{"location":"elicitacao/observacao/#requisitos-elicitados","title":"Requisitos Elicitados","text":"Identifica\u00e7\u00e3o Descri\u00e7\u00e3o OB01 Deve ser poss\u00edvel realizar login OB02 Deve ser poss\u00edvel pesquisar livros OB03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo OB04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. OB05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts OB06 Deve ser poss\u00edvel curtir posts da timeline

Tabela 1: Elicita\u00e7\u00e3o dos requisitos utilizando a t\u00e9cnica de Observa\u00e7\u00e3o. (Fonte: Yago Passos, 2023).

"},{"location":"elicitacao/observacao/#bibliografia","title":"Bibliografia","text":"

[1] REtraining UFSC Guia. Observa\u00e7\u00e3o direta. REtraining, 2023. Dispon\u00edvel em: https://retraining.inf.ufsc.br/guia/app/classificacoes/tecnicas-de-elicitacao-de-requisitos/entidades/tecnicas-de-elicitacao-de-requisitos-observacao-direta. Acesso em: 03 de Outubro de 2023.

[2] VAZQUEZ, Carlos e SIMOES, Guilherme. Engenharia de Requisitos: Software Orientado a Neg\u00f3cio. Rio de Janeiro: Brasport, 2016

"},{"location":"elicitacao/observacao/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 03/10/2023 04/10/2023 Cria\u00e7\u00e3o do artefato Yago Passos Ana Rocha e Sha\u00edne Oliveira 1.1 17/10/2023 18/10/2023 Se\u00e7\u00e3o de Conclus\u00e3o Yago Passos Ana Rocha e Sha\u00edne Oliveira"},{"location":"elicitacao/perfil_do_usuario/","title":"Perfil de Usu\u00e1rio","text":""},{"location":"elicitacao/perfil_do_usuario/#introducao","title":"Introdu\u00e7\u00e3o","text":"

Um perfil de usu\u00e1rio \u00e9 uma representa\u00e7\u00e3o detalhada das caracter\u00edsticas, necessidades e prefer\u00eancias de quem vai usar um sistema ou produto. Elicitar requisitos atrav\u00e9s desses perfis ajuda a equipe de desenvolvimento a entender e atender melhor as expectativas dos usu\u00e1rios, garantindo um produto mais eficaz e satisfat\u00f3rio.

"},{"location":"elicitacao/perfil_do_usuario/#metodologia","title":"Metodologia","text":"

Com o objetivo de compreender melhor o perfil dos usu\u00e1rios do Skoob, adotamos a abordagem de realizar um question\u00e1rio. Inicialmente, tentamos buscar informa\u00e7\u00f5es relevantes em documentos existentes, por\u00e9m, n\u00e3o obtivemos \u00eaxito nessa busca. Posteriormente, entramos em contato com a equipe do Skoob por meio de e-mail, na esperan\u00e7a de obter algumas informa\u00e7\u00f5es, mas, infelizmente, n\u00e3o recebemos resposta.

Diante dessa situa\u00e7\u00e3o, desenvolvemos um question\u00e1rio elaborado com perguntas direcionadas e o compartilhamos em grupos de whatsapp. No processo de distribui\u00e7\u00e3o do question\u00e1rio, destacamos que apenas aqueles que tinham experi\u00eancia com o aplicativo deveriam participar da pesquisa.

A equipe elaborou algumas perguntas simples, com o objetivo de compreender melhor o perfil dos usu\u00e1rios. O question\u00e1rio consiste em um total de cinco perguntas. Antes de come\u00e7ar a responder \u00e0s perguntas, \u00e9 apresentado um termo de consentimento, como visto na Figura 1. Somente ap\u00f3s a aceita\u00e7\u00e3o deste termo, a pessoa pode prosseguir e responder o formul\u00e1rio. Este processo visa garantir a privacidade e a concord\u00e2ncia dos participantes, assegurando que estejam confort\u00e1veis em compartilhar suas informa\u00e7\u00f5es.

Figura 1 - Termo de consentimento apresentado no formul\u00e1rio. (Fonte: Jefferson Fran\u00e7a. 2023)

"},{"location":"elicitacao/perfil_do_usuario/#resultado","title":"Resultado","text":"

Obtivemos um total de 16 respostas, com todos os participantes concordando com o termo de consentimento. A seguir, apresentamos os resultados das Figuras 2 a 6.

Quest\u00e3o 1 - Perfil de usu\u00e1rio

Figura 2 - Quest\u00e3o 1. (Fonte: Jefferson Fran\u00e7a. 2023)

Com base nos resultados do gr\u00e1fico, foi observado que 87,5% das pessoas que participaram do question\u00e1rio j\u00e1 utilizaram o aplicativo Skoob.

Quest\u00e3o 2 - Perfil de usu\u00e1rio

Figura 3 - Quest\u00e3o 2. (Fonte: Jefferson Fran\u00e7a. 2023)

Conforme ilustrado no gr\u00e1fico, 56,3% das pessoas que responderam ao question\u00e1rio est\u00e3o na faixa et\u00e1ria entre 18 e 23 anos.

Quest\u00e3o 3 - Perfil de usu\u00e1rio

Figura 4 - Quest\u00e3o 3. (Fonte: Jefferson Fran\u00e7a. 2023)

De acordo com o gr\u00e1fico, 62,5% das pessoas que responderam ao formul\u00e1rio identificam-se como do g\u00eanero feminino.

Quest\u00e3o 4 - Perfil de usu\u00e1rio

Figura 5 - Quest\u00e3o 4. (Fonte: Jefferson Fran\u00e7a. 2023)

De acordo com o gr\u00e1fico, 50% das pessoas que utilizam o aplicativo indicou a frequ\u00eancia de uso como '\u00c0s vezes', o que sugere que elas n\u00e3o o utilizam diariamente.

Quest\u00e3o 5 - Perfil de usu\u00e1rio

Figura 6 - Quest\u00e3o 5. (Fonte: Jefferson Fran\u00e7a. 2023)

Com base no gr\u00e1fico, impressionantes 93,8% das pessoas afirmaram que recomendariam o aplicativo a um amigo

Quest\u00e3o 6 - Perfil de usu\u00e1rio

Figura 7 - Quest\u00e3o 6. (Fonte: Jefferson Fran\u00e7a. 2023)

Com base no gr\u00e1fico, 13 pessoas utilizam o aplicativo com o prop\u00f3sito de descobrir novos livros.

"},{"location":"elicitacao/perfil_do_usuario/#perfil-encontrado","title":"Perfil Encontrado","text":"

Ap\u00f3s analisarmos as respostas, chegamos \u00e0 conclus\u00e3o de que o perfil do usu\u00e1rio \u00e9 o seguinte:

  • G\u00eanero: Maioria feminino.
  • Idade: Entre 18 e 23 anos.
  • Frequ\u00eancia de uso: N\u00e3o utilizam diariamente.
  • Tarefas prim\u00e1rias: Encontrar livros e organizar leitura.
"},{"location":"elicitacao/perfil_do_usuario/#bibliografia","title":"Bibliografia","text":"

[1]BARBOSA, Simone D.J. Intera\u00e7\u00e3o Humano-Computador. 2023.

[2] Perfil do Usu\u00e1rio em Bilheteria Digital. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.1-BilheteriaDigital/elicitacao/perfil_de_usuario/. Acesso em 04 de Outubro de 2023.

"},{"location":"elicitacao/perfil_do_usuario/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 04/10/2023 04/10/2023 Cria\u00e7\u00e3o do artefato Ana Rocha e Jefferson Fran\u00e7a Yago Passos 1.1 04/10/2023 04/10/2023 Adicionando introdu\u00e7\u00e3o Jefferson Fran\u00e7a Yago Passos"},{"location":"elicitacao/requisitos/","title":"Requisitos Elicitados","text":"

Na tabela 1 \u00e9 poss\u00edvel identificar todos os requisitos elicitados e na legenda pode-se verificar a rastreabilidade:

"},{"location":"elicitacao/requisitos/#legenda-da-tabela","title":"Legenda da tabela:","text":"
  • RF - Requisito Funcional
  • RNF - Requisito N\u00e3o Funcional
  • OB - Observa\u00e7\u00e3o
  • IN - Introspec\u00e7\u00e3o
  • BS - Brainstorming
  • ** - Requisito n\u00e3o implementado no Skoob
Identifica\u00e7\u00e3o Descri\u00e7\u00e3o Tipo OB01 Deve ser poss\u00edvel realizar login RF OB02 Deve ser poss\u00edvel pesquisar livros RF OB03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo RF OB04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. RF OB05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts RF OB06 Deve ser poss\u00edvel curtir posts da timeline RF IN01 Deve ser poss\u00edvel realizar cadastro RF IN02 Deve ser poss\u00edvel recuperar a senha RF IN03 Deve ser poss\u00edvel cadastrar um livro RF IN04 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos RF IN05 Deve ser poss\u00edvel dar notas aos livros lidos RF * IN06 * Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo RF IN07 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura RF IN08 Deve ser poss\u00edvel adicionar livro a estante RF IN09 Deve ser poss\u00edvel criar lista de livros desejados RF IN10 Deve ser poss\u00edvel compartilhar a lista de livros desejados RF IN11 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios RF IN12 Deve ser poss\u00edvel abrir e analisar o perfil de outros usu\u00e1rios RF IN13 Deve ser poss\u00edvel adicionar outros usu\u00e1rios como amigo RF * IN14 * Deve ser poss\u00edvel filtrar livros por nota RF * IN15 * Deve ser poss\u00edvel filtrar livros por categoria RF * IN16 * A senha deve conter no m\u00ednimo um n\u00famero uma letra mai\u00fascula e um caracter especial RNF IN17 Deve ser poss\u00edvel fazer cadastro/login com as credenciais do facebook RNF IN18 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional RNF IN19 Os dados do usu\u00e1rio devem ser guardados de forma eficaz, impendindo o vazamento dos mesmos RNF IN20 O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resolu\u00e7\u00f5es RNF BS01 Deve ser poss\u00edvel Criar uma meta de leitura para o ano RF BS02 Deve ser poss\u00edvel sortear um livro cadastrado nas metas para o ano para a pr\u00f3xima leitura RF * BS03 * Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio RF BS04 Deve ser poss\u00edvel ver informa\u00e7\u00f5es gerais de um livro cadastrado, como sinopse, autor, quantidade de p\u00e1ginas, etc RF BS05 Deve existir uma aba de lan\u00e7amentos de livros RF * BS06 * Deve existir uma aba de not\u00edcias sobre editoras e autores RF * BS07 * Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades RF BS08 Deve ser poss\u00edvel alterar o tema (escuro/claro/variantes) RF * BS09 * Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais bem classificados RF * BS10* Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais lidos RF * BS11 * Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \"stories\" RF * BS12 * Deve ser poss\u00edvel compartilhar estantes RF BS13 Deve ser poss\u00edvel realizar desafios dentro da plataforma RF * BS14 * Deve ser poss\u00edvel criar desafios entre amigos RF BS15 Deve ser poss\u00edvel mandar mensagens diretas entre usu\u00e1rios RF * BS16 * Deve ser poss\u00edvel conquistar pr\u00eamios e recompensas a partir de Desafios RF * BS17 * Deve ser poss\u00edvel expor pr\u00eamios nos perfis e na TimeLine RF * BS18 * Deve ser poss\u00edvel receber recomenda\u00e7\u00f5es de livros com base nas prefer\u00eancias liter\u00e1rias dos usu\u00e1rios RF BS19 O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usu\u00e1rios compartilhar conte\u00fado. RNF

Tabela 1: Elicita\u00e7\u00e3o de Requisitos. (Fonte: Rafael e Sha\u00edne, 2023).

"},{"location":"elicitacao/requisitos/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 18/10/2023 20/10/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne Oliveira e Rafael Amancio Ana Rocha, e Yago Passos 1.1 20/10/2023 20/10/2023 Adi\u00e7\u00e3o de hiperlinks e nova classifica\u00e7\u00e3o Sha\u00edne Oliveira e Rafael Amancio Ana Rocha, e Yago Passos 1.2 24/10/2023 25/10/2023 Altera\u00e7\u00f5es na tabela Rafael Amancio Todos"},{"location":"elicitacao/three_level_scale/","title":"Three-Level Scale","text":""},{"location":"elicitacao/three_level_scale/#introducao","title":"Introdu\u00e7\u00e3o","text":"

Um sistema de escala de tr\u00eas n\u00edveis \u00e9 uma abordagem simples e eficaz para classificar requisitos em tr\u00eas categorias distintas. Essas categorias frequentemente s\u00e3o rotuladas como prioridade \"alta\", \"m\u00e9dia\" e \"baixa\". A utilidade desse sistema reside na sua capacidade de simplificar a classifica\u00e7\u00e3o e a tomada de decis\u00f5es, tornando mais f\u00e1cil para as pessoas avaliarem e compararem diferentes op\u00e7\u00f5es. Para o projeto a t\u00e9cnica ser\u00e1 utilizada por um desenvolvedor, que tamb\u00e9m s\u00e9ra o mediador, e um usu\u00e1rio. A Figura 1 ilustra a divis\u00e3o das categorias desta t\u00e9cnica.

Figura 1: Prioriza\u00e7\u00e3o de requisitos - Three-Level Scale. (Fonte: SALES, Andr\u00e9 Barros [1], 2023).

"},{"location":"elicitacao/three_level_scale/#metodologia","title":"Metodologia","text":"

A t\u00e9cnica divide os requisitos em tr\u00eas categorias: alto, m\u00e9dio e baixo, com base em sua import\u00e2ncia ou prioridade. Isso simplifica o processo de avalia\u00e7\u00e3o e permite que a equipe se concentre nos requisitos mais cr\u00edticos, enquanto tamb\u00e9m reconhece os menos urgentes. \u00c9 uma abordagem eficaz para garantir que recursos e esfor\u00e7os sejam direcionados para as \u00e1reas mais importantes de um projeto ou tarefa.

Todo o processo de categoriza\u00e7\u00e3o \u00e9 uma atividade colaborativa que envolve a equipe, e \u00e9 fundamental que haja consenso entre todos os membros sobre a categoria em que cada requisito deve ser classificado.

"},{"location":"elicitacao/three_level_scale/#cronograma","title":"Cronograma","text":"

Na tabela 1, temos o cronograma detalhado do dia e do hor\u00e1rio em que a reuni\u00e3o ser\u00e1 realizada e tamb\u00e9m dos participantes e suas respectivas fun\u00e7\u00f5es na utiliza\u00e7\u00e3o da t\u00e9cnica.

Participantes Data Hora Mediador: Jefferson Desenvolvedor: Ana 04/10/2023 17h Usu\u00e1rio: Vit\u00f3ria Monteiro

Tabela 1: Cronograma para execu\u00e7\u00e3o da t\u00e9cnica. (Fonte: Jefferson Fran\u00e7a, 2023).

"},{"location":"elicitacao/three_level_scale/#gravacao-da-tecninca","title":"Grava\u00e7\u00e3o da T\u00e9cninca","text":"

V\u00eddeo 1, da grava\u00e7\u00e3o:

V\u00eddeo 1: Estimativa da parte do usu\u00e1rio - First Things First. (Fonte: Grupo Skoob, 2023).

"},{"location":"elicitacao/three_level_scale/#requisitos-priorizados","title":"Requisitos Priorizados","text":""},{"location":"elicitacao/three_level_scale/#legenda-das-tabelas","title":"Legenda das tabelas:","text":"
- n: N\u00famero do Requisito;\n- RFn:  Requisito Funcional;\n- RNFn: Requisito N\u00e3o Funcional;\n- OBSn: Requisito elicitado por meio de Observa\u00e7\u00e3o;\n- BSn: Requisito elicitado por meio de Brainstorming;\n- ISn: Requisito elicitado por meio de Introspec\u00e7\u00e3o.\n

Na tabela 2, temos os requisitos j\u00e1 priorizados de acordo com a t\u00e9cnica Three-Level Scale.

"},{"location":"elicitacao/three_level_scale/#backlog-de-funcionalidades-bs","title":"Backlog de Funcionalidades (BS)","text":"Id Descri\u00e7\u00e3o Tipo Prioridade BS01 Deve ser poss\u00edvel ver informa\u00e7\u00f5es gerais de um livro cadastrado, como sinopse, autor, quantidade de p\u00e1ginas, etc RF01 Alta BS02 Deve ser poss\u00edvel visualizar as minhas resenhas e as de outros usu\u00e1rios RF02 M\u00e9dia BS03 Deve existir uma timeline onde \u00e9 poss\u00edvel ver informa\u00e7\u00f5es sobre pessoas que voc\u00ea segue. RF03 Baixa BS04 Deve existir uma aba de lan\u00e7amentos de livros RF04 Alta BS05 Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero Ler para a pr\u00f3xima leitura do usu\u00e1rio RF05 M\u00e9dia BS06 Deve ser poss\u00edvel sortear um livro cadastrado nas metas do ano RF06 Baixa BS07 Deve ser poss\u00edvel curtir posts da timeline RF07 Baixa BS08 Deve ser poss\u00edvel alterar o tema (escuro/claro/variantes) RF08 M\u00e9dia BS09 Deve existir uma aba de not\u00edcias sobre editoras e autores RF09 Baixa BS10 Deve haver contato com a equipe Skoob RF10 M\u00e9dia BS11 Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades RF11 Alta BS12 Deve ser poss\u00edvel postar algo livremente na timeline RF12 Baixa BS13 Deve ser poss\u00edvel alterar o idioma da plataforma RF13 M\u00e9dia BS14 Deve existir uma lista de sugest\u00e3o de acordo com livros lidos RF14 Baixa BS15 Deve existir um ranking semanal/mensal de livros mais lidos. RF15 Baixa BS16 Deve existir um ranking semanal/mensal de livros mais bem classificados. RF16 Baixa BS17 Deve ser poss\u00edvel ver a compatibilidade de gosto liter\u00e1rio entre usu\u00e1rios RF17 Baixa BS18 Deve ser poss\u00edvel criar desafios entre amigos. RF18 M\u00e9dia BS19 Deve ser poss\u00edvel compartilhar estantes RF19 Baixa BS20 Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \u201cstories\u201d RF20 Baixa BS21 Devem ser exibidas mensagens de erro mais intuitivas RF21 M\u00e9dia BS22 Deve haver recompensas que s\u00e3o obtidas atrav\u00e9s de desafios e metas. RF22 Baixa BS23 Deve haver mais medalhas, que s\u00e3o exibidas no perfil das pessoas RF23 Baixa BS24 Deve haver um ranking entre amigos. RF24 Baixa BS25 Deve ser poss\u00edvel mandar mensagens diretas entre usu\u00e1rios RF25 Baixa BS26 O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usu\u00e1rios compartilhar conte\u00fado. RNF05 M\u00e9dia OB01 Deve ser poss\u00edvel realizar login RF01 Alta OB02 Deve ser poss\u00edvel pesquisar livros RF02 Alta OB03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo RF03 Alta OB04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. RF04 Baixa OB05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts RF05 M\u00e9dia IN01 Deve ser poss\u00edvel realizar cadastro RF01 Alta IN02 Deve ser poss\u00edvel recuperar a senha RF02 Alta IN03 Deve ser poss\u00edvel cadastrar um livro RF03 Alta IN04 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos RF04 M\u00e9dia IN05 Deve ser poss\u00edvel dar notas aos livros lidos RF05 M\u00e9dia IN06 Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo RF06 M\u00e9dia IN07 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura RF07 M\u00e9dia IN08 Deve ser poss\u00edvel adicionar livro a estante RF08 Alta IN09 Deve ser poss\u00edvel criar lista de livros desejados RF09 Baixa IN10 Deve ser poss\u00edvel compartilhar a lista de livros desejados RF10 Baixa IN11 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios RF11 Baixa IN12 Deve ser poss\u00edvel abrir e analisar o perfil de outros usu\u00e1rios RF12 Baixa IN13 Deve ser poss\u00edvel adicionar outros usu\u00e1rios como amigo RF13 Baixa IN14 Deve ser poss\u00edvel filtrar livros por nota RF14 Baixa IN15 Deve ser poss\u00edvel filtrar livros por categoria RF15 M\u00e9dia IN16 A senha deve conter no m\u00ednimo um n\u00famero, uma letra mai\u00fascula e um caractere especial RNF01 Alta IN17 Deve ser poss\u00edvel fazer cadastro/login com as credenciais do Facebook RNF02 M\u00e9dia IN18 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional RNF03 Alta IN19 Os dados do usu\u00e1rio devem ser guardados de forma eficaz, impendindo o vazamento dos mesmos RNF04 Alta IN20 O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resolu\u00e7\u00f5es RNF06 M\u00e9dia

Tabela 2: Prioriza\u00e7\u00e3o dos requisitos utilizando a t\u00e9cnica. (Fonte: Jefferson Fran\u00e7a, 2023).

"},{"location":"elicitacao/three_level_scale/#conclusao","title":"Conclus\u00e3o","text":"

A t\u00e9cnica de Three-Level Scale foi instrumental para priorizar os requisitos de forma clara e eficiente, garantindo que a equipe direcionasse seus esfor\u00e7os para as \u00e1reas mais cruciais do projeto. Ao categorizar os requisitos em alto, m\u00e9dio e baixo, pudemos estabelecer uma hierarquia clara de necessidades, facilitando a tomada de decis\u00f5es em rela\u00e7\u00e3o ao desenvolvimento. A colabora\u00e7\u00e3o entre o mediador, o desenvolvedor e o usu\u00e1rio foi fundamental para assegurar que os requisitos fossem avaliados de maneira justa e imparcial. Com base na prioriza\u00e7\u00e3o estabelecida, estamos prontos para avan\u00e7ar com um foco renovado nas funcionalidades mais cr\u00edticas e fundamentais para o sucesso do projeto.

"},{"location":"elicitacao/three_level_scale/#bibliografia","title":"Bibliografia","text":"

[1] SALES, Andr\u00e9 Barros. T\u00e9cnicas de Prioriza\u00e7\u00e3o. Dispon\u00edvel em: Aprender 3. Acesso em 04 de outubro de 2023.

"},{"location":"elicitacao/three_level_scale/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 03/10/2023 04/10/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a e Rafael Amancio Ana Rocha, Sha\u00edne Oliveira e Yago Passos 1.1 04/10/2023 04/10/2023 Adi\u00e7\u00e3o do v\u00eddeo Jefferson Fran\u00e7a e Rafael Amancio Ana Rocha, Sha\u00edne Oliveira e Yago Passos 1.2 16/10/2023 17/10/2023 Atualiza\u00e7\u00e3o da introdu\u00e7\u00e3o Ana Rocha Jefferson Fran\u00e7a 1.3 17/10/2023 18/10/2023 Se\u00e7\u00e3o de Conclus\u00e3o Yago Passos Ana Rocha"},{"location":"modelagem/backlog/","title":"Backlog do Produto","text":""},{"location":"modelagem/backlog/#introducao","title":"Introdu\u00e7\u00e3o","text":"

\u2003\u2003 O Backlog do Produto \u00e9 uma lista priorizada de itens sobre os quais o time de desenvolvimento trabalhar\u00e1 no decorrer do projeto. Trata-se da lista de funcionalidades e requisitos que dever\u00e3o ser entregues ao cliente ao longo das Sprints. Ele \u00e9 atualizado, reordenado e refinado de acordo com o n\u00edvel de detalhes que \u00e9 poss\u00edvel de se ter em cada momento do projeto. \u2003\u2003 Os itens do Backlog do Produto s\u00e3o organizados pelo Product Owner de acordo com a ordem em que ser\u00e3o desenvolvidos, de forma a maximizar o retorno ao clientes. Assim, os itens do topo do Backlog s\u00e3o colocados em desenvolvimento primeiro [1].

"},{"location":"modelagem/backlog/#metodologia","title":"Metodologia","text":"

\u2003\u2003 Para a metodologia foi utilizado o Microsoft Excel e o Miro para organizar o agrupamento dos requisitos por temas. Uma reuni\u00e3o na plataforma Teams foi realizada no dia 03/11/2023, em que participaram os integrantes: Rafael Amancio, Yago Passos e Jefferson Fran\u00e7a. A reuni\u00e3o que deu origem a esse artefato foi gravada (V\u00eddeo 1) e pode ser acessada a seguir:

V\u00eddeo 1: Elabora\u00e7\u00e3o inicial do Backlog. (Fonte: Rafael Amancio, 2023).

"},{"location":"modelagem/backlog/#temas","title":"Temas","text":"

\u2003\u2003 Ao analisar os requisitos, foi observado que eles poderiam ser organizados em tr\u00eas grandes temas:

  • Login
  • Livro
  • Usu\u00e1rio

    \u2003\u2003 Os temas comp\u00f5em o maior n\u00edvel de abstra\u00e7\u00e3o do backlog, sendo necess\u00e1rio especificar ainda mais atrav\u00e9s da cria\u00e7\u00e3o dos \u00c9picos.

    "},{"location":"modelagem/backlog/#epicos","title":"\u00c9picos","text":"

    \u2003\u2003 Ao analisar os temas, foram criados os seguintes \u00c9picos:

    • Acessibilidade
    • Livro
    • Usu\u00e1rio
    • Acompanhamento
    • Entretenimento

      \u2003\u2003 Os \u00c9picos melhoram a especificidade da classifica\u00e7\u00e3o dos requisitos. Com os \u00c9picos definidos, o pr\u00f3ximo passo \u00e9 realizar a classifica\u00e7\u00e3o.

      "},{"location":"modelagem/backlog/#epico-1-acessibilidade","title":"\u00c9pico 1 - Acessibilidade","text":"

      \u2003\u2003 Esse \u00c9pico ir\u00e1 classificar todos os requisitos voltados ao acesso do usu\u00e1rio ao Skoob, abrangendo fun\u00e7\u00f5es de login, cadastro de usu\u00e1rio, ajuda, entre outras. Esses requisitos podem ser visualizados na Tabela 1:

      ID Requisito Rastreabilidade OB01 Deve ser poss\u00edvel realizar login OB IN01 Deve ser poss\u00edvel realizar cadastro IN IN02 Deve ser poss\u00edvel recuperar a senha IN IN16 A senha deve conter no m\u00ednimo um n\u00famero uma letra mai\u00fascula e um caracter especial IN IN17 Deve ser poss\u00edvel fazer cadastro/login com as credenciais do facebook IN IN18 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional IN BS07 Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades BS BS08 Deve ser poss\u00edvel alterar o tema (escuro/claro/variantes) BS

      Tabela 1: Requisitos do \u00c9pico 1 (Fonte: Rafael Amancio, 2023).

      "},{"location":"modelagem/backlog/#epico-2-livro","title":"\u00c9pico 2 - Livro","text":"

      \u2003\u2003 Esse \u00c9pico ir\u00e1 classificar todos os requisitos voltados aos livros, abrangendo fun\u00e7\u00f5es de busca, cadastro, visualiza\u00e7\u00e3o, ranking, entre outras. Esses requisitos podem ser visualizados na Tabela 2:

      ID Requisito Rastreabilidade OB02 Deve ser poss\u00edvel pesquisar livros OB IN03 Deve ser poss\u00edvel cadastrar um livro IN IN04 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos IN IN05 Deve ser poss\u00edvel dar notas aos livros lidos IN IN14 Deve ser poss\u00edvel filtrar livros por nota IN IN15 Deve ser poss\u00edvel filtrar livros por categoria IN BS02 Deve ser poss\u00edvel sortear um livro cadastrado nas metas para o ano para a pr\u00f3xima leitura BS BS03 Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio BS BS04 Deve ser poss\u00edvel ver informa\u00e7\u00f5es gerais de um livro cadastrado, como sinopse, autor, quantidade de p\u00e1ginas, etc BS BS05 Deve existir uma aba de lan\u00e7amentos de livros BS BS09 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais bem classificados BS BS10 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais lidos BS BS18 Deve ser poss\u00edvel receber recomenda\u00e7\u00f5es de livros com base nas prefer\u00eancias liter\u00e1rias dos usu\u00e1rios BS

      Tabela 2: Requisitos do \u00c9pico 2 (Fonte: Rafael Amancio, 2023).

      "},{"location":"modelagem/backlog/#epico-3-usuario","title":"\u00c9pico 3 - Usu\u00e1rio","text":"

      \u2003\u2003 Esse \u00c9pico ir\u00e1 classificar todos os requisitos voltados aos usu\u00e1rios e suas intera\u00e7\u00f5es, abrangendo fun\u00e7\u00f5es de busca, compartilhamento, mensagens diretas, perfil, entre outras. Esses requisitos podem ser visualizados na Tabela 3:

      ID Requisito Rastreabilidade OB04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. OB OB05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts OB OB06 Deve ser poss\u00edvel curtir posts da timeline OB IN07 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura IN IN10 Deve ser poss\u00edvel compartilhar a lista de livros desejados IN IN11 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios IN IN12 Deve ser poss\u00edvel abrir e analisar o perfil de outros usu\u00e1rios IN IN13 Deve ser poss\u00edvel adicionar outros usu\u00e1rios como amigo IN BS12 Deve ser poss\u00edvel compartilhar estantes BS BS15 Deve ser poss\u00edvel mandar mensagens diretas entre usu\u00e1rios BS BS17 Deve ser poss\u00edvel expor pr\u00eamios nos perfis e na TimeLine BS

      Tabela 3: Requisitos do \u00c9pico 3 (Fonte: Rafael Amancio, 2023).

      "},{"location":"modelagem/backlog/#epico-4-acompanhamento","title":"\u00c9pico 4 - Acompanhamento","text":"

      \u2003\u2003 Esse \u00c9pico ir\u00e1 classificar todos os requisitos voltados ao acompanhamento de leitura, abrangendo fun\u00e7\u00f5es de tags de livros, estantes, contagem de leitura, entre outras. Esses requisitos podem ser visualizados na Tabela 4:

      ID Requisito Rastreabilidade OB03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo OB IN06 Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo IN IN08 Deve ser poss\u00edvel adicionar livro a estante IN IN09 Deve ser poss\u00edvel criar lista de livros desejados IN BS01 Deve ser poss\u00edvel Criar uma meta de leitura para o ano BS BS06 Deve existir uma aba de not\u00edcias sobre editoras e autores BS

      Tabela 4: Requisitos do \u00c9pico 4 (Fonte: Rafael Amancio, 2023).

      "},{"location":"modelagem/backlog/#epico-5-entretenimento","title":"\u00c9pico 5 - Entretenimento","text":"

      \u2003\u2003 Esse \u00c9pico ir\u00e1 classificar todos os requisitos voltados ao entretenimento do usu\u00e1rio, abrangendo fun\u00e7\u00f5es de stories, desafios e conquistas. Esses requisitos podem ser visualizados na Tabela 4:

      ID Requisito Rastreabilidade BS11 Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \"stories\" BS BS13 Deve ser poss\u00edvel realizar desafios dentro da plataforma BS BS14 Deve ser poss\u00edvel criar desafios entre amigos BS BS16 Deve ser poss\u00edvel conquistar pr\u00eamios e recompensas a partir de Desafios BS

      Tabela 4: Requisitos do \u00c9pico 5 (Fonte: Rafael Amancio, 2023).

      "},{"location":"modelagem/backlog/#priorizacao","title":"Prioriza\u00e7\u00e3o","text":"

      A Tabela 5 a seguir relaciona os \u00e9picos definidos, as hist\u00f3rias de usu\u00e1rio e suas prioridades [2].

      Hist\u00f3ria de Usu\u00e1rio \u00c9pico Prioridade US01 \u00c9pico 1: Acessibilidade Should US02 \u00c9pico 1: Acessibilidade Must US03 \u00c9pico 4: Acompanhamento Must US04 \u00c9pico 4: Acompanhamento Should US05 \u00c9pico 2: Livro Could US06 \u00c9pico 3: Usu\u00e1rio Should US07 \u00c9pico 3: Usu\u00e1rio Should US08 \u00c9pico 4: Acompanhamento Should US09 \u00c9pico 4: Acompanhamento Could US10 \u00c9pico 3: Usu\u00e1rio Would US11 \u00c9pico 3: Usu\u00e1rio Could US12 \u00c9pico 3: Usu\u00e1rio Could US13 \u00c9pico 3: Usu\u00e1rio Could US14 \u00c9pico 2: Livro Could US15 \u00c9pico 2: Livro Could US16 \u00c9pico 5: Entretenimento Could US17 \u00c9pico 5: Entretenimento Could US18 \u00c9pico 2: Livro Could US19 \u00c9pico 2: Livro Should US20 \u00c9pico 1: Acessibilidade Could

      Tabela 5: Rela\u00e7\u00e3o Hist\u00f3rias de Usu\u00e1rio com os \u00c9picos (Fonte: Rafael Amancio, 2023).

      "},{"location":"modelagem/backlog/#conclusao","title":"Conclus\u00e3o","text":"O Backlog do Produto consegue deixar claro o que precisa ser feito e em qual ordem de prioridade, servindo como um guia para os desenvolvedores no decorrer do projeto. Sua flexibilidade somada com a simplicidade agrega valor ao cliente e facilita a vida dos desenvolvedores, o que o torna um artefato de extrema import\u00e2ncia."},{"location":"modelagem/backlog/#bibliografia","title":"Bibliografia","text":"

      [1] SALES, Andr\u00e9. Modelagem de Requisitos. Dispon\u00edvel em: Aprender 3. Acesso em 04 de novembro de 2023. [2] Equipe 2023.1-VLC . Dispon\u00edvel em: Github. Acesso em 04 de novembro de 2023.

      "},{"location":"modelagem/backlog/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 04/11/2023 04/11/2023 Cria\u00e7\u00e3o do artefato Rafael Amancio Yago Passos e Jefferson Fran\u00e7a 1.1 06/11/2023 06/11/2023 Corre\u00e7\u00f5es e adi\u00e7\u00e3o do v\u00eddeo Rafael Amancio Yago Passos e Jefferson Fran\u00e7a 1.2 06/11/2023 06/11/2023 Adicionada tabela 5 Rafael Amancio -"},{"location":"modelagem/casos_de_uso/","title":"Casos de Uso","text":""},{"location":"modelagem/casos_de_uso/#introducao","title":"Introdu\u00e7\u00e3o","text":"

      Diagramas de casos de uso descrevem o que o sistema faz do ponto de vista do usu\u00e1rio, destacando suas principais funcionalidades e como os usu\u00e1rios interagem com ele. Ele n\u00e3o entra em detalhes t\u00e9cnicos, concentrando-se nas a\u00e7\u00f5es do usu\u00e1rio. Esse artefato \u00e9 frequentemente derivado da especifica\u00e7\u00e3o de requisitos e pode servir como base para o documento de requisitos do sistema.

      "},{"location":"modelagem/casos_de_uso/#componentes-e-simbolos","title":"Componentes e S\u00edmbolos","text":"

      Utilizando o software de diagrama\u00e7\u00e3o LucidChart, elaboramos os diagramas de casos de uso. Para uma melhor compreens\u00e3o dos diagramas apresentados neste artefato, foi desenvolvida uma legenda, Figura 1, que esclarece o significado de cada elemento presente nos diagramas.

      Figura 1 - Legenda diagramas. (Fonte: Jefferson Fran\u00e7a. 2023)

      "},{"location":"modelagem/casos_de_uso/#atores","title":"Atores","text":"

      Em um diagrama de casos de uso, \"atores\" s\u00e3o entidades externas (como usu\u00e1rios ou sistemas) que interagem com o sistema para realizar a\u00e7\u00f5es espec\u00edficas. Eles ajudam a identificar as intera\u00e7\u00f5es essenciais entre o sistema e seu ambiente.

      "},{"location":"modelagem/casos_de_uso/#cenario","title":"Cen\u00e1rio","text":"

      Em um diagrama de casos de uso, um \"cen\u00e1rio\" descreve uma sequ\u00eancia de eventos que ilustra como um ou mais casos de uso espec\u00edficos s\u00e3o executados. Os cen\u00e1rios fornecem detalhes sobre como os atores interagem com o sistema e o que acontece em diferentes etapas de uma funcionalidade, ajudando a compreender o comportamento do sistema a partir da perspectiva do usu\u00e1rio.

      No contexto de um diagrama de casos de uso, \u00e9 essencial que todos os casos de uso descritos estejam inclu\u00eddos nos cen\u00e1rios. Caso contr\u00e1rio, esses casos de uso ser\u00e3o considerados fora do escopo do sistema

      "},{"location":"modelagem/casos_de_uso/#comunicacao","title":"Comunica\u00e7\u00e3o","text":"

      Em um diagrama de casos de uso, \"comunica\u00e7\u00e3o\" se refere \u00e0 forma como os casos de uso interagem.

      • \"Extend\" (estender) descreve cen\u00e1rios opcionais que ampliam um caso de uso base em circunst\u00e2ncias espec\u00edficas.
      • \"Include\" (incluir) representa funcionalidades compartilhadas por v\u00e1rios casos de uso, evitando duplica\u00e7\u00e3o.

      Essas rela\u00e7\u00f5es ajudam a organizar e tornar os diagramas mais eficientes.

      "},{"location":"modelagem/casos_de_uso/#caso-de-uso","title":"Caso de Uso","text":"

      Em um diagrama de casos de uso, um \"caso de uso\" representa uma funcionalidade ou intera\u00e7\u00e3o espec\u00edfica que o sistema oferece aos usu\u00e1rios ou atores externos. Ele descreve o que o sistema faz, sem entrar em detalhes t\u00e9cnicos, e foca nas a\u00e7\u00f5es e intera\u00e7\u00f5es que os atores t\u00eam com o sistema. Os casos de uso ajudam a definir os requisitos funcionais do sistema e a documentar as principais funcionalidades que o sistema deve suportar.

      "},{"location":"modelagem/casos_de_uso/#casos-de-uso_1","title":"Casos de Uso","text":"

      Na Figura 2, \u00e9 poss\u00edvel analisar o diagrama de casos de uso, no qual est\u00e3o representadas as atividades mais relevantes e essenciais do aplicativo. As especifica\u00e7\u00f5es detalhadas dos casos de uso podem ser encontradas nas tabelas de 1 a 5, apresentadas logo abaixo.

      Figura 2 - Diagrama de casos de uso. (Fonte: Jefferson Fran\u00e7a. 2023)

      "},{"location":"modelagem/casos_de_uso/#uc01-adicionar-livro-a-estante","title":"UC01. Adicionar livro \u00e0 estante","text":"UC01 Adicionar Livro \u00e0 Estante Atores Usu\u00e1rio Frequ\u00eancia de uso Alta Descri\u00e7\u00e3o Este caso de uso representa a a\u00e7\u00e3o de um usu\u00e1rio adicionar um livro \u00e0 sua estante pessoal no aplicativo Skoob. A estante \u00e9 onde o usu\u00e1rio pode acompanhar seus livros lidos, em leitura e desejados. Requisitos Pesquisar um livro. Selecionar um livro Etiquetar livro Condi\u00e7\u00e3o de entrada Pesquisar o livro desejado. Fluxo principal Fluxo 1 - FEP1
      1. O usu\u00e1rio pesquisa um livro no aplicativo.
      2. O usu\u00e1rio seleciona o livro desejado na lista de resultados de pesquisa.
      3. O usu\u00e1rio define qual etiqueta ele vai atribuir ao livro.
      4. O usu\u00e1rio escolhe uma etiqueta (por exemplo, \"Lido\", \"Lendo\", \"Desejo Ler\", etc.).
      5. Dependendo da etiqueta escolhida, o sistema pode solicitar informa\u00e7\u00f5es adicionais relacionadas a essa etiqueta. Por exemplo, se a etiqueta for \"Lido\", o sistema pode pedir uma avalia\u00e7\u00e3o ou uma resenha do livro.
      6. O usu\u00e1rio fecha a aba de etiquetagem e o livro \u00e9 adicionado \u00e0 estante. Fluxos alternativos Fluxo 1 - FEA1
        1. O usu\u00e1rio pesquisa um livro no aplicativo.
        2. O usu\u00e1rio seleciona o livro desejado na lista de resultados de pesquisa.
        3. O usu\u00e1rio visualiza os detalhes do livros desejado.
        4. O usu\u00e1rio define qual etiqueta ele vai atribuir ao livro.
        5. O usu\u00e1rio escolhe uma etiqueta (por exemplo, \"Lido\", \"Lendo\", \"Desejo Ler\", etc.).
        6. Dependendo da etiqueta escolhida, o sistema pode solicitar informa\u00e7\u00f5es adicionais relacionadas a essa etiqueta. Por exemplo, se a etiqueta for \"Desejo Ler\", o sistema pergunta quando ele quer ler.
        7. O usu\u00e1rio fecha a aba de etiquetagem e o livro \u00e9 adicionado \u00e0 estante. Fluxos de exce\u00e7\u00e3o Fluxo 1 - FE01
          1. O usu\u00e1rio pesquisa um livro no aplicativo.
          2. O livro n\u00e3o \u00e9 encontrado pelo sistema P\u00f3s condi\u00e7\u00f5es O usu\u00e1rio tem o livro adicionado a sua estante. Data da cria\u00e7\u00e3o 22/10/2023 Rastreabilidade OB02, OB03 e IN08

            Tabela 1: Especifica\u00e7\u00e3o do caso de uso: Adicionar Livro \u00e0 Estante. (Fonte: Jefferson Fran\u00e7a. 2023).

            "},{"location":"modelagem/casos_de_uso/#uc02-escrever-resenha","title":"UC02. Escrever Resenha","text":"UC02 Escrever Resenha Atores Usu\u00e1rio Frequ\u00eancia de uso M\u00e9dia Descri\u00e7\u00e3o Este caso de uso representa a a\u00e7\u00e3o de um usu\u00e1rio escrever uma resenha de um livro j\u00e1 lido. A resenha \u00e9 publicada em seu perfil onde outros usu\u00e1rios podem ter acesso. Requisitos Etiqueta do Livro como \"Lido\". Condi\u00e7\u00e3o de entrada Selecionar livro na estante. Fluxo principal Fluxo 1 - FEP1
            1. O usu\u00e1rio navega at\u00e9 seu perfil.
            2. O usu\u00e1rio acessa sua estante.
            3. O usu\u00e1rio seleciona um livro que possui a etiqueta marcada como \"Lido\".
            4. O usu\u00e1rio clica \"Resenha\".
            5. O usu\u00e1rio clica em \"Comente sua leitura\".
            6. O usu\u00e1rio define um t\u00edtulo da resenha e escreve sua resenha.
            7. O usu\u00e1rio publica sua resenha. Fluxos alternativos Fluxo 1 - FEP1
              1. O usu\u00e1rio pesquisa um livro no aplicativo.
              2. O usu\u00e1rio seleciona o livro desejado na lista de resultados de pesquisa.
              3. O usu\u00e1rio define qual etiqueta ele vai atribuir ao livro.
              4. O usu\u00e1rio define a etiqueta como \"Lido\".
              5. O usu\u00e1rio avalia o livro por meio das estrelas.
              6. O usu\u00e1rio clica em \"Resenha\".
              7. O usu\u00e1rio clica em \"Comente sua leitura\".
              8. O usu\u00e1rio publica sua resenha Fluxos de exce\u00e7\u00e3o Fluxo 1 - FE01
                1. O usu\u00e1rio navega at\u00e9 seu perfil.
                2. O usu\u00e1rio acessa sua estante.
                3. O usu\u00e1rio seleciona um livro que possui a etiqueta marcada como \"Lendo\". P\u00f3s condi\u00e7\u00f5es O usu\u00e1rio tem a resenha do livro publicada em seu perfil Data da cria\u00e7\u00e3o 22/10/2023 Rastreabilidade IN04, IN05, IN01, OB01

                  Tabela 2: Especifica\u00e7\u00e3o do caso de uso: Escrever Resenha. (Fonte: Jefferson Fran\u00e7a. 2023).

                  "},{"location":"modelagem/casos_de_uso/#uc03-adicionar-amigo","title":"UC03. Adicionar Amigo","text":"UC03 Adicionar Amigo Atores Usu\u00e1rio Frequ\u00eancia de uso Alta Descri\u00e7\u00e3o Este caso de uso representa a a\u00e7\u00e3o de um usu\u00e1rio adicionar um amigo a sua lista de amigos. Requisitos Ter perfil cadastrado. Condi\u00e7\u00e3o de entrada Encontrar amigo. Fluxo principal Fluxo 1 - FEP1
                  1. O usu\u00e1rio pesquisa o perfil do amigo.
                  2. O usu\u00e1rio visita o perfil do amigo.
                  3. O usu\u00e1rio clica nos tr\u00eas pontos presentes no perfil do amigo.
                  4. O usu\u00e1rio clica em \"Amigos?\".
                  5. O usu\u00e1rio confirma que deseja enviar uma solicita\u00e7\u00e3o de amizade Fluxos alternativos Fluxo 1 - FEP1
                    1. O usu\u00e1rio encontra o perfil de um amigo na p\u00e1gina inicial.
                    2. O usu\u00e1rio acessa o perfil do amigo.
                    3. O usu\u00e1rio clica nos tr\u00eas pontos presentes no perfil do amigo.
                    4. O usu\u00e1rio clica em \"Amigos?\".
                    5. O usu\u00e1rio confirma que deseja enviar uma solicita\u00e7\u00e3o de amizade Fluxos de exce\u00e7\u00e3o Fluxo 1 - FE01
                      1. O usu\u00e1rio pesquisa o perfil do amigo.
                      2. O usu\u00e1rio digita o nome do amigo errado.
                      3. O usu\u00e1rio n\u00e3o encontra o amigo. P\u00f3s condi\u00e7\u00f5es O usu\u00e1rio tem seu amigo adicionado a sua lista de amigos Data da cria\u00e7\u00e3o 22/10/2023 Rastreabilidade IN01, IN11, IN13

                        Tabela 3: Especifica\u00e7\u00e3o do caso de uso: Adicionar Amigo. (Fonte: Jefferson Fran\u00e7a. 2023).

                        "},{"location":"modelagem/casos_de_uso/#uc04-compartilhar-atividades-de-leitura","title":"UC04. Compartilhar Atividades de Leitura","text":"UC04 Compartilhar Atividades de Leitura Atores Usu\u00e1rio Frequ\u00eancia de uso Alta Descri\u00e7\u00e3o Este caso de uso representa a a\u00e7\u00e3o de um usu\u00e1rio atualizar seu hist\u00f3rico de leitura. Requisitos Ter um livro com a etiqueta \"Lendo\". Condi\u00e7\u00e3o de entrada Etiquetar livro como \"Lendo\". Fluxo principal Fluxo 1 - FP01
                        1. O usu\u00e1rio acessa o seu perfil.
                        2. O usu\u00e1rio acessa sua estante.
                        3. O usu\u00e1rio clica na etiqueta do livro.
                        4. O usu\u00e1rio clica em \"Novo\".
                        5. O usu\u00e1rio informa o que est\u00e1 achando da leitura.
                        6. O usu\u00e1rio informa qual p\u00e1gina ele est\u00e1.
                        7. O usu\u00e1rio salva.
                        8. Atividade de leitura \u00e9 compartilhada no perfil do usu\u00e1rio. Fluxos alternativos Fluxo 1 - FA01
                          1. O usu\u00e1rio pesquisa um livro no aplicativo.
                          2. O usu\u00e1rio seleciona o livro desejado na lista de resultados de pesquisa.
                          3. O usu\u00e1rio define qual etiqueta como \"Lendo\".
                          4. O usu\u00e1rio clica em \"Hist\u00f3rico\".
                          5. O usu\u00e1rio clica em \"Novo\".
                          6. O usu\u00e1rio informa o que est\u00e1 achando do livro.
                          7. O usu\u00e1rio informa em qual p\u00e1gina ele est\u00e1.
                          8. O usu\u00e1rio salva.
                          9. A atividade de leitura \u00e9 compartilhada no perfil do usu\u00e1rio. Fluxos de exce\u00e7\u00e3o N\u00e3o h\u00e1. P\u00f3s condi\u00e7\u00f5es O usu\u00e1rio tem sua atividade de leitura compartilhada Data da cria\u00e7\u00e3o 22/10/2023 Rastreabilidade OB03, IN07

                            Tabela 4: Especifica\u00e7\u00e3o do caso de uso: Compartilhar atividades de leitura. (Fonte: Jefferson Fran\u00e7a. 2023).

                            "},{"location":"modelagem/casos_de_uso/#uc05-comentar-publicacao","title":"UC05. Comentar publica\u00e7\u00e3o","text":"UC05 Comentar publica\u00e7\u00e3o Atores Usu\u00e1rio Frequ\u00eancia de uso Baixa Descri\u00e7\u00e3o Este caso de uso representa a a\u00e7\u00e3o de um usu\u00e1rio comentar a atividade de algum outro usu\u00e1rio. Requisitos Ser cadastrado. Condi\u00e7\u00e3o de entrada Possuir Perfil. Fluxo principal Fluxo 1 - FP01
                            1. O usu\u00e1rio acessa a p\u00e1gina principal.
                            2. O usu\u00e1rio rola a p\u00e1gina at\u00e9 encontrar uma publica\u00e7\u00e3o do seu interesse.
                            3. O usu\u00e1rio clica em comentar.
                            4. O usu\u00e1rio escreve seu coment\u00e1rio.
                            5. O usu\u00e1rio envia o coment\u00e1rio. Fluxos alternativos Fluxo 1 - FA01
                              1. O usu\u00e1rio acessa o perfil do amigo.
                              2. O usu\u00e1rio v\u00ea uma publica\u00e7\u00e3o que gostou.
                              3. O usu\u00e1rio clica em comentar.
                              4. O usu\u00e1rio escreve seu coment\u00e1rio.
                              5. O usu\u00e1rio envia o coment\u00e1rio. Fluxos de exce\u00e7\u00e3o N\u00e3o h\u00e1. P\u00f3s condi\u00e7\u00f5es O usu\u00e1rio tem seu coment\u00e1rio publicado na postagem. Data da cria\u00e7\u00e3o 22/10/2023 Rastreabilidade OB05

                                Tabela 5: Especifica\u00e7\u00e3o do caso de uso: Comentar publica\u00e7\u00e3o. (Fonte: Jefferson Fran\u00e7a. 2023).

                                "},{"location":"modelagem/casos_de_uso/#bibliografia","title":"Bibliografia","text":"

                                [1] DevMedia. O que \u00e9 UML e Diagramas de Caso de Uso: Introdu\u00e7\u00e3o Pr\u00e1tica \u00e0 UML. 2012. DevMedia. Dispon\u00edvel em: https://www.devmedia.com.br/o-que-e-uml-e-diagramas-de-caso-de-uso-introducao-pratica-a-uml/23408. Acessado em 24 de outubro de 2023.

                                [2] SERRANO, Maur\u00edcio; SERRANO, Milene. Requisitos - Aula 11. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692803/mod_resource/content/1/Requisitos%20-%20Aula%20013a.pdf. Acessado em 24 de outubro de 2023.

                                "},{"location":"modelagem/casos_de_uso/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 23/10/2023 24/10/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a Yago Passos 1.1 24/10/2023 24/10/2023 Atualiza\u00e7\u00e3o das tabelas Jefferson Fran\u00e7a Yago Passos"},{"location":"modelagem/cenarios/","title":"Cen\u00e1rios","text":""},{"location":"modelagem/cenarios/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                Cen\u00e1rios s\u00e3o como hist\u00f3rias em evolu\u00e7\u00e3o que descrevem o que acontece em um ambiente espec\u00edfico, destacando as intera\u00e7\u00f5es entre as pessoas envolvidas. Geralmente, essas intera\u00e7\u00f5es envolvem o sistema em desenvolvimento e os participantes externos, como usu\u00e1rios ou outros sistemas. A caracter\u00edstica mais importante de um cen\u00e1rio \u00e9 que ele fornece uma representa\u00e7\u00e3o concreta de uma atividade que os usu\u00e1rios executam ao realizar uma tarefa espec\u00edfica.

                                Esses cen\u00e1rios desempenham um papel crucial na fase de levantamento de requisitos de sistemas de software. Eles s\u00e3o usados para descrever como os usu\u00e1rios ir\u00e3o utilizar o sistema e como o sistema se conecta com outros sistemas externos. Isso ajuda a entender e identificar novos requisitos de forma eficaz.[1].

                                "},{"location":"modelagem/cenarios/#metodologia","title":"Metodologia","text":"

                                A metodologia para criar cen\u00e1rios envolve a identifica\u00e7\u00e3o de partes interessadas, coleta de informa\u00e7\u00f5es, defini\u00e7\u00e3o do escopo, identifica\u00e7\u00e3o de cen\u00e1rios, descri\u00e7\u00e3o detalhada, valida\u00e7\u00e3o, documenta\u00e7\u00e3o e uso. Essa abordagem flex\u00edvel adapta-se \u00e0s necessidades do projeto, com a participa\u00e7\u00e3o ativa das partes interessadas.

                                Os cen\u00e1rios do aplicativo Skoob foram criados com base no texto estruturado, onde emprega uma linguagem natural, baseada na realidade, com a suposi\u00e7\u00e3o de que o uso da linguagem usada pelos usu\u00e1rios da aplica\u00e7\u00e3o, em vez da linguagem t\u00e9cnica do software, torna mais f\u00e1cil para os clientes compreenderem e confirmarem os requisitos [1]. Dessa forma, os mesmos foram desenvolvidos a partir dos requisitos priorizados nas t\u00e9cnicas de Moscow, Three-Level Scale e First Things First. Assim, os cen\u00e1rios ser\u00e3o representados conforme a tabela 1.

                                Elemento Descri\u00e7\u00e3o T\u00edtulo O nome ou assunto central do cen\u00e1rio. Objetivo A raz\u00e3o ou prop\u00f3sito para a exist\u00eancia do cen\u00e1rio. Contexto As condi\u00e7\u00f5es iniciais, o ambiente f\u00edsico e a cronologia do cen\u00e1rio. Recursos Itens inanimados com os quais os participantes interagem. Ator Indiv\u00edduos ou entidades organizacionais envolvidos no cen\u00e1rio. Epis\u00f3dios A\u00e7\u00f5es realizadas pelos atores, muitas vezes com a participa\u00e7\u00e3o de outros, usando os recursos. Restri\u00e7\u00f5es Regras ou limita\u00e7\u00f5es que afetam a execu\u00e7\u00e3o dos epis\u00f3dios. Exce\u00e7\u00e3o Planos ou procedimentos para lidar com situa\u00e7\u00f5es extraordin\u00e1rias ou erros inesperados durante o cen\u00e1rio.

                                Tabela 1: Modelo dos cen\u00e1rios. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#cenarios-encontrados","title":"Cen\u00e1rios encontrados","text":"

                                As tabelas 2 a 13 representam os cen\u00e1rios que foram identificados para o aplicativo Skoob.

                                "},{"location":"modelagem/cenarios/#c01-adicionando-um-livro-a-estante-pessoal","title":"C01: Adicionando um Livro \u00e0 Estante Pessoal","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Adicionar Livro \u00e0 Estante Objetivo Permitir que os usu\u00e1rios organizem e gerenciem seus livros pessoais. Contexto O usu\u00e1rio est\u00e1 logado em sua conta no aplicativo. Ele est\u00e1 em casa, com acesso \u00e0 internet. Recursos Smartphone ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio pesquisa um livro. 2. O usu\u00e1rio encontra o livro desejado. 3. O usu\u00e1rio clica no bot\u00e3o \"Adicionar \u00e0 Estante\". Restri\u00e7\u00f5es O livro deve estar dispon\u00edvel na base de dados do Skoob. Exce\u00e7\u00e3o Se o livro n\u00e3o for encontrado, o sistema exibe uma mensagem de erro.

                                Tabela 2: Cen\u00e1rio 01. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c02-avaliando-um-livro-lido","title":"C02: Avaliando um Livro Lido","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Avaliar Livro Lido Objetivo Permitir que os usu\u00e1rios avaliem e compartilhem suas opini\u00f5es sobre livros lidos. Contexto O usu\u00e1rio, em sua resid\u00eancia, conectado \u00e0 internet, est\u00e1 logado em sua conta e deseja avaliar um livro recentemente lido. Recursos Smartphone ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio acessa sua estante pessoal. 2. O usu\u00e1rio seleciona o livro que deseja avaliar. 3. O usu\u00e1rio atribui uma classifica\u00e7\u00e3o e escreve uma resenha. 4. O usu\u00e1rio confirma a avalia\u00e7\u00e3o. Restri\u00e7\u00f5es O livro deve estar na estante do usu\u00e1rio e marcado como \"lido\". Exce\u00e7\u00e3o Se o usu\u00e1rio tentar avaliar um livro que n\u00e3o esteja marcado como \"lido\" ou n\u00e3o est\u00e1 em sua estante, o sistema exibe uma mensagem de erro.

                                Tabela 3: Cen\u00e1rio 02. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c03-realizando-o-login","title":"C03: Realizando o Login","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Realizar Login Objetivo Permitir que os usu\u00e1rios acessem suas contas no aplicativo. Contexto O usu\u00e1rio, em sua resid\u00eancia, conectado \u00e0 internet, iniciou o aplicativo Skoob e deseja acessar sua conta. Recursos Smartphone ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio abre o aplicativo Skoob. 2. O usu\u00e1rio clica na op\u00e7\u00e3o \"Login\". 3. O usu\u00e1rio insere seu email e senha. 4. O usu\u00e1rio clica no bot\u00e3o \"Entrar\". Restri\u00e7\u00f5es As credenciais de login devem ser v\u00e1lidas. Exce\u00e7\u00e3o Se as credenciais forem inv\u00e1lidas, o sistema exibe uma mensagem de erro.

                                Tabela 4: Cen\u00e1rio 03. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c04-pesquisando-livros","title":"C04: Pesquisando Livros","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Pesquisar Livros Objetivo Permitir que os usu\u00e1rios encontrem livros de seu interesse no aplicativo. Contexto O usu\u00e1rio, em sua resid\u00eancia, conectado \u00e0 internet, est\u00e1 logado em sua conta e deseja encontrar um livro espec\u00edfico. Recursos Smartphone ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio acessa a fun\u00e7\u00e3o de pesquisa no aplicativo. 2. O usu\u00e1rio insere o t\u00edtulo ou autor do livro desejado na barra de pesquisa. 3. O usu\u00e1rio clica no bot\u00e3o \"Pesquisar\". 4. O sistema exibe os resultados da pesquisa. Restri\u00e7\u00f5es A pesquisa deve retornar resultados v\u00e1lidos com base no t\u00edtulo ou autor fornecidos. Exce\u00e7\u00e3o Se nenhum resultado for encontrado, o sistema exibe uma mensagem indicando que nenhum livro corresponde \u00e0 pesquisa.

                                Tabela 5: Cen\u00e1rio 04. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c05-adicionando-comentarios-em-posts","title":"C05: Adicionando Coment\u00e1rios em Posts","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Adicionar Coment\u00e1rios em Posts Objetivo Permitir que os usu\u00e1rios interajam com as postagens, adicionando coment\u00e1rios. Contexto O usu\u00e1rio, em sua resid\u00eancia, conectado \u00e0 internet, est\u00e1 logado em sua conta e deseja interagir com uma postagem. Recursos Smartphone ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio navega pelo feed de postagens. 2. O usu\u00e1rio seleciona uma postagem espec\u00edfica. 3. O usu\u00e1rio escreve seu coment\u00e1rio na caixa de texto. 4. O usu\u00e1rio clica no bot\u00e3o \"Comentar\". Restri\u00e7\u00f5es O coment\u00e1rio deve atender aos crit\u00e9rios de modera\u00e7\u00e3o e pol\u00edticas do aplicativo. Exce\u00e7\u00e3o Se o coment\u00e1rio violar as pol\u00edticas do aplicativo, ele n\u00e3o ser\u00e1 publicado, e o sistema exibir\u00e1 uma mensagem informando a viola\u00e7\u00e3o.

                                Tabela 6: Cen\u00e1rio 05. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c06-recuperando-a-senha","title":"C06: Recuperando a Senha","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Recuperar a Senha Objetivo Permitir que os usu\u00e1rios recuperem sua senha em caso de esquecimento. Contexto O usu\u00e1rio, em sua casa com acesso \u00e0 internet, iniciou o aplicativo Skoob e deseja acessar sua conta, mas esqueceu sua senha de login. Recursos Smartphone ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio acessa a tela de login do aplicativo. 2. O usu\u00e1rio clica no link \"Esqueci minha senha\". 3. O sistema solicita ao usu\u00e1rio seu endere\u00e7o de e-mail registrado. 4. O usu\u00e1rio insere seu endere\u00e7o de e-mail e clica em \"Enviar\". 5. O sistema envia um e-mail com instru\u00e7\u00f5es para redefinir a senha. 6. O usu\u00e1rio acessa sua caixa de entrada de e-mail, segue as instru\u00e7\u00f5es e redefine a senha. 7. O sistema confirma a altera\u00e7\u00e3o bem-sucedida da senha. Restri\u00e7\u00f5es O endere\u00e7o de e-mail fornecido deve estar associado \u00e0 conta do usu\u00e1rio. Exce\u00e7\u00e3o Se o endere\u00e7o de e-mail n\u00e3o estiver associado a nenhuma conta, o sistema informa que a recupera\u00e7\u00e3o de senha n\u00e3o \u00e9 poss\u00edvel.

                                Tabela 7: Cen\u00e1rio 06. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c07-obtendo-o-aplicativo-em-qualquer-sistema-operacional","title":"C07: Obtendo o Aplicativo em Qualquer Sistema Operacional","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Obtendo o Aplicativo em Qualquer Sistema Operacional Objetivo Permitir que os usu\u00e1rios acessem o aplicativo Skoob em qualquer sistema operacional compat\u00edvel. Contexto O usu\u00e1rio deseja baixar o aplicativo Skoob em um dispositivo com qualquer sistema operacional compat\u00edvel (por exemplo, Android, iOS), e possui acesso \u00e0 internet na sua casa. Recursos Dispositivo com sistema operacional compat\u00edvel, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio acessa a loja de aplicativos apropriada para o seu sistema operacional (App Store, Google Play Store). 2. O usu\u00e1rio pesquisa por \"Skoob\" na loja de aplicativos. 3. O usu\u00e1rio localiza o aplicativo Skoob na lista de resultados. 4. O usu\u00e1rio clica no bot\u00e3o \"Baixar\" ou \"Instalar\". 5. O sistema inicia o download e instala\u00e7\u00e3o do aplicativo no dispositivo do usu\u00e1rio. 6. O aplicativo Skoob \u00e9 instalado com sucesso no dispositivo do usu\u00e1rio. Restri\u00e7\u00f5es O dispositivo do usu\u00e1rio deve ser compat\u00edvel com o sistema operacional e atender aos requisitos de hardware e software do aplicativo. Exce\u00e7\u00e3o Se o dispositivo n\u00e3o for compat\u00edvel ou n\u00e3o atender aos requisitos m\u00ednimos, o usu\u00e1rio n\u00e3o conseguir\u00e1 baixar e instalar o aplicativo.

                                Tabela 8: Cen\u00e1rio 07. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c08-criando-uma-meta-de-leitura-para-o-ano","title":"C08: Criando uma Meta de Leitura para o Ano","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Criar uma Meta de Leitura para o Ano Objetivo Permitir que os usu\u00e1rios estabele\u00e7am uma meta de leitura pessoal para o ano. Contexto O usu\u00e1rio, em casa ou em qualquer local com acesso \u00e0 internet, est\u00e1 logado em sua conta no aplicativo Skoob. Recursos Smartphone, tablet ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio pesquisa um livro. 2. O usu\u00e1rio encontra o livro desejado. 3. O usu\u00e1rio define o ano em que deseja ler aquele livro. 5. O sistema confirma a adi\u00e7\u00e3o do livro \u00e0 meta do ano selecionado. Restri\u00e7\u00f5es O ano deve ser atual ou posterior ao que o usu\u00e1rio se encontra. O livro deve estar dispon\u00edvel na base de dados do Skoob. Exce\u00e7\u00e3o Se o usu\u00e1rio tentar criar uma meta para anos anteriores ou se o livro n\u00e3o for encontrado, o sistema exibe uma mensagem de erro.

                                Tabela 9: Cen\u00e1rio 08. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c09-cadastrologin-com-credenciais-do-facebook","title":"C09: Cadastro/Login com Credenciais do Facebook","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Cadastro/Login com Credenciais do Facebook Objetivo Permitir que os usu\u00e1rios cadastrem-se e fa\u00e7am login no aplicativo Skoob usando suas credenciais do Facebook. Contexto O usu\u00e1rio est\u00e1 interessado em se cadastrar ou fazer login no aplicativo Skoob e possui uma conta v\u00e1lida no Facebook. O usu\u00e1rio est\u00e1 em qualquer local com acesso \u00e0 internet. Recursos Dispositivo com acesso \u00e0 internet, conta v\u00e1lida no Facebook. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio acessa a tela de cadastro ou login no aplicativo Skoob. 2. O usu\u00e1rio opta pela op\u00e7\u00e3o \"Cadastrar/Login com o Facebook\". 3. O sistema redireciona o usu\u00e1rio para a p\u00e1gina de login do Facebook. 4. O usu\u00e1rio insere suas credenciais de login do Facebook (ID e senha). 5. O Facebook autentica as credenciais do usu\u00e1rio e autoriza o acesso ao Skoob. 6. O usu\u00e1rio \u00e9 redirecionado de volta ao aplicativo Skoob, agora logado com suas credenciais do Facebook. Restri\u00e7\u00f5es O usu\u00e1rio deve ter uma conta v\u00e1lida no Facebook, e as credenciais do Facebook devem ser corretas. Exce\u00e7\u00e3o Se as credenciais do Facebook estiverem incorretas, o sistema exibe uma mensagem de erro. Se o usu\u00e1rio n\u00e3o tiver uma conta no Facebook, o sistema informa que a op\u00e7\u00e3o n\u00e3o est\u00e1 dispon\u00edvel para ele.

                                Tabela 10: Cen\u00e1rio 09. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c10-visualizando-informacoes-gerais-de-um-livro-cadastrado","title":"C10: Visualizando Informa\u00e7\u00f5es Gerais de um Livro Cadastrado","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Visualizar Informa\u00e7\u00f5es Gerais de um Livro Cadastrado Objetivo Permitir que os usu\u00e1rios acessem e visualizem informa\u00e7\u00f5es detalhadas sobre um livro cadastrado, como sinopse, autor, quantidade de p\u00e1ginas, etc. Contexto O usu\u00e1rio est\u00e1 logado em sua conta no aplicativo Skoob, com acesso \u00e0 internet, e deseja obter informa\u00e7\u00f5es detalhadas sobre um livro espec\u00edfico. Recursos Smartphone, tablet ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio pesquisa um livro espec\u00edfico no aplicativo Skoob. 2. O usu\u00e1rio encontra o livro desejado nos resultados da pesquisa. 3. O usu\u00e1rio clica no t\u00edtulo do livro para acessar a p\u00e1gina de detalhes do livro. 4. O sistema exibe informa\u00e7\u00f5es gerais, como sinopse, autor, quantidade de p\u00e1ginas e outras informa\u00e7\u00f5es relevantes sobre o livro. Restri\u00e7\u00f5es O livro deve estar cadastrado na base de dados do Skoob, e o usu\u00e1rio deve ter permiss\u00e3o para acessar suas informa\u00e7\u00f5es. Exce\u00e7\u00e3o Se o livro n\u00e3o estiver cadastrado na base de dados ou o usu\u00e1rio n\u00e3o tiver permiss\u00e3o para acessar as informa\u00e7\u00f5es, o sistema exibe uma mensagem indicando a indisponibilidade dos detalhes.

                                Tabela 11: Cen\u00e1rio 10. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c11-acessando-a-aba-de-lancamentos-de-livros","title":"C11: Acessando a Aba de Lan\u00e7amentos de Livros","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Acessar a Aba de Lan\u00e7amentos de Livros Objetivo Permitir que os usu\u00e1rios acessem a se\u00e7\u00e3o dedicada aos lan\u00e7amentos de livros no aplicativo Skoob. Contexto O usu\u00e1rio est\u00e1 logado em sua conta no aplicativo Skoob, com acesso \u00e0 internet, e deseja explorar os lan\u00e7amentos mais recentes de livros. Recursos Smartphone, tablet ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio abre o aplicativo Skoob. 2. O usu\u00e1rio navega pela barra de menu ou guias na interface do aplicativo. 3. O usu\u00e1rio seleciona a guia \"Lan\u00e7amentos\" ou \"Novos Livros\". 4. O sistema exibe uma lista dos livros mais recentes lan\u00e7ados no mercado. Restri\u00e7\u00f5es A guia de \"Lan\u00e7amentos\" deve estar dispon\u00edvel e ser acess\u00edvel para o usu\u00e1rio. Exce\u00e7\u00e3o Se a guia de \"Lan\u00e7amentos\" n\u00e3o estiver dispon\u00edvel ou o usu\u00e1rio n\u00e3o tiver permiss\u00e3o para acess\u00e1-la, o sistema informa que a fun\u00e7\u00e3o n\u00e3o est\u00e1 dispon\u00edvel para ele.

                                Tabela 12: Cen\u00e1rio 11. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#c12-utilizando-o-faq-para-guiar-usuarios-nas-funcionalidades","title":"C12: Utilizando o FAQ para Guiar Usu\u00e1rios nas Funcionalidades","text":"Elemento Descri\u00e7\u00e3o T\u00edtulo Utilizar o FAQ para Guiar Usu\u00e1rios nas Funcionalidades Objetivo Permitir que os usu\u00e1rios acessem o FAQ (Frequently Asked Questions - Perguntas Frequentes) no aplicativo Skoob para obter informa\u00e7\u00f5es e orienta\u00e7\u00f5es sobre as funcionalidades do sistema. Contexto O usu\u00e1rio est\u00e1 logado em sua conta no aplicativo Skoob, com acesso \u00e0 internet, e deseja obter informa\u00e7\u00f5es sobre como usar as funcionalidades do aplicativo. Recursos Smartphone, tablet ou computador, conex\u00e3o com a internet. Ator Usu\u00e1rio do Skoob. Epis\u00f3dios 1. O usu\u00e1rio abre o aplicativo Skoob. 2. O usu\u00e1rio navega pela barra de menu ou guias na interface do aplicativo. 3. O usu\u00e1rio localiza a guia \"FAQ\" ou \"Perguntas Frequentes\" e clica nela. 4. O sistema exibe uma lista de perguntas frequentes e respostas relacionadas \u00e0s funcionalidades do aplicativo. 5. O usu\u00e1rio seleciona uma pergunta que corresponde \u00e0 sua d\u00favida ou interesse. 6. O sistema exibe a resposta detalhada \u00e0 pergunta do usu\u00e1rio. Restri\u00e7\u00f5es A guia \"FAQ\" deve estar dispon\u00edvel e ser acess\u00edvel para o usu\u00e1rio. As perguntas frequentes devem estar atualizadas e relevantes. Exce\u00e7\u00e3o Se a guia \"FAQ\" n\u00e3o estiver dispon\u00edvel ou o usu\u00e1rio n\u00e3o encontrar a resposta desejada, ele pode optar por entrar em contato com o suporte ao cliente para obter ajuda adicional.

                                Tabela 13: Cen\u00e1rio 12. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"modelagem/cenarios/#conclusao","title":"Conclus\u00e3o","text":"

                                A cria\u00e7\u00e3o de cen\u00e1rios desempenha um papel fundamental na engenharia de requisitos e no desenvolvimento de software, concentrando-se nas intera\u00e7\u00f5es entre os usu\u00e1rios e o sistema em cen\u00e1rios do mundo real. Isso assegura que os requisitos sejam capturados de forma clara e compreens\u00edvel. Al\u00e9m disso, os cen\u00e1rios promovem uma compreens\u00e3o compartilhada, garantindo que todas as partes envolvidas no projeto, incluindo desenvolvedores e partes interessadas, possam se comunicar de forma eficaz e compreender as funcionalidades do sistema.

                                Uma das principais vantagens dos cen\u00e1rios \u00e9 a detec\u00e7\u00e3o antecipada de problemas. Ao elaborar cen\u00e1rios, \u00e9 poss\u00edvel identificar requisitos conflitantes, ausentes ou impratic\u00e1veis antes do in\u00edcio do desenvolvimento, economizando tempo e recursos. Al\u00e9m disso, a cria\u00e7\u00e3o de cen\u00e1rios fornece uma documenta\u00e7\u00e3o clara e viva para o sistema, o que \u00e9 essencial para o desenvolvimento e manuten\u00e7\u00e3o cont\u00ednua do software.

                                "},{"location":"modelagem/cenarios/#bibliografia","title":"Bibliografia","text":"

                                [1] CEN\u00c1RIOS: Rastreamento de Cen\u00e1rios. [S. l.]. Dispon\u00edvel em: http://www-di.inf.puc-rio.br/~julio/bnncap3.pdf. [2] VLC. Cen\u00e1rios. Grupo VLC da disciplina Requisitos de Software, dispon\u00edvel em: https://requisitos-de-software.github.io/2023.1-VLC/#/modelagem/cenarios. Acesso em: 16 de outubro de 2023.

                                "},{"location":"modelagem/cenarios/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 11/10/2023 Cria\u00e7\u00e3o do documento Sha\u00edne Ana Caroline 1.1 11/10/2023 Adi\u00e7\u00e3o de dois cen\u00e1rios Sha\u00edne Ana Caroline 1.2 12/10/2023 Adi\u00e7\u00e3o dos cen\u00e1rios 04 e 05 Sha\u00edne Ana Caroline 1.3 16/10/2023 Atualizando \"contexto\" dos cen\u00e1rios Sha\u00edne Ana Caroline 1.4 18/10/2023 Adiciona novos cen\u00e1rios Sha\u00edne Ana Caroline 1.5 23/10/2023 Adiciona novos cen\u00e1rios Sha\u00edne Todos 1.6 23/10/2023 Corre\u00e7\u00e3o de cen\u00e1rios Ana Caroline Sha\u00edne 1.7 24/10/2023 Adiciona conclus\u00e3o Sha\u00edne Todos"},{"location":"modelagem/especificacao_suplementar/","title":"Especifica\u00e7\u00e3o Suplementar","text":""},{"location":"modelagem/especificacao_suplementar/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A especifica\u00e7\u00e3o suplementar exerce a identifica\u00e7\u00e3o de requisitos do sistema que n\u00e3o foram diretamente abordados na modelagem de casos de uso e nos requisitos elicitados, de forma que ao integrar ambas as perspectivas, seja poss\u00edvel definir de maneira abrangente todos os requisitos do sistema.

                                Esse m\u00e9todo fundamenta-se nos seguintes crit\u00e9rios:

                                • Funcionalidade
                                • Usabilidade
                                • Confiabilidade
                                • Desempenho
                                • Suportabilidade
                                "},{"location":"modelagem/especificacao_suplementar/#metodologia","title":"Metodologia","text":"

                                Com base no t\u00f3pico anterior, o modelo adotado para este artefato \u00e9 o FURPS+, uma metodologia que estabelece requisitos de um sistema dentro dos cinco crit\u00e9rios mencionados anteriormente.

                                • F - Functionality: Engloba os aspectos funcionais do sistema, detalhados nos casos de uso. Esses requisitos est\u00e3o relacionados \u00e0s funcionalidades espec\u00edficas que o sistema deve oferecer para atender \u00e0s necessidades dos usu\u00e1rios.
                                • U - Usability: Refere-se \u00e0 facilidade com que os usu\u00e1rios podem interagir e realizar suas tarefas por meio do software. Isso inclui a interface do usu\u00e1rio, a navegabilidade e a experi\u00eancia geral de uso.
                                • R - Reliability: Avalia o qu\u00e3o confi\u00e1vel o software foi projetado para ser, ou seja, sua capacidade de operar sem falhas ou interrup\u00e7\u00f5es inesperadas. Isso envolve quest\u00f5es de robustez e toler\u00e2ncia a falhas.
                                • P - Performance: Considera o desempenho do software em termos de velocidade, efici\u00eancia e capacidade de resposta. Isso pode incluir m\u00e9tricas como tempo de resposta, taxa de transfer\u00eancia e uso de recursos.
                                • S - Supportability: Engloba requisitos relacionados \u00e0 manutenibilidade, adaptabilidade, internacionaliza\u00e7\u00e3o, portabilidade e outros aspectos relevantes para a manuten\u00e7\u00e3o e escalabilidade do sistema.
                                • +: Este s\u00edmbolo representa requisitos n\u00e3o funcionais adicionais que n\u00e3o se enquadram nos pilares listados. Estes podem incluir aspectos de design, implementa\u00e7\u00e3o, interface e considera\u00e7\u00f5es f\u00edsicas.
                                "},{"location":"modelagem/especificacao_suplementar/#functionality-funcionalidades","title":"Functionality (Funcionalidades)","text":"

                                Os requisitos funcionais s\u00e3o explicitados de forma detalhada nos casos de uso e nos requisitos elicitados, oferecendo uma vis\u00e3o concreta das opera\u00e7\u00f5es e intera\u00e7\u00f5es do sistema com seus usu\u00e1rios e outros elementos do ambiente.

                                "},{"location":"modelagem/especificacao_suplementar/#usability-usabilidade","title":"Usability (Usabilidade)","text":"

                                Engloba a capacidade do sistema de ser facilmente compreendido e utilizado pelos usu\u00e1rios, independentemente de sua familiaridade pr\u00e9via com a plataforma, al\u00e9m de se estender \u00e0 efic\u00e1cia, efici\u00eancia e satisfa\u00e7\u00e3o geral dos mesmos.

                                "},{"location":"modelagem/especificacao_suplementar/#facilidade-de-uso","title":"Facilidade de Uso","text":"

                                O Skoob \u00e9 intuitivo e de f\u00e1cil navega\u00e7\u00e3o. Suas opera\u00e7\u00f5es s\u00e3o simples e diretas, proporcionando uma experi\u00eancia de uso sem complica\u00e7\u00f5es. Para realizar a\u00e7\u00f5es principais, como adicionar um livro \u00e0 estante, s\u00e3o necess\u00e1rios no m\u00e1ximo seis cliques.

                                "},{"location":"modelagem/especificacao_suplementar/#disponibilidade","title":"Disponibilidade","text":"

                                O Skoob requer uma conex\u00e3o com a internet para funcionar, o que pode ser um ponto de considera\u00e7\u00e3o para usu\u00e1rios em locais com acesso inst\u00e1vel ou nenhum acesso \u00e0 rede.

                                "},{"location":"modelagem/especificacao_suplementar/#interface","title":"Interface","text":"

                                A interface do Skoob foi projetada para ser amig\u00e1vel e eficiente, al\u00e9m de promover a intera\u00e7\u00e3o entre os usu\u00e1rios. Ela facilita a realiza\u00e7\u00e3o das principais atividades, como buscar livros, adicion\u00e1-los \u00e0 sua estante e registrar hist\u00f3ricos de leitura.

                                "},{"location":"modelagem/especificacao_suplementar/#reliability-confiabilidade","title":"Reliability (Confiabilidade)","text":"

                                A confiabilidade est\u00e1 relacionada \u00e0s medidas adotadas para garantir a seguran\u00e7a e integridade dos dados dos usu\u00e1rios dentro do sistema.

                                "},{"location":"modelagem/especificacao_suplementar/#garantia-de-seguranca-minima-no-armazenamento-de-dados","title":"Garantia de seguran\u00e7a m\u00ednima no armazenamento de dados","text":"

                                O Skoob prioriza a seguran\u00e7a dos dados dos usu\u00e1rios com um sistema que n\u00e3o mant\u00e9m informa\u00e7\u00f5es pessoais armazenadas. Elas s\u00e3o acessadas apenas durante a utiliza\u00e7\u00e3o do aplicativo, em total conformidade com as pol\u00edticas de privacidade da plataforma. Essa pr\u00e1tica \u00e9 rigorosamente alinhada ao termo de uso do aplicativo, refor\u00e7ando a seguran\u00e7a m\u00ednima garantida.

                                "},{"location":"modelagem/especificacao_suplementar/#garantia-de-disponibilidade","title":"Garantia de disponibilidade","text":"

                                O Skoob \u00e9 projetado para funcionar de maneira cont\u00ednua, 24 horas por dia e sete dias por semana, desde que o usu\u00e1rio disponha de conex\u00e3o est\u00e1vel \u00e0 internet.

                                "},{"location":"modelagem/especificacao_suplementar/#performance-desempenho","title":"Performance (Desempenho)","text":""},{"location":"modelagem/especificacao_suplementar/#armazenamento","title":"Armazenamento","text":"

                                Para instalar o aplicativo Skoob, o usu\u00e1rio precisar\u00e1 de aproximadamente 30MB de espa\u00e7o dispon\u00edvel em seu dispositivo no caso do sistema operacional ser Android e 60MB no caso do IOS.

                                "},{"location":"modelagem/especificacao_suplementar/#tempo-de-resposta","title":"Tempo de resposta","text":"

                                O Skoob deve ter um tempo de comunica\u00e7\u00e3o \u00e1gil, com o dispositivo m\u00f3vel, de no m\u00e1ximo 7 segundos. Isso significa uma experi\u00eancia fluida e r\u00e1pida ao utilizar o aplicativo.

                                "},{"location":"modelagem/especificacao_suplementar/#supportability-suportabilidade","title":"Supportability (Suportabilidade)","text":"

                                A suportabilidade engloba uma s\u00e9rie de aspectos t\u00e9cnicos cruciais, tais como manutenibilidade, adaptabilidade, internacionaliza\u00e7\u00e3o, portabilidade, al\u00e9m de outros elementos relevantes.

                                "},{"location":"modelagem/especificacao_suplementar/#sistemas-operacionais-os","title":"Sistemas operacionais (OS)","text":"

                                O aplicativo Skoob \u00e9 compat\u00edvel com os seguintes sistemas operacionais:

                                • Para dispositivos iOS: Requer iOS 11.0 ou posterior (App Store)[2].
                                • Para dispositivos Android: Requer Android 6.0 ou superior (Google Play)[3].

                                O aplicativo Skoob pode ser instalado em uma ampla variedade de dispositivos, incluindo:

                                • iPhone
                                • iPad
                                • iPod touch
                                • Apple TV
                                • Celulares Android, entre outros.
                                "},{"location":"modelagem/especificacao_suplementar/#idiomas","title":"Idiomas","text":"

                                O Skoob oferece suporte aos idiomas:

                                • Portugu\u00eas (Brasil)
                                • Ingl\u00eas
                                "},{"location":"modelagem/especificacao_suplementar/#_1","title":"+","text":"

                                Esta categoria abrange uma variedade de requisitos, incluindo design, implementa\u00e7\u00e3o e considera\u00e7\u00f5es f\u00edsicas.

                                "},{"location":"modelagem/especificacao_suplementar/#design","title":"Design","text":"

                                O aplicativo Skoob segue uma paleta de cores composta predominantemente de azul e branco. Os usu\u00e1rios t\u00eam a op\u00e7\u00e3o de escolher entre diversos temas, incluindo o tema padr\u00e3o claro, que faz uso do azul e do branco definido na paleta de cores. Al\u00e9m disso, o Skoob oferece op\u00e7\u00f5es de temas escuros, como Dark, Dark Blue, Dark Pink e Dark Gray, para atender \u00e0s prefer\u00eancias individuais dos usu\u00e1rios. Para os que buscam uma est\u00e9tica mais nost\u00e1lgica, o tema Old Paper tamb\u00e9m est\u00e1 dispon\u00edvel. Essa variedade de temas permite uma personaliza\u00e7\u00e3o flex\u00edvel, proporcionando uma experi\u00eancia \u00fanica a cada usu\u00e1rio.

                                "},{"location":"modelagem/especificacao_suplementar/#conclusao","title":"Conclus\u00e3o","text":"

                                Atrav\u00e9s desta Especifica\u00e7\u00e3o Suplementar, foram identificados e detalhados alguns requisitos, acerca dos cinco crit\u00e9rios definidos. Com base na metodologia FURPS+, foi poss\u00edvel estabelecer uma vis\u00e3o clara desses requisitos, viabilizando que o aplicativo atenda \u00e0s espectativas do usu\u00e1rio, proporcionando uma experi\u00eancia s\u00f3lida e confi\u00e1vel.

                                "},{"location":"modelagem/especificacao_suplementar/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9. Modelagem de Requisitos. Dispon\u00edvel em: Aprender 3. Acesso em 23 de outubro de 2023. [2] SKOOB IOS. Dispon\u00edvel em: App Store. Acesso em: 23 de Outubro de 2023. [3] SKOOB ANDROID. Dispon\u00edvel em: Google Play. Acesso em: 23 de Outubro de 2023.

                                "},{"location":"modelagem/especificacao_suplementar/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 23/10/2023 24/10/2023 Cria\u00e7\u00e3o do artefato Ana Rocha Rafael Amancio 1.1 25/10/2023 25/10/2023 Adicionando a conclus\u00e3o do artefato Ana Rocha Todos"},{"location":"modelagem/lexico/","title":"L\u00e9xicos","text":""},{"location":"modelagem/lexico/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                LAL \u00e9 o termo usado para descri\u00e7\u00e3o de termos de forma ampliada da Linguagem [1]. E \u00e9 assim que a t\u00e9cnica de l\u00e9xicos visa estabelecer uma linguagem comum entre os envolvidos no desenvolvimento do software, eliminando ambiguidades e garantindo uma compreens\u00e3o unificada dos requisitos. Ela faz isso descrevendo s\u00edmbolos de uma linguagem: o principal objetivo a ser perseguido pelos Engenheiros de Requisitos \u00e9 identificar palavras ou frases espec\u00edficas do meio social da aplica\u00e7\u00e3o que est\u00e1 sendo estudada [1].

                                "},{"location":"modelagem/lexico/#metodologia","title":"Metodologia","text":"

                                A t\u00e9cnica envolve a cria\u00e7\u00e3o de um gloss\u00e1rio que define os termos espec\u00edficos relacionados ao dom\u00ednio do problema. Esse gloss\u00e1rio \u00e9 formado por l\u00e9xicos e dividido entre os tipos: Verbo, Objeto e Estado. Al\u00e9m disso, os L\u00e9xicos tamb\u00e9m ser\u00e3o compostos por: No\u00e7\u00e3o(\u00f5es), Impacto(s) e zero ou v\u00e1rios Sin\u00f4nimos. A tabela 1 exemplifica como os l\u00e9xicos ser\u00e3o descritos.

                                Nome No\u00e7\u00e3o Impacto Sin\u00f4nimo(s) Classifica\u00e7\u00e3o L\u00e9xicos Relacionados Principais Requisitos Relacionados Elaborado por: Nome do L\u00e9xico 1 S\u00edmbolos Descri\u00e7\u00e3o do efeito Sin\u00f4nimo(s) Verbo/Objeto/Estado C\u00f3digos dos L\u00e9xicos C\u00f3digos dos Requisitos Nome do Autor Nome do L\u00e9xico 2 S\u00edmbolos Descri\u00e7\u00e3o do efeito Sin\u00f4nimo(s) Verbo/Objeto/Estado C\u00f3digos dos L\u00e9xicos C\u00f3digos dos Requisitos Nome do Autor Nome do L\u00e9xico 3 S\u00edmbolos Descri\u00e7\u00e3o do efeito Sin\u00f4nimo(s) Verbo/Objeto/Estado C\u00f3digos dos L\u00e9xicos C\u00f3digos dos Requisitos Nome do Autor

                                Tabela 1: Exemplo de L\u00e9xico. (Fonte: Yago Passos, 2023).

                                A constru\u00e7\u00e3o de cada l\u00e9xico foi poss\u00edvel a partir da an\u00e1lise dos requisitos elicitados na se\u00e7\u00e3o de Elicita\u00e7\u00e3o. O membro Yago Passos, com aux\u00edlio da Ana Rocha, adquiriram os l\u00e9xicos feitos pelos membros da equipe na atividade proposta pelo professor para presen\u00e7a do dia 17/10. Ent\u00e3o, reuniram-se e discutiram a elabora\u00e7\u00e3o dos gloss\u00e1rios vistos a seguir.

                                "},{"location":"modelagem/lexico/#descricao-dos-lexicos","title":"Descri\u00e7\u00e3o dos L\u00e9xicos","text":"

                                Abaixo, a Tabela 2 lista os l\u00e9xicos de estado. Esses referem-se aos termos que descrevem as condi\u00e7\u00f5es, estados ou propriedades do sistema ou dos elementos nele contidos.

                                C\u00f3digo Nome No\u00e7\u00e3o Impacto Sin\u00f4nimo(s) Classifica\u00e7\u00e3o L\u00e9xicos Relacionados Principais Requisitos Relacionados Elaborado por: LE1 Lido Indica que um livro foi lido Mostra as realiza\u00e7\u00f5es do usu\u00e1rio Conclu\u00eddo Estado LV2 , LO1 e LO4 OB03 Sha\u00edne Oliveira LE2 Lendo Indica que um livro est\u00e1 sendo lido Mostra as realiza\u00e7\u00f5es do usu\u00e1rio Em andamento Estado LV2, LO1 e LO4 OB03 Yago Passos LE3 Quero ler Indica o desejo de ler um livro Mostra as realiza\u00e7\u00f5es do usu\u00e1rio Meta Estado LV2, LO1 e LO4 OB03 Yago Passos LE4 Relendo Indica que um livro est\u00e1 sendo lido novamente Mostra as realiza\u00e7\u00f5es do usu\u00e1rio Em andamento Estado LV2, LO1 e LO4 OB03 Yago Passos LE5 Abandonei Indica que o usu\u00e1rio desistiu da leitura de um livro Mostra as realiza\u00e7\u00f5es do usu\u00e1rio Desisti Estado LV2, LO1 e LO4 OB03 Yago Passos LE6 Usu\u00e1rio Online Indica que o usu\u00e1rio est\u00e1 logado em sua conta Usu\u00e1rio tem acesso total ao aplicativo e suas funcionalidades Ativo Estado - - Sha\u00edne Oliveira

                                Tabela 2: Gloss\u00e1rio dos l\u00e9xicos de estado. (Fonte: Yago Passos, 2023).

                                Abaixo, a Tabela 3 lista os l\u00e9xicos de objeto. Esses englobam os termos que representam os elementos tang\u00edveis ou virtuais do sistema com os quais os usu\u00e1rios interagem

                                C\u00f3digo Nome No\u00e7\u00e3o Impacto Sin\u00f4nimo(s) Classifica\u00e7\u00e3o L\u00e9xicos Relacionados Principais Requisitos Relacionados Elaborado por: LO1 Livro Principal objeto do aplicativo Centro das atividades no Skoob Obra, publica\u00e7\u00e3o, revista, HQ, mang\u00e1, conto Objeto LO4, LO5, LV1, LV2, LV4 OB02, BS02-BS05, IN03-IN10 Sha\u00edne Oliveira LO2 Usu\u00e1rio Pessoa que utiliza o aplicativo. Leitores e Autores. Intera\u00e7\u00f5es com funcionalidades da aplica\u00e7\u00e3o, intera\u00e7\u00e3o entre usu\u00e1rios, possibilidade de se encontrar dentro da plataforma Leitor, amigo, seguidor Objeto Todos Todos Yago Passos LO3 Lista de desejados Composta de livros que o usu\u00e1rio deseja fazer aquisi\u00e7\u00e3o Visualiza\u00e7\u00e3o e compartilhamento da lista com o intuito de indicar quais livros o usu\u00e1rio deseja ter posse - Objeto LO1, LO2, LE3 IN09 E IN10 Yago Passos LO4 Estante Composta por livros adicionados pelo usu\u00e1rio Controle e visualiza\u00e7\u00e3o dos livros - Objeto LO1, LO2, LV2 IN08 E BS12 Ana Rocha LO5 Autor Autores de livros Acesso \u00e0 informa\u00e7\u00f5es sobre o autor e outros livros escritos pelo mesmo Escritor Objeto LO1, LV1 BS04 E BS06 Ana Rocha

                                Tabela 3: Gloss\u00e1rio dos l\u00e9xicos de objeto. (Fonte: Yago Passos, 2023).

                                Abaixo, a Tabela 4 lista os l\u00e9xicos de verbo. Esses consistem em palavras ou frases que descrevem a\u00e7\u00f5es que podem ser executadas pelos usu\u00e1rios ou pelo sistema.

                                C\u00f3digo Nome No\u00e7\u00e3o Impacto Sin\u00f4nimo(s) Classifica\u00e7\u00e3o L\u00e9xicos Relacionados Principais Requisitos Relacionados Elaborado por: LV1 Pesquisar O usu\u00e1rio deseja encontrar livros, autores ou usu\u00e1rios Facilita a descoberta de conte\u00fado no app Buscar Verbo LO1, LO2, LO5 OB02 e IN11 Sha\u00edne Oliveira LV2 Definir status do livro O usu\u00e1rio etiqueta um livro Permite que outras a\u00e7\u00f5es sejam executadas dependendo do status do livro Etiquetar Verbo LE1, LE2, LE3, LE4, LE5 OB03 e BS03 Ana Rocha LV3 Atribuir nota O usu\u00e1rio avalia um livro com o status \"lido\" Permite que outros usu\u00e1rio vejam a nota do livro Avaliar Verbo LO1 e LE1 IN05 e IN14 Yago Passos LV4 Escrever resenha O usu\u00e1rio escreve uma resenha sobre um livro com o status \"lido\" Permite que outros usu\u00e1rio vejam a resenha do livro Resenhar Verbo LO1 e LE1 IN04 Yago Passos LV5 Adicionar amigos O usu\u00e1rio inicia uma amizade com outro usu\u00e1rio Permite que ambos interajam, pelo feed e chat - Verbo LO2 IN13 Yago Passos LV6 Registrar hist\u00f3rico de leitura O usu\u00e1rio est\u00e1 lendo um livro e deseja registrar em que p\u00e1gina do livro se encontra Permite acompanhar o progresso de leitura - Verbo LO1, LE2 e LE4 IN06 Ana Rocha

                                Tabela 4: Gloss\u00e1rio dos l\u00e9xicos de verbo. (Fonte: Yago Passos, 2023).

                                "},{"location":"modelagem/lexico/#conclusao","title":"Conclus\u00e3o","text":"

                                O artefato apresentado destaca a import\u00e2ncia da t\u00e9cnica de l\u00e9xicos na engenharia de requisitos, onde a cria\u00e7\u00e3o de um gloss\u00e1rio com termos espec\u00edficos relacionados ao dom\u00ednio do problema ajuda a eliminar ambiguidades e promover uma compreens\u00e3o unificada dos requisitos do sistema. A categoriza\u00e7\u00e3o dos l\u00e9xicos em verbos, objetos e estados contribui para uma vis\u00e3o abrangente das a\u00e7\u00f5es, entidades e condi\u00e7\u00f5es no contexto da aplica\u00e7\u00e3o, facilitando a comunica\u00e7\u00e3o entre os membros da equipe de desenvolvimento. Al\u00e9m disso, a precis\u00e3o e organiza\u00e7\u00e3o na constru\u00e7\u00e3o dos l\u00e9xicos asseguram clareza e coer\u00eancia no entendimento dos termos, evitando mal-entendidos e garantindo uma vis\u00e3o compartilhada do sistema e suas funcionalidades. Em \u00faltima an\u00e1lise, a t\u00e9cnica de l\u00e9xicos desempenha um papel crucial no sucesso do projeto de software, estabelecendo uma base s\u00f3lida para o desenvolvimento eficaz e garantindo uma compreens\u00e3o clara e unificada dos requisitos entre todos os envolvidos.

                                "},{"location":"modelagem/lexico/#bibliografia","title":"Bibliografia","text":"

                                [1] SERRANO, Milene; SERRANO, Maur\u00edcio. Requisitos - Aula 10. Local: UnB-FGA, Gama, DF. Apresenta\u00e7\u00e3o de Power Point. Dispon\u00edvel em: Requisitos - Aula 10. Acesso em: 18 de outubro de 2023.

                                "},{"location":"modelagem/lexico/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 18/10/2023 18/10/2023 Elabora\u00e7\u00e3o do Artefato Yago Passos 1.1 24/10/2023 24/10/2023 Cria\u00e7\u00e3o dos L\u00e9xicos Ana Rocha 1.2 24/10/2023 24/10/2023 Adicionada se\u00e7\u00e3o de conclus\u00e3o Rafael Amancio 1.3 26/10/2023 30/10/2023 Refatorando L\u00e9xicos e corrigindo l\u00e9xico de usu\u00e1rios Yago Passos 1.4 31/10/2023 25/11/2023 Implementando novo sistema de revis\u00e3o Yago Passos"},{"location":"modelagem/lexico/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 24/10/2023 1.0 Revis\u00e3o est\u00e1tica Ana Rocha 24/10/2023 1.1 Elabora\u00e7\u00e3o em pares Yago Passos 24/10/2023 1.2 Revis\u00e3o est\u00e1tica Yago Passos"},{"location":"modelagem/nfr_framework/","title":"NFR framework","text":""},{"location":"modelagem/nfr_framework/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                NFR \u00e9 um framework conceitual que se baseia no Softgoal Interdependency Graph (SIG) como modelo principal. Seu principal enfoque est\u00e1 nos requisitos N\u00e3o-Funcionais do aplicativo. No Framework, softgoals s\u00e3o empregados como metas de car\u00e1ter vago, desprovidas de crit\u00e9rios de satisfa\u00e7\u00e3o claramente definidos. Estes softgoals s\u00e3o usados para representar os Requisitos N\u00e3o-Funcionais e podem se interconectar, demonstrando como um softgoal influencia outro. [1]

                                "},{"location":"modelagem/nfr_framework/#requisitos-nao-funcionais-elicitados","title":"Requisitos N\u00e3o Funcionais Elicitados","text":"

                                Abaixo, na tabela 1, est\u00e3o os requisitos n\u00e3o funcionais elicitados pela equipe.

                                ID Requisito Fonte RNF01 A senha deve conter no m\u00ednimo um n\u00famero uma letra mai\u00fascula e um caracter especial Introspec\u00e7\u00e3o RNF02 Deve ser poss\u00edvel fazer cadastro/login com as credenciais do facebook Introspec\u00e7\u00e3o RNF03 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional Introspec\u00e7\u00e3o RNF04 Os dados do usu\u00e1rio devem ser guardados de forma eficaz, impendindo o vazamento dos mesmos Introspec\u00e7\u00e3o RNF05 O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usu\u00e1rios compartilhar conte\u00fado Brainstorming RNF06 O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resolu\u00e7\u00f5es Introspec\u00e7\u00e3o Tabela 1: Requisitos N\u00e3o Funcionais Elicitados, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#softgoals","title":"Softgoals","text":"

                                Os softgoals s\u00e3o separados em 3 tipos: [1]

                                • NFR Softgoal: Um requisito n\u00e3o-funcional que \u00e9 avaliado durante a an\u00e1lise para determinar sua inclus\u00e3o ou exclus\u00e3o no projeto. Esses requisitos s\u00e3o considerados como crit\u00e9rios de qualidade e s\u00e3o avaliados para assegurar que o produto final atenda aos padr\u00f5es desejados, servindo como indicadores de qualidade.

                                • Softgoal de Operacionaliza\u00e7\u00e3o: S\u00e3o funcionalidades que t\u00eam o papel de tornar concretas as caracter\u00edsticas abstratas. Em outras palavras, elas s\u00e3o respons\u00e1veis por converter os requisitos n\u00e3o-funcionais em funcionalidades tang\u00edveis que podem ser implementadas no sistema, representando a materializa\u00e7\u00e3o das caracter\u00edsticas abstratas em elementos mensur\u00e1veis.

                                • Claim Softgoal (Arfima\u00e7\u00e3o): \u00c9 uma nota\u00e7\u00e3o que pode ser incorporada ao modelo para argumentar pontos espec\u00edficos da modelagem em linguagem natural. Essa nota\u00e7\u00e3o permite expressar ideias ou justificativas relacionadas ao modelo, auxiliando na explica\u00e7\u00e3o do racioc\u00ednio por tr\u00e1s de determinadas escolhas de design.

                                Al\u00e9m disso, cada um desses softgoals pode ser detalhado ou subdividido em sub-requisitos, utilizando as seguintes t\u00e9cnicas:

                                • Decomposi\u00e7\u00e3o de Softgoal NFR: Essa t\u00e9cnica permite uma melhor organiza\u00e7\u00e3o e compreens\u00e3o dos softgoals NFR, desdobrindo-os em componentes mais espec\u00edficos.

                                • Decomposi\u00e7\u00e3o de Operacionaliza\u00e7\u00e3o: Essa t\u00e9cnica viabiliza a defini\u00e7\u00e3o de uma solu\u00e7\u00e3o geral, desagregando-a em casos mais espec\u00edficos para uma compreens\u00e3o mais detalhada.

                                • Decomposi\u00e7\u00e3o de Afirma\u00e7\u00e3o (Claims): Essa t\u00e9cnica possibilita a reafirma\u00e7\u00e3o ou nega\u00e7\u00e3o de justificativas espec\u00edficas do projeto, oferecendo uma abordagem mais detalhada da argumenta\u00e7\u00e3o.

                                • Prioriza\u00e7\u00e3o: Esta t\u00e9cnica envolve a subdivis\u00e3o de um softgoal em outro softgoal do mesmo tipo e t\u00f3pico, mas com uma prioridade associada, permitindo uma hierarquia de import\u00e2ncia entre os requisitos. [1]

                                Esse refinamento s\u00e3o especifica\u00e7\u00f5es dos softgoals e s\u00e3o contribui\u00e7\u00f5es e existe 10 tipos. Esses s\u00e3o:

                                Contribui\u00e7\u00e3o Descri\u00e7\u00e3o Nota\u00e7\u00e3o MAKE FILHO com contribui\u00e7\u00e3o t\u00e3o positiva a ponto de satisfazer o PAI sob a perspectiva dos envolvidos. ++ HELP FILHO com contribui\u00e7\u00e3o positiva parcial, que sozinho n\u00e3o chega a satisfazer o PAI sob a perspectiva dos envolvidos. + UNKNOWN FILHO n\u00e3o afeta o PAI. ? HURT FILHO com contribui\u00e7\u00e3o negativa parcial, que sozinho n\u00e3o chega a negar o PAI sob a perspectiva dos envolvidos. - BREAK FILHO com contribui\u00e7\u00e3o t\u00e3o negativa a ponto de negar o PAI sob a perspectiva dos envolvidos -- SOME + FILHO com contribui\u00e7\u00e3o positiva, cuja intensidade n\u00e3o se pode determinar. SOME + SOME - FILHO com contribui\u00e7\u00e3o negativa, cuja intensidade n\u00e3o se pode determinar SOME - AND \u201cPai\u201d \u00e9 satisfeito se somente todos os \u201cfilhos\u201d forem satisfeitos sob a perspectiva dos envolvidos AND OR \u201cPai\u201d \u00e9 satisfeito se somente um dos \u201cfilhos\u201d \u00e9 satisfeito sob a perspectiva dos envolvidos OR EQUAL Ambos compartilham o mesmo label = Tabela 2: Contribui\u00e7\u00f5es, Autor(a): Sha\u00edne"},{"location":"modelagem/nfr_framework/#legendas","title":"Legendas","text":""},{"location":"modelagem/nfr_framework/#softgoals_1","title":"Softgoals","text":"Figura 1: Legenda Softgoals, Fonte: Sha\u00edne"},{"location":"modelagem/nfr_framework/#rotulos","title":"R\u00f3tulos","text":"Figura 2: R\u00f3tulos, Fonte: NFR4ES - Um Cat\u00e1logo de Requisitos N\u00e3o-Funcionais para Sistemas Embarcados. [1]

                                Descri\u00e7\u00e3o: [1]

                                • Satisfeito: Reflete que um requisito n\u00e3o funcional tem um impacto positivo na realiza\u00e7\u00e3o de outro requisito, resultando em contentamento.
                                • Fracamente satisfeito: Indica uma rela\u00e7\u00e3o de impacto positivo, por\u00e9m menos pronunciada do que a condi\u00e7\u00e3o de \"satisfeito\".
                                • Negado: Demonstra que um requisito n\u00e3o funcional prejudica adversamente outro requisito, invalidando ou contradizendo sua realiza\u00e7\u00e3o.
                                • Fracamente negado: Similar \u00e0 nota\u00e7\u00e3o \"negado\", mas com uma rela\u00e7\u00e3o de nega\u00e7\u00e3o mais suave.
                                • Conflitante: Indica uma rela\u00e7\u00e3o de conflito entre requisitos n\u00e3o funcionais, sugerindo que esses requisitos possuem aspectos tanto positivos quanto negativos que entram em choque.
                                • Indeterminado: Refere-se a uma rela\u00e7\u00e3o incerta ou desconhecida entre requisitos n\u00e3o funcionais, geralmente quando h\u00e1 informa\u00e7\u00f5es insuficientes para determinar o impacto de um requisito sobre o outro.
                                "},{"location":"modelagem/nfr_framework/#nfr","title":"NFR","text":"

                                Foram feitos 3 tipos de NFR: Portabilidade, Interoperabilidade e Seguran\u00e7a.

                                "},{"location":"modelagem/nfr_framework/#nfr-1-portabilidade","title":"NFR-1 Portabilidade","text":""},{"location":"modelagem/nfr_framework/#requisito-de-portabilidade","title":"Requisito de Portabilidade","text":"ID Requisito RNF01 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional RNF06 O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resolu\u00e7\u00f5es Tabela 3: Requisito de Portabilidade, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#sem-propagacao","title":"Sem Propaga\u00e7\u00e3o","text":"Figura 3: NFR-1 Portabilidade, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#com-propagacao","title":"Com Propaga\u00e7\u00e3o","text":"Figura 4: NFR-1 Portabilidade com Propaga\u00e7\u00e3o, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#cartoes-de-especificacao","title":"Cart\u00f5es de Especifica\u00e7\u00e3o","text":"Classifica\u00e7\u00e3o Multiplataforma / Portabilidade Descri\u00e7\u00e3o O aplicativo deve ser acess\u00edvel em diversos sistemas operacionais. Justificativa O aplicativo deve estar dispon\u00edvel em v\u00e1rias plataformas, como iOS e Android, para garantir que os usu\u00e1rios possam acessar suas notas em qualquer dispositivo. Origem do requisito RNF01 Crit\u00e9rio de aceita\u00e7\u00e3o Recurso financeiro disponivel. Prioridade Alta prioridade. Fonte: TLS Conflito Custo elevado. Historia 01 de nov. 2023 Tabela 4: Cart\u00e3o de Especifica\u00e7\u00e3o - Sistema Operacional, Autor(a): Sha\u00edne, 2023 Classifica\u00e7\u00e3o Multiplataforma / Portabilidade Descri\u00e7\u00e3o O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resolu\u00e7\u00f5es, proporcionando uma experi\u00eancia de uso consistente e de alta qualidade em dispositivos de diferentes modelos e fabricantes. Justificativa A adapta\u00e7\u00e3o a diferentes tamanhos de tela e resolu\u00e7\u00f5es \u00e9 essencial para garantir uma experi\u00eancia de usu\u00e1rio satisfat\u00f3ria, desde smartphones at\u00e9 tablets. Isso permite que os usu\u00e1rios desfrutem do Skoob em seus dispositivos preferidos, sem comprometer a usabilidade. Origem do requisito RNF06 Crit\u00e9rio de aceita\u00e7\u00e3o O aplicativo deve ser testado em uma variedade de dispositivos com diferentes tamanhos de tela e resolu\u00e7\u00f5es, e n\u00e3o deve apresentar problemas de usabilidade ou layout em nenhum deles. Prioridade M\u00e9dia prioridade. Fonte: TLS Conflito Pode haver desafios t\u00e9cnicos na implementa\u00e7\u00e3o da adapta\u00e7\u00e3o a diferentes tamanhos de tela, especialmente em dispositivos muito pequenos ou com resolu\u00e7\u00f5es muito baixas. No entanto, a prioridade \u00e9 garantir uma experi\u00eancia consistente em todas as plataformas. Historia 04 de nov. 2023 Tabela 5: Cart\u00e3o de Especifica\u00e7\u00e3o - Portabilidade, Autor(a): Ana, 2023"},{"location":"modelagem/nfr_framework/#nfr-2-interoperabilidade","title":"NFR-2 Interoperabilidade","text":""},{"location":"modelagem/nfr_framework/#requisito-de-interoperabilidade","title":"Requisito de Interoperabilidade","text":"ID Requisito RNF02 Deve ser poss\u00edvel fazer cadastro/login com as credenciais do Facebook RNF05 O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usu\u00e1rios compartilhar conte\u00fado. Tabela 6: Requisito de Interoperabilidade, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#sem-propagacao_1","title":"Sem Propaga\u00e7\u00e3o","text":"Figura 5: NFR-2 Interoperabilidade, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#com-propagacao_1","title":"Com Propaga\u00e7\u00e3o","text":"Figura 6: NFR-2 Interoperabilidade com Propaga\u00e7\u00e3o, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#cartoes-de-especificacao_1","title":"Cart\u00f5es de Especifica\u00e7\u00e3o","text":"Classifica\u00e7\u00e3o Interoperabilidade Descri\u00e7\u00e3o As senhas dos usu\u00e1rios devem atender aos seguintes crit\u00e9rios: conter no m\u00ednimo um n\u00famero, pelo menos uma letra mai\u00fascula e pelo menos um caractere especial. Justificativa Esses crit\u00e9rios de senha s\u00e3o necess\u00e1rios para aumentar a seguran\u00e7a das contas de usu\u00e1rio, tornando mais dif\u00edcil para os invasores adivinharem ou quebrarem senhas. Garantir que esse requisito seja atendido \u00e9 essencial para proteger a privacidade e os dados dos usu\u00e1rios. Origem do requisito RNF03 Crit\u00e9rio de aceita\u00e7\u00e3o O sistema deve validar todas as senhas inseridas pelos usu\u00e1rios para garantir que elas atendam aos crit\u00e9rios de pelo menos um n\u00famero, uma letra mai\u00fascula e um caractere especial. Prioridade Alta prioridade. Fonte: TLS Conflito Pode haver resist\u00eancia dos usu\u00e1rios que n\u00e3o est\u00e3o acostumados a criar senhas mais complexas. No entanto, a seguran\u00e7a \u00e9 uma prioridade. Historia 01 de nov. 2023 Tabela 7: Cart\u00e3o de Especifica\u00e7\u00e3o - Interoperabilidade, Autor(a): Sha\u00edne, 2023 Classifica\u00e7\u00e3o Interoperabilidade Descri\u00e7\u00e3o O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usu\u00e1rios compartilhar conte\u00fado, de forma integrada e sem problemas. Justificativa Esse requisito visa melhorar a experi\u00eancia do usu\u00e1rio, permitindo que eles compartilhem informa\u00e7\u00f5es sobre livros e interajam com outras plataformas sociais. Isso aumentar\u00e1 a visibilidade do Skoob e promover\u00e1 a intera\u00e7\u00e3o dos usu\u00e1rios. Origem do requisito RNF05 Crit\u00e9rio de aceita\u00e7\u00e3o O sistema deve permitir que os usu\u00e1rios compartilhem conte\u00fado do Skoob em outras plataformas de redes sociais, como Facebook, Twitter, Instagram, entre outras. Prioridade M\u00e9dia prioridade. Fonte: TLS Conflito Pode haver desafios t\u00e9cnicos na integra\u00e7\u00e3o com diferentes plataformas de redes sociais, mas os benef\u00edcios de interoperabilidade s\u00e3o significativos. Historia 04 de nov. 2023 Tabela 8: Cart\u00e3o de Especifica\u00e7\u00e3o - Interoperabilidade, Autor(a): Ana, 2023"},{"location":"modelagem/nfr_framework/#nfr-3-seguranca","title":"NFR-3 Seguran\u00e7a","text":""},{"location":"modelagem/nfr_framework/#requisito-de-seguranca","title":"Requisito de Seguran\u00e7a","text":"ID Requisito RNF03 A senha deve conter no m\u00ednimo um n\u00famero uma letra mai\u00fascula e um caracter especial RNF04 Os dados do usu\u00e1rio devem ser guardados de forma eficaz, impendindo o vazamento dos mesmos Tabela 9: Requisito de Seguran\u00e7a, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#sem-propagacao_2","title":"Sem Propaga\u00e7\u00e3o","text":"Figura 7: NFR-3 Seguran\u00e7a, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#com-propagacao_2","title":"Com Propaga\u00e7\u00e3o","text":"Figura 8: NFR-3 Seguran\u00e7a com Propaga\u00e7\u00e3o, Autor(a): Sha\u00edne e Ana, 2023"},{"location":"modelagem/nfr_framework/#cartoes-de-especificacao_2","title":"Cart\u00f5es de Especifica\u00e7\u00e3o","text":"Classifica\u00e7\u00e3o Seguran\u00e7a Descri\u00e7\u00e3o As senhas dos usu\u00e1rios devem atender aos seguintes crit\u00e9rios: conter no m\u00ednimo um n\u00famero, pelo menos uma letra mai\u00fascula e pelo menos um caractere especial. Justificativa Esses crit\u00e9rios de senha s\u00e3o essenciais para aumentar a seguran\u00e7a das contas de usu\u00e1rio. A inclus\u00e3o de um n\u00famero, uma letra mai\u00fascula e um caractere especial torna as senhas mais robustas, reduzindo o risco de viola\u00e7\u00f5es de seguran\u00e7a e acessos n\u00e3o autorizados. Origem do requisito RNF03 Crit\u00e9rio de aceita\u00e7\u00e3o O sistema deve validar todas as senhas inseridas pelos usu\u00e1rios para garantir que elas atendam aos crit\u00e9rios de pelo menos um n\u00famero, uma letra mai\u00fascula e um caractere especial. Prioridade Alta prioridade. Fonte: TLS Conflito Alguns usu\u00e1rios podem achar esse requisito de senha complexo ou dif\u00edcil de lembrar, mas a seguran\u00e7a \u00e9 fundamental. Historia 01 de nov. 2023 Tabela 10: Cart\u00e3o de Especifica\u00e7\u00e3o - Seguran\u00e7a, Autor(a): Sha\u00edne, 2023 Classifica\u00e7\u00e3o Seguran\u00e7a Descri\u00e7\u00e3o Os dados do usu\u00e1rio devem ser armazenados de forma eficaz para evitar qualquer vazamento de informa\u00e7\u00f5es. Justificativa Garantir a efic\u00e1cia no armazenamento dos dados \u00e9 crucial para proteger a privacidade e a seguran\u00e7a dos usu\u00e1rios, prevenindo vazamentos indesejados. Origem do requisito RNF04 Crit\u00e9rio de aceita\u00e7\u00e3o O sistema deve implementar pr\u00e1ticas de seguran\u00e7a robustas para garantir que os dados do usu\u00e1rio sejam protegidos contra acessos n\u00e3o autorizados ou vazamentos. Prioridade Alta prioridade. Fonte: TLS Conflito Medidas de seguran\u00e7a adicionais podem aumentar a complexidade do sistema, mas s\u00e3o essenciais para proteger a integridade dos dados. Historia 04 de nov. 2023 Tabela 11: Cart\u00e3o de Especifica\u00e7\u00e3o - Seguran\u00e7a, Autor(a): Ana, 2023"},{"location":"modelagem/nfr_framework/#conclusao","title":"Conclus\u00e3o","text":"

                                Com a aplica\u00e7\u00e3o do NFR framework ao Skoob, atrav\u00e9s da an\u00e1lise dos softgoals, foi estabelecida uma hierarquia de prioridades, garantindo que os aspectos como seguran\u00e7a, portabilidade e interoperabilidade sejam devidamente atendidos acerca dos requisitos n\u00e3o funcionais, permitindo a defini\u00e7\u00e3o de crit\u00e9rios de aceita\u00e7\u00e3o espec\u00edficos para cada requisito, assegurando que as metas de qualidade identificadas na Especifica\u00e7\u00e3o Suplementar sejam alcan\u00e7adas de forma eficaz, resultando em uma experi\u00eancia mais segura e eficiente para os usu\u00e1rios.

                                "},{"location":"modelagem/nfr_framework/#referencias","title":"Refer\u00eancias","text":"

                                [1] SILVA, Reinaldo Ant\u00f4nio. NFR4ES: Um Cat\u00e1logo de Requisitos N\u00e3o-Funcionais para Sistemas Embarcados. Centro de Inform\u00e1tica UFPE, Recife, 2019. Dispon\u00edvel em: Aprender. Acesso em: 1 nov. 2023. [2] Requisitos N\u00e3o-Funcionais. [s.l.: s.n., s.d.]. Dispon\u00edvel em: Requirements Engineering Introduction. Acesso em: 1 nov. 2023.

                                "},{"location":"modelagem/nfr_framework/#historico-de-versao","title":"Hist\u00f3rico de vers\u00e3o","text":"Vers\u00e3o Data Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 01/11/2023 02/11/2023 Cria\u00e7\u00e3o da documenta\u00e7\u00e3o Sha\u00edne 1.1 02/11/2023 03/11/2023 Atualiza\u00e7\u00e3o e corre\u00e7\u00e3o Ana Caroline 1.2 04/11/2023 05/11/2023 Incrementando o artefato Ana Caroline"},{"location":"modelagem/nfr_framework/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 02/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Ana Rocha 06/11/2023 1.2 Revis\u00e3o por inspe\u00e7\u00e3o Sha\u00edne"},{"location":"modelagem/user_story/","title":"Hist\u00f3rias de Usu\u00e1rio","text":""},{"location":"modelagem/user_story/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                As hist\u00f3rias de usu\u00e1rio desempenham um papel fundamental na metodologia \u00e1gil de desenvolvimento de software, oferecendo uma maneira eficaz de capturar requisitos funcionais e prioridades do ponto de vista do usu\u00e1rio.

                                Essas hist\u00f3rias proporcionam uma abordagem centrada no usu\u00e1rio, permitindo que equipes multidisciplinares compreendam e atendam \u00e0s necessidades dos usu\u00e1rios. Ao definir casos de uso espec\u00edficos e crit\u00e9rios de aceita\u00e7\u00e3o claros, as hist\u00f3rias de usu\u00e1rio fornecem uma base s\u00f3lida para a cria\u00e7\u00e3o de produtos e sistemas que atendam \u00e0s expectativas dos usu\u00e1rios finais.

                                "},{"location":"modelagem/user_story/#metodologia","title":"Metodologia","text":"

                                As hist\u00f3rias de usu\u00e1rio foram desenvolvidas tendo em vista a elabora\u00e7\u00e3o do backlog, onde os avaliadores Jefferson, Rafael e Yago discutiram e tematizaram os requisitos para encontrar seus respectivos \u00c9picos e, assim, seguir modelagem \u00e1gil. A grava\u00e7\u00e3o desta reuni\u00e3o est\u00e1 presente aqui.

                                Na elabora\u00e7\u00e3o de cada hist\u00f3ria de usu\u00e1rio, mantemos sua estrutura objetiva, curta e detalhada, exemplificada da seguinte forma:

                                • ID: Identifica\u00e7\u00e3o da hist\u00f3ria (USXX)
                                • Origem: Requisito(s) que originaram a hist\u00f3ra
                                • Descri\u00e7\u00e3o: Eu, como papel, desejo descri\u00e7\u00e3o da funcionalidade desejada
                                • Motivo: O porque dessa hist\u00f3ria
                                • Crit\u00e9rios de aceita\u00e7\u00e3o:
                                  • Lista dos crit\u00e9rios de aceita\u00e7\u00e3o
                                • Validez: O usu\u00e1rio validou a hist\u00f3ria

                                Ap\u00f3s a especifica\u00e7\u00e3o de cada hist\u00f3ria, o avaliador Yago se reuniu com o usu\u00e1rio Thales Vieira, que consentiu com sua participa\u00e7\u00e3o no projeto, para validar as hist\u00f3rias elaboradas. Dessa forma, a tabela 1 demonstra os pap\u00e9is de cada avaliador, bem como do entrevistado, na elabora\u00e7\u00e3o do Backlog e das hist\u00f3rias de usu\u00e1rio.

                                Fun\u00e7\u00e3o Participante Scrum Master Jefferson Fran\u00e7a Desenvolvedor Rafael Fernandes Desenvolvedor Yago Milagres Product Owner Thales Vieira

                                Tabela 1: Rela\u00e7\u00e3o dos pap\u00e9is do Scrum. (Fonte: Yago Passos, 2023).

                                "},{"location":"modelagem/user_story/#nome-da-historia","title":"Nome da Hist\u00f3ria","text":""},{"location":"modelagem/user_story/#especificacao-das-historias-de-usuario","title":"Especifica\u00e7\u00e3o das hist\u00f3rias de usu\u00e1rio","text":"
                                • ID: US01
                                • Origem: IN17
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo fazer login na plataforma utilizando minhas credenciais do Google ou do Facebook para acessar facilmente minha conta.
                                • Motivo: Para simplificar o processo de login e garantir acesso r\u00e1pido \u00e0 minha conta.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve ser poss\u00edvel conectar a conta do Facebook \u00e0 conta da plataforma.
                                  • Deve ser poss\u00edvel conectar a conta do Google \u00e0 conta da plataforma.
                                  • As informa\u00e7\u00f5es do perfil devem ser sincronizadas corretamente durante o login.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US02
                                • Origem: IN02
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo ter a op\u00e7\u00e3o de recuperar minha senha por meio de um processo de redefini\u00e7\u00e3o de senha seguro e eficiente.
                                • Motivo: Para garantir o acesso cont\u00ednuo \u00e0 minha conta, mesmo em casos de senha esquecida ou perdida.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver um processo de verifica\u00e7\u00e3o de identidade seguro para redefinir a senha.
                                  • O usu\u00e1rio deve receber instru\u00e7\u00f5es claras sobre como redefinir a senha com sucesso.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US03
                                • Origem: IN08
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo adicionar um livro \u00e0 minha estante e atribuir um status espec\u00edfico, como \"Lido\", \"Lendo\", \"Quero ler\", \"Abandonei\" ou \"Relendo\".
                                • Motivo: Para organizar e compartilhar minha lista de leituras e experi\u00eancias liter\u00e1rias.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve ser poss\u00edvel atribuir um dos estados especificados a cada livro adicionado \u00e0 estante.
                                  • A atualiza\u00e7\u00e3o do status do livro na estante deve refletir corretamente na interface do usu\u00e1rio.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US04
                                • Origem: IN06
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo filtrar os livros com base em sua avalia\u00e7\u00e3o de nota para encontrar facilmente os livros mais bem avaliados.
                                • Motivo: Para descobrir rapidamente livros bem avaliados e de alta qualidade para leitura.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma op\u00e7\u00e3o clara para filtrar os livros com base na avalia\u00e7\u00e3o de nota.
                                  • Os resultados devem ser precisos e refletir as classifica\u00e7\u00f5es correspondentes.
                                  • Deve ser poss\u00edvel agregar 2 ou mais especifica\u00e7\u00f5es em uma s\u00f3 filtragem
                                  • Os resultados da pesquisa devem ser atualizados em tempo real a medida que o usu\u00e1rio ajusta o filtro
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US05
                                • Origem: IN15
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo filtrar livros por categorias espec\u00edficas, como g\u00eanero liter\u00e1rio, para encontrar obras que correspondam aos meus interesses.
                                • Motivo: Para explorar facilmente livros de g\u00eaneros espec\u00edficos que se alinhem com meus gostos e prefer\u00eancias.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve ser poss\u00edvel selecionar diferentes categorias para filtrar os livros.
                                  • Os resultados da filtragem devem ser precisos e abranger as categorias escolhidas.
                                  • Deve ser poss\u00edvel agregar 2 ou mais especifica\u00e7\u00f5es em uma s\u00f3 filtragem
                                  • Os resultados da pesquisa devem ser atualizados em tempo real a medida que o usu\u00e1rio ajusta o filtro
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US06
                                • Origem: IN04, IN05
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo escrever resenhas detalhadas dos livros que j\u00e1 li para compartilhar minhas opini\u00f5es e experi\u00eancias com outros leitores.
                                • Motivo: Para contribuir com a comunidade de leitores e ajudar outros usu\u00e1rios a descobrir novos livros com base em minha avalia\u00e7\u00e3o e an\u00e1lise.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma op\u00e7\u00e3o clara para escrever e publicar resenhas na plataforma.
                                  • Os usu\u00e1rios devem ter a capacidade de editar ou excluir suas resenhas conforme necess\u00e1rio.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US07
                                • Origem: IN05
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo atribuir notas aos livros que li para expressar minha avalia\u00e7\u00e3o e classifica\u00e7\u00e3o pessoal.
                                • Motivo: Para fornecer uma avalia\u00e7\u00e3o quantitativa dos livros e compartilhar minhas prefer\u00eancias com outros usu\u00e1rios.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver um sistema de classifica\u00e7\u00e3o clara, como o uso de estrelas, para avaliar os livros.
                                  • Os usu\u00e1rios devem ser capazes de visualizar a m\u00e9dia de classifica\u00e7\u00f5es dadas por outros usu\u00e1rios.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US08
                                • Origem: IN06
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo que os dias de leitura sejam contabilizados quando estou relendo um livro, para manter o registro preciso do meu progresso de leitura.
                                • Motivo: Para monitorar o tempo dedicado \u00e0 leitura de um livro espec\u00edfico, mesmo durante a re-leitura.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • O sistema deve registrar com precis\u00e3o os dias de leitura ao reler um livro espec\u00edfico.
                                  • Os usu\u00e1rios devem ser capazes de visualizar o hist\u00f3rico de leitura detalhado para cada livro.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US09
                                • Origem: IN09
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo criar uma lista de livros desejados para registrar os livros que desejo ler no futuro.
                                • Motivo: Para manter um registro organizado dos livros que despertaram meu interesse e que pretendo ler posteriormente.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma op\u00e7\u00e3o clara para adicionar livros \u00e0 lista de desejos.
                                  • Os usu\u00e1rios devem poder acessar e gerenciar facilmente a lista de livros desejados.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US10
                                • Origem: IN10
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo poder compartilhar minha lista de livros desejados com outros usu\u00e1rios para recomendar livros e descobrir novas leituras em potencial.
                                • Motivo: Para compartilhar e explorar interesses liter\u00e1rios com amigos e a comunidade de leitores.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve ser poss\u00edvel compartilhar a lista de livros desejados por meio de links ou convites espec\u00edficos.
                                  • Os usu\u00e1rios devem ter op\u00e7\u00f5es de privacidade para controlar quem pode acessar sua lista de livros desejados.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US11
                                • Origem: IN11
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo pesquisar outros usu\u00e1rios na plataforma para descobrir amigos com interesses liter\u00e1rios semelhantes.
                                • Motivo: Para expandir minha rede de contatos e interagir com outros leitores na comunidade.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma barra de pesquisa intuitiva para procurar outros usu\u00e1rios pelo nome ou nome de usu\u00e1rio.
                                  • Os resultados da pesquisa devem ser precisos e abranger os crit\u00e9rios de pesquisa especificados.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US12
                                • Origem: IN12
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo visualizar e analisar o perfil de outros usu\u00e1rios para conhecer suas prefer\u00eancias liter\u00e1rias, estantes de livros e atividades recentes.
                                • Motivo: Para entender melhor os interesses e atividades de leitura de outros usu\u00e1rios na plataforma.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve ser poss\u00edvel acessar o perfil de outros usu\u00e1rios com facilidade a partir de suas p\u00e1ginas de resultados de pesquisa.
                                  • As informa\u00e7\u00f5es do perfil do usu\u00e1rio devem ser apresentadas de forma clara e organizada.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US13
                                • Origem: IN13
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo adicionar outros usu\u00e1rios como amigos na plataforma para acompanhar suas atualiza\u00e7\u00f5es e interagir com suas atividades liter\u00e1rias.
                                • Motivo: Para fortalecer conex\u00f5es sociais com outros leitores e compartilhar experi\u00eancias liter\u00e1rias em uma comunidade engajada.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma op\u00e7\u00e3o clara para adicionar outros usu\u00e1rios como amigos.
                                  • Os usu\u00e1rios devem receber notifica\u00e7\u00f5es sobre novas solicita\u00e7\u00f5es de amizade e confirma\u00e7\u00f5es de amizade.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US14
                                • Origem: BS09
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo acessar o ranking semanal/mensal de livros mais bem classificados na plataforma para descobrir novas obras populares e aclamadas.
                                • Motivo: Para ficar atualizado com os livros mais populares e bem avaliados entre a comunidade de leitores.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma se\u00e7\u00e3o na plataforma dedicada a rankings de livros mais bem classificados.
                                  • Os rankings devem ser atualizados automaticamente em uma base semanal e mensal.
                                  • Os rankings devem exibir os t\u00edtulos dos livros, capas, autores e a quantidade de leituras ou visualiza\u00e7\u00f5es.
                                  • Os usu\u00e1rios devem poder clicar em um livro no ranking para obter mais informa\u00e7\u00f5es e acessar sua p\u00e1gina de detalhes.
                                  • Os livros devem ser classificados com base em crit\u00e9rios como classifica\u00e7\u00e3o m\u00e9dia dos usu\u00e1rios, n\u00famero de avalia\u00e7\u00f5es ou popularidade.
                                  • A interface do usu\u00e1rio deve ser responsiva e funcionar bem em diferentes dispositivos, como computadores e dispositivos m\u00f3veis.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US15
                                • Origem: BS10
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo acessar o ranking semanal/mensal de livros mais lidos na plataforma para descobrir tend\u00eancias de leitura e obras populares entre os usu\u00e1rios.
                                • Motivo: Para explorar novos livros com base em sua popularidade e n\u00famero de leituras registradas.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma se\u00e7\u00e3o na plataforma dedicada a rankings de livros mais lidos .
                                  • Os rankings devem ser atualizados automaticamente em uma base semanal e mensal.
                                  • Os rankings devem exibir os t\u00edtulos dos livros, capas, autores e a quantidade de leituras ou visualiza\u00e7\u00f5es.
                                  • Os usu\u00e1rios devem poder clicar em um livro no ranking para obter mais informa\u00e7\u00f5es e acessar sua p\u00e1gina de detalhes.
                                  • Os livros devem ser classificados com base em crit\u00e9rios como classifica\u00e7\u00e3o m\u00e9dia dos usu\u00e1rios, n\u00famero de avalia\u00e7\u00f5es ou popularidade.
                                  • A interface do usu\u00e1rio deve ser responsiva e funcionar bem em diferentes dispositivos, como computadores e dispositivos m\u00f3veis.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US16
                                • Origem: BS11
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo poder postar fotos e/ou v\u00eddeos em formato de \"stories\" para compartilhar momentos liter\u00e1rios e interagir com outros usu\u00e1rios de maneira envolvente.
                                • Motivo: Para compartilhar experi\u00eancias de leitura de forma visual e estimular a intera\u00e7\u00e3o social na plataforma.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma op\u00e7\u00e3o clara para criar e publicar \"stories\" na plataforma.
                                  • Os usu\u00e1rios devem ter a capacidade de visualizar e interagir com as hist\u00f3rias publicadas por outros usu\u00e1rios.
                                  • O usu\u00e1rio deve poder capturar ou selecionar fotos e/ou v\u00eddeos da galeria do dispositivo para adicionar \u00e0 postagem
                                  • As postagens no formato 'stories' devem ser vis\u00edveis apenas por um per\u00edodo limitado (por exemplo, 24 horas)
                                  • O usu\u00e1rio deve poder adicionar uma legenda ou descri\u00e7\u00e3o \u00e0 postagem
                                  • Deve haver uma op\u00e7\u00e3o para o usu\u00e1rio compartilhar a postagem em suas hist\u00f3rias ou com um grupo espec\u00edfico de seguidores
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US17
                                • Origem: BS14
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo criar desafios de leitura personalizados e convidar meus amigos para participar, incentivando a intera\u00e7\u00e3o e o engajamento em atividades liter\u00e1rias divertidas.
                                • Motivo: Para promover intera\u00e7\u00f5es sociais e incentivar a leitura entre amigos na plataforma.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve ser poss\u00edvel convidar amigos da plataforma para participar do desafio por meio de notifica\u00e7\u00f5es ou convites
                                  • Deve haver uma op\u00e7\u00e3o para o usu\u00e1rio criar um desafio personalizado a partir da sua conta
                                  • Deve ser poss\u00edvel criar desafios personalizados com instru\u00e7\u00f5es e metas espec\u00edficas.
                                  • Os usu\u00e1rios devem receber notifica\u00e7\u00f5es sobre os convites para participar de desafios e atualiza\u00e7\u00f5es do progresso do desafio.
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US18
                                • Origem: BS18
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo receber recomenda\u00e7\u00f5es de livros personalizadas com base nos meus interesses liter\u00e1rios e atividades de leitura anteriores.
                                • Motivo: Para descobrir novos livros que correspondam aos meus gostos e prefer\u00eancias pessoais.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • O sistema deve analisar com precis\u00e3o minhas prefer\u00eancias liter\u00e1rias e atividades de leitura para gerar recomenda\u00e7\u00f5es relevantes.
                                  • Os usu\u00e1rios devem receber regularmente atualiza\u00e7\u00f5es e notifica\u00e7\u00f5es sobre novas recomenda\u00e7\u00f5es de livros com base em seus perfis.
                                  • As recomenda\u00e7\u00f5es de livros devem ser geradas com base nas informa\u00e7\u00f5es coletadas e em algoritmos de recomenda\u00e7\u00e3o
                                  • Os usu\u00e1rios devem poder visualizar informa\u00e7\u00f5es detalhadas sobre os livros recomendados, como capa, t\u00edtulo, autor, sinopse e avalia\u00e7\u00f5es de outros leitores
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US19
                                • Origem: BS03
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, quero ter a op\u00e7\u00e3o de sortear um livro aleatoriamente da minha lista de livros marcados como \"Quero Ler\"
                                • Motivo: Quero que o sistema me ajude a escolher qual ser\u00e1 minha pr\u00f3xima leitura com base nos livros que demonstrei interesse.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio
                                  • O sistema deve verificar se o usu\u00e1rio tem pelo menos um livro marcado como \"Quero Ler\"
                                  • Se o usu\u00e1rio n\u00e3o tiver pelo menos um livro marcado como \"Quero Ler\" o sistema deve exibir uma mensagem informativa indicando que n\u00e3o h\u00e1 livro dispon\u00edveis para sorteio.
                                  • O sistema deve garantir que o sorteio seja verdadeiramente aleat\u00f3rio e imparcial
                                • Validez: Validado pelo usu\u00e1rio

                                • ID: US20
                                • Origem: BS08
                                • Descri\u00e7\u00e3o: Eu, como usu\u00e1rio, desejo ter a op\u00e7\u00e3o de alterar o tema da interface do aplicativo
                                • Motivo: Para personalizar a experi\u00eancia de uso de acordo com minhas prefer\u00eancias visuais e para adaptar a interface de acordo com as condi\u00e7\u00f5es de ilumina\u00e7\u00e3o do ambiente ou para melhorar a acessibilidade.
                                • Crit\u00e9rios de Aceita\u00e7\u00e3o:
                                  • Deve haver uma sele\u00e7\u00e3o clara de temas dispon\u00edveis na se\u00e7\u00e3o de configura\u00e7\u00f5es da interface.
                                  • A mudan\u00e7a de tema deve ser refletida imediatamente em todos os elementos da interface, incluindo cores, fontes e layout.
                                  • Os temas dispon\u00edveis devem incluir op\u00e7\u00f5es de tema claro, tema escuro e outras variantes que possam ser visualmente agrad\u00e1veis e acess\u00edveis para os usu\u00e1rios.
                                  • Os temas selecionados devem ser aplicados consistentemente em todas as telas e p\u00e1ginas do aplicativo.
                                • Validez: Validado pelo usu\u00e1rio
                                "},{"location":"modelagem/user_story/#realizar-login-com-credenciais-de-outra-rede-social","title":"Realizar Login com Credenciais de outra Rede Social","text":""},{"location":"modelagem/user_story/#recuperar-senha-esquecida","title":"Recuperar Senha Esquecida","text":""},{"location":"modelagem/user_story/#adicionar-livro-a-estante","title":"Adicionar Livro \u00e0 Estante","text":""},{"location":"modelagem/user_story/#filtrar-livros-por-nota","title":"Filtrar Livros por Nota","text":""},{"location":"modelagem/user_story/#filtrar-livros-por-categoria","title":"Filtrar Livros por Categoria","text":""},{"location":"modelagem/user_story/#escrever-resenhas-de-livros-lidos","title":"Escrever Resenhas de Livros Lidos","text":""},{"location":"modelagem/user_story/#dar-notas-aos-livros-lidos","title":"Dar Notas aos Livros Lidos","text":""},{"location":"modelagem/user_story/#contabilizar-dias-de-leitura-ao-reler-um-livro","title":"Contabilizar Dias de Leitura ao Reler um Livro","text":""},{"location":"modelagem/user_story/#criar-lista-de-livros-desejados","title":"Criar Lista de Livros Desejados","text":""},{"location":"modelagem/user_story/#compartilhar-lista-de-livros-desejados","title":"Compartilhar Lista de Livros Desejados","text":""},{"location":"modelagem/user_story/#pesquisar-outros-usuarios","title":"Pesquisar Outros Usu\u00e1rios","text":""},{"location":"modelagem/user_story/#analisar-o-perfil-de-outros-usuarios","title":"Analisar o Perfil de Outros Usu\u00e1rios","text":""},{"location":"modelagem/user_story/#adicionar-outros-usuarios-como-amigos","title":"Adicionar Outros Usu\u00e1rios como Amigos","text":""},{"location":"modelagem/user_story/#visualizar-ranking-semanalmensal-de-livros-mais-bem-classificados","title":"Visualizar Ranking Semanal/Mensal de Livros Mais Bem Classificados","text":""},{"location":"modelagem/user_story/#visualizar-ranking-semanalmensal-de-livros-mais-lidos","title":"Visualizar Ranking Semanal/Mensal de Livros Mais Lidos","text":""},{"location":"modelagem/user_story/#postar-fotos-eou-videos-em-formato-stories","title":"Postar Fotos e/ou V\u00eddeos em Formato \"Stories\"","text":""},{"location":"modelagem/user_story/#criar-desafios-entre-amigos","title":"Criar Desafios entre Amigos","text":""},{"location":"modelagem/user_story/#receber-recomendacoes-de-livros-personalizadas","title":"Receber Recomenda\u00e7\u00f5es de Livros Personalizadas","text":""},{"location":"modelagem/user_story/#sortear-livro-entre-livros-quero-ler","title":"Sortear livro entre livros \"Quero ler\"","text":""},{"location":"modelagem/user_story/#alterar-tema-da-interface","title":"Alterar Tema da Interface","text":""},{"location":"modelagem/user_story/#validacao-das-historias-de-usuario","title":"Valida\u00e7\u00e3o das hist\u00f3rias de usu\u00e1rio","text":"

                                O V\u00eddeo 1, presente a seguir, cont\u00e9m o conte\u00fado da reuni\u00e3o de valida\u00e7\u00e3o com o usu\u00e1rio Thales Vieira, que leu e consentiu com o termo de consentimento e uso de imagem

                                V\u00eddeo 1: Valida\u00e7\u00e3o de User Stories. (Fonte: Yago Milagres Passos. 2023).

                                "},{"location":"modelagem/user_story/#conclusao","title":"Conclus\u00e3o","text":"

                                O desenvolvimento das hist\u00f3rias de usu\u00e1rio desempenhou um papel fundamental na defini\u00e7\u00e3o dos requisitos essenciais para o sucesso do projeto \"Skoob\". Ao abordar as necessidades e expectativas dos usu\u00e1rios de maneira abrangente, as hist\u00f3rias de usu\u00e1rio fornecem uma estrutura s\u00f3lida para o desenvolvimento de funcionalidades e recursos que promovem a intera\u00e7\u00e3o, o engajamento e a satisfa\u00e7\u00e3o do usu\u00e1rio.

                                Ao implementar as hist\u00f3rias de usu\u00e1rio identificadas neste artefato, espera-se que a plataforma \"Skoob\" atenda \u00e0s demandas dos usu\u00e1rios de forma eficaz, fornecendo uma experi\u00eancia enriquecedora e personalizada no mundo da literatura.

                                "},{"location":"modelagem/user_story/#bibliografia","title":"Bibliografia","text":"

                                [1] VLC. Hit\u00f3rias de Usu\u00e1rio. Grupo VLC da disciplina Requisitos de Software, dispon\u00edvel em: https://requisitos-de-software.github.io/2023.1-VLC/#/modelagem/cenarios. Acesso em: 16 de outubro de 2023.

                                [2] SERRANO, Maur\u00edcio; SERRANO, Milene. Requisitos - Aula 15. 1\u00ba/2019. 46 slides. Material apresentado para a disciplina de Requisitos de Software no curso de Engenharia de Software da UnB, FGA.

                                "},{"location":"modelagem/user_story/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 03/11/2023 05/11/2023 Cria\u00e7\u00e3o do Artefato Jefferson Fran\u00e7a 1.1 04/11/2023 04/11/2023 Elabora\u00e7\u00e3o de Hist\u00f3rias Jefferson Fran\u00e7a 1.2 05/11/2023 05/11/2023 Se\u00e7\u00f5es de Introdu\u00e7\u00e3o, Metodologia e Conclus\u00e3o Yago Passos 1.3 06/11/2023 06/11/2023 Adicionando a grava\u00e7\u00e3o da valida\u00e7\u00e3o Yago Passos"},{"location":"modelagem/user_story/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 04/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Yago Passos 04/11/2023 1.1 Elabora\u00e7\u00e3o em pares Yago Passos 04/11/2023 1.2 Elabora\u00e7\u00e3o em pares Jefferson Fran\u00e7a 04/11/2023 1.3 Elabora\u00e7\u00e3o em pares Jefferson Fran\u00e7a"},{"location":"planejamento/cronograma/","title":"Cronograma","text":""},{"location":"planejamento/cronograma/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                Este artefato foi elaborado com o prop\u00f3sito de fornecer um cronograma cuidadosamente planejado, que nos permitir\u00e1 acompanhar e executar nosso projeto de forma eficiente.

                                Seguir este cronograma nos ajudar\u00e1 a nos prepararmos adequadamente para cumprir todas as etapas e entregas necess\u00e1rias. Assim, tornando o cronograma como um guia que tra\u00e7a os pontos de controle, metas de entregas de artefatos com seus respectivos autores e revisores.

                                "},{"location":"planejamento/cronograma/#entregas","title":"Entregas","text":""},{"location":"planejamento/cronograma/#cronograma-geral","title":"Cronograma Geral","text":"Etapa T\u00edtulo Descri\u00e7\u00e3o Data limite de entrega Apresenta\u00e7\u00e3o 1 Planejamento Ferramentas, escolha e descri\u00e7\u00e3o do aplicativo, rich picture 20/09 21/09 2 Elicita\u00e7\u00e3o de requisitos Perfil do usu\u00e1rio, t\u00e9cnicas de elicita\u00e7\u00e3o, prioriza\u00e7\u00e3o 04/10 05/10 3 Modelagem de requisitos Cen\u00e1rios, l\u00e9xicos, use case e especifica\u00e7\u00e3o suplementar 25/10 26/10 4 Modelagem de requisitos - \u00c1gil Hist\u00f3rias de usu\u00e1rios, backlogs, NFR, framework 06/11 07/11 5.1 An\u00e1lise de requisitos Verifica\u00e7\u00e3o e valida\u00e7\u00e3o I - Grupo + 1 13/11 14/11 5.2 An\u00e1lise de requistos Verifica\u00e7\u00e3o e valida\u00e7\u00e3o II 29/11 30/11 6 P\u00f3s-Rastreabilidade Ger\u00eancia II 20/11 21/11 7 Entrega final Projeto finalizado 06/12 07/12 - 19/12

                                Tabela 1: Cronograma geral. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"planejamento/cronograma/#ponto-de-controle-1","title":"Ponto de Controle 1","text":"Atividade Data limite de entrega Data limite de revis\u00e3o Autor(es) Revisor(es) Apresenta\u00e7\u00f5es 17/09 18/09 Todos Todos Atas 17/09 18/09 Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Cronograma 17/09 18/09 Jefferson, Sha\u00edne e Yago Ana Caroline Cronograma Realizado 17/09 18/09 Jefferson e Sha\u00edne Rafael Equipe 17/09 18/09 Rafael Fernandes Jefferson Ferramentas 17/09 18/09 Ana Caroline Sha\u00edne GitPage 17/09 18/09 Rafael Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Heatmap 17/09 18/09 Todos Todos Modelo Padr\u00e3o para Artefatos 17/09 18/09 Jefferson Sha\u00edne Metodologia e Pol\u00edtica de Commit 17/09 18/09 Jefferson e Yago Ana Caroline Rich Pictures dos Integrantes 17/09 18/09 Ana e Rafael Yago V\u00eddeo de apresenta\u00e7\u00e3o 18/09 18/09 Todos Todos Corre\u00e7\u00f5es da Entrega 1 26/09 27/09 Rafael, Sha\u00edne e Yago Todos

                                Tabela 2: Cronograma detalhado da primeira entrega. (Fonte: Jefferson Fran\u00e7a, 2023).

                                "},{"location":"planejamento/cronograma/#ponto-de-controle-2","title":"Ponto de Controle 2","text":"

                                A Tabela 3 mostra as atividades planejadas para o Ponto de Controle 2 (Elicita\u00e7\u00e3o \u2013 T\u00e9cnicas e Prioriza\u00e7\u00e3o), al\u00e9m de seus autores, revisores e datas de entrega.

                                Atividade Data limite de entrega Data limite de revis\u00e3o Autor(es) Revisor(es) Atas de reuni\u00e3o 02/10 03/10 Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Corre\u00e7\u00f5es do ponto de controle anterior 02/10 03/10 Jefferson e Sha\u00edne Yago Cronograma Realizado 02/10 03/10 Jefferson e Sha\u00edne Rafael Perfil dos usu\u00e1rios 02/10 03/10 Rafael e Yago Jefferson Moscow 02/10 03/10 Rafael e Sha\u00edne Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago First things first 02/10 03/10 Yago e Ana Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Three-Level Scale 02/10 03/10 Jefferson e Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Brainstorming 02/10 03/10 Rafael e Jefferson Sha\u00edne Entrevista 02/10 03/10 Ana e Sha\u00edne Sha\u00edne Observa\u00e7\u00e3o 02/10 03/10 Yago e Jefferson Sha\u00edne V\u00eddeo de apresenta\u00e7\u00e3o 02/10 03/10 Todos Todos Corre\u00e7\u00f5es da Entrega 2 11/10 13/10 Todos Todos

                                Tabela 3: Cronograma detalhado da segunda entrega. (Autor: Yago Passos, 2023).

                                "},{"location":"planejamento/cronograma/#ponto-de-controle-3","title":"Ponto de Controle 3","text":"

                                A Tabela 4 mostra as atividades planejadas para o Ponto de Controle 3, al\u00e9m de seus autores, revisores e datas de entrega.

                                Atividade Data limite de entrega Data limite de revis\u00e3o Autor(es) Revisor(es) Casos de uso 10/10 12/10 Ana Caroline e Sha\u00edne Jefferson Cen\u00e1rios 20/10 21/10 Rafael Sha\u00edne Corre\u00e7\u00f5es do ponto de controle anterior 24/10 24/10 Todos Todos Especifica\u00e7\u00e3o Suplementar 11/10 15/10 Yago Rafael L\u00e9xico 20/10 22/10 Jefferson, Sha\u00edne e Yago Ana Caroline V\u00eddeo de apresenta\u00e7\u00e3o 23/10 23/10 Todos Todos Corre\u00e7\u00f5es da Entrega 3 30/10 03/11 Todos Todos

                                Tabela 4: Cronograma detalhado da terceira entrega. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"planejamento/cronograma/#ponto-de-controle-4","title":"Ponto de Controle 4","text":"

                                A Tabela 5 mostra as atividades planejadas para o Ponto de Controle 4, al\u00e9m de seus autores, revisores e datas de entrega.

                                Atividade Data limite de entrega Data limite de revis\u00e3o Autor(es) Revisor(es) Atas 03/11 04/11 Yago Ana Caroline Backlog 03/11 04/11 Jefferson e Ana Caroline Sha\u00edne GitPage 03/11 04/11 Sha\u00edne Todos Hist\u00f3rias de usu\u00e1rio 03/11 04/11 Ana, Jefferson e Sha\u00edne Jefferson NFR Framework 03/11 04/11 Rafael e Yago Yago V\u00eddeo de apresenta\u00e7\u00e3o 03/11 04/11 Todos Todos Corre\u00e7\u00f5es da Entrega 4 09/11 13/11 Todos Todos

                                Tabela 5: Cronograma detalhado da quarta entrega. (Fonte: Jefferson Fran\u00e7a, 2023).

                                "},{"location":"planejamento/cronograma/#ponto-de-controle-51","title":"Ponto de Controle 5.1","text":"

                                A Tabela 6 mostra as atividades planejadas para o Ponto de Controle 5.1, al\u00e9m de seus autores, revisores e datas de entrega.

                                Atividade Data limite de entrega Data limite de revis\u00e3o Autor(es) Revisor(es) Verifica\u00e7\u00e3o dos Requisistos 1 10/11 11/11 Jefferson, Ana e Rafael Rafael e Yago Valida\u00e7\u00e3o de requisitos 1 10/11 11/11 Shaine e Yago Jefferson, Ana e Shaine V\u00eddeo de apresenta\u00e7\u00e3o 10/11 11/11 Todos Todos Revis\u00e3o de artefatos 10/11 11/11 Todos Todos Corre\u00e7\u00f5es da Entrega 5.1 17/11 21/11 Todos Todos

                                Tabela 6: Cronograma detalhado da sexta entrega. (Autor: Yago Passos, 2023).

                                "},{"location":"planejamento/cronograma/#ponto-de-controle-52","title":"Ponto de Controle 5.2","text":"

                                A Tabela 7 mostra as atividades planejadas para o Ponto de Controle 5.2, al\u00e9m de seus autores, revisores e datas de entrega.

                                Atividade Data limite de entrega Data limite de revis\u00e3o Autor(es) Revisor(es) Verifica\u00e7\u00e3o dos Requisistos 1 27/11 28/11 Rafael, Ana e Shaine Rafael e Yago Valida\u00e7\u00e3o de requisitos 1 27/11 28/11 Jefferson e Yago Jefferson, Ana e Shaine V\u00eddeo de apresenta\u00e7\u00e3o 27/11 28/11 Todos Todos Revis\u00e3o de artefatos 27/11 28/11 Todos Todos Corre\u00e7\u00f5es da Entrega 5.2 30/11 02/11 Todos Todos

                                Tabela 7: Cronograma detalhado da entrega final. (Autor: Yago Passos, 2023).

                                "},{"location":"planejamento/cronograma/#ponto-de-controle-6","title":"Ponto de Controle 6","text":"

                                A Tabela 8 mostra as atividades planejadas para o Ponto de Controle 6, al\u00e9m de seus autores, revisores e datas de entrega.

                                Atividade Data limite de entrega Data limite de revis\u00e3o Autor(es) Revisor(es) Backward From 16/11 18/11 Ana Caroline, Sha\u00edne e Yago Jefferson, Rafael e Yago Forward From 17/11 19/11 Jefferson, Rafael Ana Caroline e Sha\u00edne Revis\u00e3o de artefatos 20/11 20/11 Todos Todos V\u00eddeo de apresenta\u00e7\u00e3o 20/11 20/11 Todos Todos Corre\u00e7\u00f5es da Entrega 6 21/12 23/12 Todos Todos

                                Tabela 8: Cronograma detalhado da entrega final. (Fonte: Sha\u00edne Oliveira, 2023).

                                "},{"location":"planejamento/cronograma/#heatmap","title":"Heatmap","text":"

                                Na Figura 1, apresentamos a disponibilidade dos membros do grupo para reuni\u00f5es eventuais. Utilizamos um heatmap para auxiliar na sele\u00e7\u00e3o do hor\u00e1rio mais adequado para as reuni\u00f5es.

                                As reuni\u00f5es foram agendadas para todas as segundas-feiras \u00e0s 21:30h, visando a discuss\u00e3o de pontos importantes relacionados ao projeto.

                                Figura 1 - Disponibilidade dos integrantes, Heatmap. (Fonte: Jefferson Fran\u00e7a. 2023)

                                "},{"location":"planejamento/cronograma/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/33/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 12 de setembro de 2023.

                                "},{"location":"planejamento/cronograma/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 11/09/2023 16/09/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a, Sha\u00edne e Yago Passos Ana Rocha 1.1 12/09/2023 16/09/2023 Atualiza\u00e7\u00e3o dos cronogramas de ponto de controle 3 e 6 Sha\u00edne Rafael Amancio 1.2 15/09/2023 16/09/2023 Atualiza\u00e7\u00e3o dos cronogramas e adi\u00e7\u00e3o do heatmap Jefferson Fran\u00e7a e Yago Passos Rafael Amancio 1.2.1 20/09/2023 20/09/2023 Atualiza\u00e7\u00e3o dos cronogramas Sha\u00edne Ana Rocha 1.3 02/10/2023 03/10/2023 Atualiza\u00e7\u00e3o dos cronogramas Sha\u00edne Ana Rocha"},{"location":"planejamento/cronograma_executado/","title":"Cronograma","text":""},{"location":"planejamento/cronograma_executado/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                Este artefato foi criado com o intuito de ser atualizado \u00e0 medida que o projeto avan\u00e7a. Ao t\u00e9rmino do projeto, realizaremos uma compara\u00e7\u00e3o entre o cronograma planejado e o cronograma executado. Isso nos permitir\u00e1 realizar uma an\u00e1lise do planejamento e do progresso do projeto.

                                "},{"location":"planejamento/cronograma_executado/#entregas","title":"Entregas","text":""},{"location":"planejamento/cronograma_executado/#ponto-de-controle-1","title":"Ponto de Controle 1","text":"

                                Na Tabela 1, podemos analisar como as tarefas foram distribu\u00eddas para a primeira entrega. O cronograma realizado e o planejado foram alinhados durante esta fase inicial, explicando por que eles est\u00e3o iguais. Isso demonstra a efic\u00e1cia do planejamento e sua implementa\u00e7\u00e3o bem-sucedida nesta etapa inicial do projeto.

                                Atividade Entrega Revis\u00e3o Autor(es) Revisor(es) Apresenta\u00e7\u00f5es 17/09 18/09 Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Atas 17/09 18/09 Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Cronograma 17/09 18/09 Jefferson, Sha\u00edne e Yago Ana Caroline Cronograma Realizado 17/09 18/09 Jefferson e Sha\u00edne Rafael Equipe 17/09 18/09 Rafael Fernandes Jefferson Ferramentas 17/09 18/09 Ana Caroline Sha\u00edne GitPage 17/09 18/09 Rafael Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Heatmap 17/09 18/09 Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Modelo Padr\u00e3o para Artefatos 17/09 18/09 Jefferson Sha\u00edne Metodologia e Pol\u00edtica de Commit 17/09 18/09 Jefferson e Yago Jefferson Rich Pictures dos Integrantes 17/09 18/09 Ana e Rafael Yago V\u00eddeo de apresenta\u00e7\u00e3o 18/09 18/09 Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago

                                Tabela 1: Cronograma detalhado da primeira entrega. (Autor: Jefferson Fran\u00e7a e Sha\u00edne, 2023).

                                "},{"location":"planejamento/cronograma_executado/#ponto-de-controle-2","title":"Ponto de Controle 2","text":"

                                A Tabela 2 mostra as atividades planejadas para o Ponto de Controle 2 e as datas em que foram executadas, al\u00e9m de seus autores e revisores.

                                Atividade Entrega Revis\u00e3o Autor(es) Revisor(es) Atas de reuni\u00e3o 02/10 03/10 Yago Todos Cronograma Realizado 02/10 04/10 Jefferson e Sha\u00edne Rafael Perfil dos usu\u00e1rios 04/10 04/10 Jefferson e Ana Yago Moscow 03/10 04/10 Rafael e Sha\u00edne Rafael e Sha\u00edne First things first 04/10 04/10 Yago e Ana Ana Caroline, Jefferson, Rafael e Yago Three-Level Scale 04/10 04/10 Jefferson, Rafael e Ana Ana Caroline, Jefferson, Sha\u00edne e Yago Brainstorming 04/10 04/10 Rafael, Jefferson e Yago Sha\u00edne Entrevista 02/10 03/10 Ana, Sha\u00edne e Yago Sha\u00edne Observa\u00e7\u00e3o 02/10 03/10 Yago e Sha\u00edne Ana e Sha\u00edne Corre\u00e7\u00f5es do ponto de controle anterior 08/10 17/10 Todos Todos V\u00eddeo de apresenta\u00e7\u00e3o 02/10 03/10 Todos Yago e Rafael

                                Tabela 2: Cronograma executado da segunda entrega. (Autor: Yago Passos, 2023).

                                "},{"location":"planejamento/cronograma_executado/#ponto-de-controle-3","title":"Ponto de Controle 3","text":"

                                A Tabela 4 mostra as atividades do Ponto de Controle 3 e as datas em que foram executadas, al\u00e9m de seus autores e revisores.

                                Atividade Entrega Revis\u00e3o Autor(es) Revisor(es) Atas de reuni\u00e3o 09/10 12/10 Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Casos de uso 24/10 24/10 Jefferson Yago Cen\u00e1rios 24/10 24/10 Sha\u00edne Ana Caroline Especifica\u00e7\u00e3o Suplementar 23/10 25/10 Ana Caroline Rafael L\u00e9xico 24/10 24/10 Yago, Ana e Rafael Ana e Yago Corre\u00e7\u00f5es do ponto de controle anterior 17/10 18/10 Todos Todos V\u00eddeo de apresenta\u00e7\u00e3o 04/11 04/11 Todos Todos

                                Tabela 4: Cronograma executado da terceira entrega. (Autor: Ana Rocha, 2023).

                                "},{"location":"planejamento/cronograma_executado/#ponto-de-controle-4","title":"Ponto de Controle 4","text":"

                                A Tabela 5 mostra as atividades do Ponto de Controle 4 e as datas em que foram executadas, al\u00e9m de seus autores e revisores.

                                Atividade Entrega Revis\u00e3o Autor(es) Revisor(es) Atas de reuni\u00e3o 31/10 06/11 Yago Ana Caroline, Jefferson, Rafael, Sha\u00edne e Yago Backlog 04/11 06/11 Rafael Yago e Jefferson Hist\u00f3rias de usu\u00e1rio 06/11 06/11 Jefferson e Yago Yago Passos NFR Framework 04/11 06/11 Ana Caroline e Sha\u00edne Rafael Corre\u00e7\u00f5es do ponto de controle anterior 06/11 06/11 Todos Todos V\u00eddeo de apresenta\u00e7\u00e3o 06/11 06/11 Todos Todos

                                Tabela 5: Cronograma detalhado da quarta entrega. (Autor: Ana Rocha, 2023).

                                "},{"location":"planejamento/cronograma_executado/#ponto-de-controle-51","title":"Ponto de Controle 5.1","text":"

                                A Tabela 6 mostra as atividades do Ponto de Controle 5.1 e as datas em que foram executadas, al\u00e9m de seus autores e revisores.

                                Atividade Entrega Revis\u00e3o Autor(es) Revisor(es) Verifica\u00e7\u00e3o dos Requisistos 1 12/11 13/11 Todos Todos Valida\u00e7\u00e3o de requisitos 1 12/11 13/11 Todos Todos Corre\u00e7\u00f5es do ponto de controle anterior 13/11 13/11 Todos Todos V\u00eddeo de apresenta\u00e7\u00e3o 13/11 13/11 Todos Todos

                                Tabela 6: Cronograma detalhado da primeira parte da quinta entrega. (Autor: Ana Rocha, 2023).

                                "},{"location":"planejamento/cronograma_executado/#ponto-de-controle-6","title":"Ponto de Controle 6","text":"

                                A Tabela 7 mostra as atividades do Ponto de Controle 6 e as datas em que foram executadas, al\u00e9m de seus autores e revisores.

                                Atividade Entrega Revis\u00e3o Autor(es) Revisor(es) Backward-From 18/11 20/11 Sha\u00edne e Ana Todos Forward-From 18/11 20/11 Yago e Jefferson Todos Matriz de Rastreabilidade 20/11 20/11 Rafael e Yago Todos V\u00eddeo de apresenta\u00e7\u00e3o 20/11 20/11 Todos Todos

                                Tabela 7: Cronograma detalhado da sexta entrega. (Autor: Rafael Amancio, 2023).

                                "},{"location":"planejamento/cronograma_executado/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/33/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 12 de setembro de 2023.

                                "},{"location":"planejamento/cronograma_executado/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 15/09/2023 16/09/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a e Sha\u00edne 1.1 02/10/2023 04/10/2023 Atualiza\u00e7\u00e3o do cronograma executado Sha\u00edne 1.2 17/10/2023 18/10/2023 Adicionando Tabelas do ponto 2 e 3 Yago 1.3 02/11/2023 04/11/2023 Corrigindo tabela do ponto 3 e adicionando tabela de revis\u00e3o Ana Rocha 1.4 06/11/2023 06/11/2023 Adicionando Tabela do ponto 4 Ana Rocha 1.5 13/11/2023 13/11/2023 Adicionando Tabela do ponto 5.1 Ana Rocha"},{"location":"planejamento/cronograma_executado/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 04/10/2023 1.1 Revis\u00e3o por inspe\u00e7\u00e3o Rafael Amancio 02/11/2023 1.2 Revis\u00e3o por inspe\u00e7\u00e3o Ana Rocha"},{"location":"planejamento/entregas/","title":"Entregas","text":""},{"location":"planejamento/entregas/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                Abaixo consta-se quais artefatos s\u00e3o referentes a entrega e o link da grava\u00e7\u00e3o.

                                "},{"location":"planejamento/entregas/#entrega-1-20092023","title":"Entrega 1 (20/09/2023)","text":""},{"location":"planejamento/entregas/#descricao","title":"Descri\u00e7\u00e3o:","text":"

                                Nesta primeira entrega foi poss\u00edvel fazer todo o cronograma do projeto, ferramentas que ser\u00e3o utilizadas, planejamento e metodologia.

                                "},{"location":"planejamento/entregas/#video-de-apresentacao","title":"V\u00eddeo de apresenta\u00e7\u00e3o","text":"

                                O V\u00eddeo 1 corresponde a grava\u00e7\u00e3o da primeira entrega da disciplina. Nele, explicamos a fase de planejamento que desenvolvemos, juntamente com seus artefatos.

                                V\u00eddeo 1: Grava\u00e7\u00e3o da primeira apresenta\u00e7\u00e3o. (Fonte: Grupo 6, 2023)..

                                "},{"location":"planejamento/entregas/#entrega-2-04102023","title":"Entrega 2 (04/10/2023)","text":""},{"location":"planejamento/entregas/#descricao_1","title":"Descri\u00e7\u00e3o:","text":"

                                Nesta segunda entrega foi poss\u00edvel fazer corre\u00e7\u00f5es da primeira entrega, elicitar os requisitos usando t\u00e9cnicas de elicita\u00e7\u00e3o, estudar o perfil do usu\u00e1rio e priorizar o requisitos.

                                "},{"location":"planejamento/entregas/#video-de-apresentacao_1","title":"V\u00eddeo de apresenta\u00e7\u00e3o","text":"

                                O V\u00eddeo 2 corresponde a grava\u00e7\u00e3o da segunda entrega da disciplina. Nele, explicamos as t\u00e9cnicas usadas para elicitar e priorizar os requisitos.

                                V\u00eddeo 2: Grava\u00e7\u00e3o da segunda apresenta\u00e7\u00e3o. (Fonte: Grupo 6, 2023)..

                                "},{"location":"planejamento/entregas/#entrega-3-25102023","title":"Entrega 3 (25/10/2023)","text":""},{"location":"planejamento/entregas/#descricao_2","title":"Descri\u00e7\u00e3o:","text":"

                                Nesta terceira entrega foi poss\u00edvel fazer corre\u00e7\u00f5es da segunda entrega, elaborar os artefatos de cen\u00e1rios, l\u00e9xicos e casos de uso, al\u00e9m da especifica\u00e7\u00e3o suplementar.

                                "},{"location":"planejamento/entregas/#video-de-apresentacao_2","title":"V\u00eddeo de apresenta\u00e7\u00e3o","text":"

                                O V\u00eddeo 3 corresponde a grava\u00e7\u00e3o da terceira entrega da disciplina. Nele, explicamos os cen\u00e1rios, l\u00e9xicos, casos de uso e a especifica\u00e7\u00e3o suplementar do projeto.

                                V\u00eddeo 3: Grava\u00e7\u00e3o da terceira apresenta\u00e7\u00e3o. (Fonte: Grupo 6, 2023)..

                                "},{"location":"planejamento/entregas/#entrega-4-06112023","title":"Entrega 4 (06/11/2023)","text":""},{"location":"planejamento/entregas/#descricao_3","title":"Descri\u00e7\u00e3o:","text":"

                                Nesta quarta entrega foi poss\u00edvel fazer corre\u00e7\u00f5es da terceira entrega, elaborar os artefatos de Backlog, Hist\u00f3rias de Usu\u00e1rio e NFR Framework.

                                "},{"location":"planejamento/entregas/#video-de-apresentacao_3","title":"V\u00eddeo de apresenta\u00e7\u00e3o","text":"

                                O V\u00eddeo 4 corresponde a grava\u00e7\u00e3o da quarta entrega da disciplina. Nele, explicamos o Backlog, as Hist\u00f3rias de Usu\u00e1rio e o NFR Framework do projeto.

                                V\u00eddeo 4: Grava\u00e7\u00e3o da quarta apresenta\u00e7\u00e3o. (Fonte: Grupo 6, 2023)..

                                "},{"location":"planejamento/entregas/#entrega-51-13112023","title":"Entrega 5.1 (13/11/2023)","text":""},{"location":"planejamento/entregas/#descricao_4","title":"Descri\u00e7\u00e3o:","text":"

                                Nesta quinta entrega foi poss\u00edvel fazer corre\u00e7\u00f5es da quarta entrega e elaborar todos os artefatos de verifica\u00e7\u00e3o do Grupo 7.

                                "},{"location":"planejamento/entregas/#video-de-apresentacao_4","title":"V\u00eddeo de apresenta\u00e7\u00e3o","text":"

                                O V\u00eddeo 5 corresponde a grava\u00e7\u00e3o da quinta entrega da disciplina. Nele, explicamos como foi feito os artefatos de verifica\u00e7\u00e3o.

                                V\u00eddeo 5: Grava\u00e7\u00e3o da quinta apresenta\u00e7\u00e3o. (Fonte: Grupo 6, 2023)..

                                "},{"location":"planejamento/entregas/#entrega-6-20112023","title":"Entrega 6 (20/11/2023)","text":""},{"location":"planejamento/entregas/#descricao_5","title":"Descri\u00e7\u00e3o:","text":"

                                Nesta sexta entrega foi poss\u00edvel elaborar os artefatos da P\u00f3s-rastreabilidade que s\u00e3o eles: Backward-From, Foward-From e Matriz de Rastreabilidade

                                "},{"location":"planejamento/entregas/#video-de-apresentacao_5","title":"V\u00eddeo de apresenta\u00e7\u00e3o","text":"

                                O V\u00eddeo 6 corresponde a grava\u00e7\u00e3o da sexta entrega da disciplina. Nele, explicamos como foi feito os artefatos de P\u00f3s-rastreabilidade.

                                V\u00eddeo 6: Grava\u00e7\u00e3o da sexta apresenta\u00e7\u00e3o. (Fonte: Grupo 6, 2023)..

                                "},{"location":"planejamento/entregas/#historico-de-versao","title":"Hist\u00f3rico de vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 18/09/2023 25/09/2023 Entrega 1 Sha\u00edne Oliveira 1.1 04/10/2023 15/10/2023 Entrega 2 Sha\u00edne Oliveira 1.1.1 04/10/2023 15/10/2023 V\u00eddeo 2 Yago Passos 1.2 23/10/2023 18/09/2023 Entrega 3 Sha\u00edne Oliveira 1.2.1 01/11/2023 10/11/2023 Adicionando V\u00eddeo 3 Yago Passos 1.3 04/11/2023 18/11/2023 Entrega 4 Sha\u00edne Oliveira 1.3.1 06/11/2023 18/11/2023 Adicionando V\u00eddeo 4 Yago Passos 1.4 13/11/2023 13/11/2023 Entrega 5 Sha\u00edne Oliveira 1.4.1 13/11/2023 18/11/2023 Adicionando V\u00eddeo 5 Yago Passos 1.5 13/11/2023 18/11/2023 Entrega 6 Sha\u00edne Oliveira 1.5.1 20/11/2023 18/11/2023 Adicionando V\u00eddeo 6 Yago Passos"},{"location":"planejamento/entregas/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 04/10/2023 1.0 e 1.1 Revis\u00e3o est\u00e1tica Yago Passos 04/11/2023 1.2 Revis\u00e3o est\u00e1tica Yago Passos 06/11/2023 1.3 Revis\u00e3o est\u00e1tica Yago Passos 13/11/2023 1.4 Revis\u00e3o est\u00e1tica Yago Passos 20/11/2023 1.5 Revis\u00e3o est\u00e1tica Yago Passos"},{"location":"planejamento/ferramentas/","title":"Ferramentas","text":""},{"location":"planejamento/ferramentas/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                As ferramentas mencionadas neste documento foram selecionadas pelo grupo como forma de suporte, buscando atingir objetivos com precis\u00e3o e efici\u00eancia, al\u00e9m de simplificar o processo de desenvolvimento do projeto de Requisitos de Software, focado no aplicativo Skoob.

                                "},{"location":"planejamento/ferramentas/#ferramentas-utilizadas","title":"Ferramentas Utilizadas","text":"Logo Nome da Ferramenta Finalidade Figma Usado para elaborar os prot\u00f3tipos. GitHub Usado para manter e gerenciar o reposit\u00f3rio do projeto, bem como hospedar a GitPage. LucidChart Usado para criar o Rich Picture do aplicativo escolhido para estudo. MkDocs Usado para criar a GitPage. Teams Usado para realizar e registrar as reuni\u00f5es do grupo. Trello Usado para a organiza\u00e7\u00e3o pessoal da equipe em rela\u00e7\u00e3o \u00e0s tarefas e demandas ao longo do projeto. VSCode Programa usado para desenvolver e administrar as modifica\u00e7\u00f5es na GitPage do projeto. WhatsApp Aplicativo de mensagens usado para facilitar a comunica\u00e7\u00e3o constante entre os integrantes do grupo. YouTube Usado para hospedar as grava\u00e7\u00f5es do projeto.

                                Tabela 1: Descri\u00e7\u00e3o das ferramentas do projeto. (Fonte: Ana Rocha, 2023).

                                "},{"location":"planejamento/ferramentas/#bibliografia","title":"Bibliografia","text":"

                                [1] FIGMA. Dispon\u00edvel em: Figma. Acesso em: 18 de Setembro de 2023. [2] GITHUB. Dispon\u00edvel em: GitHub. Acesso em: 15 de Setembro de 2023. [3] LUCIDCHART. Dispon\u00edvel em: LucidChart. Acesso em: 26 de Setembro de 2023. [4] MKDOCS. Dispon\u00edvel em: MkDocs. Acesso em: 18 de Setembro de 2023. [5] TEAMS. Dispon\u00edvel em: Teams. Acesso em: 15 de Setembro de 2023. [6] TRELLO. Dispon\u00edvel em: Trello. Acesso em: 26 de Setembro de 2023. [7] VSCODE. Dispon\u00edvel em: VSCode. Acesso em: 15 de Setembro de 2023. [8] WHATSAPP. Dispon\u00edvel em: WhatsApp. Acesso em: 15 de Setembro de 2023. [9] YOUTUBE. Dispon\u00edvel em: YouTube. Acesso em: 15 de Setembro de 2023.

                                "},{"location":"planejamento/ferramentas/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 15/09/2023 15/09/2023 Adi\u00e7\u00e3o das ferramentas do projeto Ana Rocha Rafael Amancio 1.1 18/09/2023 18/09/2023 Atualiza\u00e7\u00e3o das ferramentas do projeto Ana Rocha Sha\u00edne Oliveira 1.2 26/09/2023 26/09/2023 Adi\u00e7\u00e3o de outras ferramentas Ana Rocha Sha\u00edne Oliveira"},{"location":"planejamento/metodologia/","title":"Metodologia","text":""},{"location":"planejamento/metodologia/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A escolha da metodologia de desenvolvimento de software \u00e9 um passo cr\u00edtico. Cada metodologia tem suas pr\u00f3prias abordagens e pr\u00e1ticas, e a escolha certa deve se basear nas necessidades do projeto e na equipe. Essa decis\u00e3o afeta diretamente como a equipe trabalha, colabora e se adapta \u00e0s mudan\u00e7as durante o desenvolvimento. Portanto, a sele\u00e7\u00e3o da metodologia \u00e9 um artefato crucial para o sucesso do projeto.

                                "},{"location":"planejamento/metodologia/#scrum-adaptado","title":"Scrum Adaptado","text":"

                                Tendo tudo isso em vista, escolhemos adotar uma adapta\u00e7\u00e3o da metodologia Scrum. Essa metodologia se baseia em um conjunto de pr\u00e1ticas eficazes para o desenvolvimento. Essa abordagem permite que nossa equipe conduza o projeto de forma \u00e1gil, sem a necessidade de dominar todas as etapas de uma s\u00f3 vez. Em vez disso, dividimos o projeto em ciclos chamados sprints. Cada sprint \u00e9 composto por um conjunto de atividades que devem ser conclu\u00eddas dentro de um prazo determinado. Essa estrat\u00e9gia nos permite ser flex\u00edveis e \u00e1geis nas entregas, adaptando-nos \u00e0s mudan\u00e7as \u00e0 medida que surgem.

                                Ao adaptar o Scrum em nosso projeto, reconhecemos que, embora o Scrum seja uma metodologia valiosa, n\u00e3o h\u00e1 possibilidade de encaixar todas suas caracter\u00edsticas com o projeto da mat\u00e9ria e, portanto, n\u00e3o o seguiremos rigidamente. Continuaremos a seguir os princ\u00edpios fundamentais do Scrum, mas com a liberdade de ajustar as pr\u00e1ticas e processos conforme necess\u00e1rio para atingir nossos objetivos de maneira eficaz e eficiente.

                                As principais caracter\u00edsticas a serem seguidas viementemente s\u00e3o [1]:

                                • Divis\u00e3o das entregas em Sprints;
                                • Pap\u00e9is de Scrum Master (Jefferson Fran\u00e7a) e Product Owner (Sha\u00edne);
                                • Descri\u00e7\u00e3o de um Backlog do produto;
                                • Utiliza\u00e7\u00e3o de ferramenta de quadro estilo Kanban;
                                • Reuni\u00f5es.

                                Contudo, os principais fundamentos e indica\u00e7\u00f5es que n\u00e3o ser\u00e3o implementadas no projeto [1]:

                                • M\u00e9tricas de Scrum como tabela de conhecimento ou de satisfa\u00e7\u00e3o.
                                • Reuni\u00f5es Di\u00e1rias ou de modelo Stand-up
                                "},{"location":"planejamento/metodologia/#quadro-kanban","title":"Quadro Kanban","text":"

                                Do japon\u00eas, Kanban \u00e9 literalmente traduzido como quadro de sinal ou sinal visual [2]. Em engenharia de Software, Kanban \u00e9 uma estrat\u00e9gia para otimizar o fluxo de valor para partes interessadas atrav\u00e9s de um processo que utiliza um sistema visual [3].

                                A imagem 1 cont\u00e9m informa\u00e7\u00f5es do Quadro Kanban utilizado pelo grupo. A ferramenta utilizada para sua elabora\u00e7\u00e3o e o Trello, que est\u00e1 definida no artefato de Ferramentas

                                "},{"location":"planejamento/metodologia/#politicas","title":"Pol\u00edticas","text":""},{"location":"planejamento/metodologia/#politica-de-commits","title":"Pol\u00edtica de commits","text":"

                                A cria\u00e7\u00e3o deste m\u00e9todo visa promover a padroniza\u00e7\u00e3o e rastreabilidade em nosso processo de desenvolvimento. Dessa forma, devem estar de acordo com o seguinte padr\u00e3o:

                                git commit -m \"Arquivo: Descri\u00e7\u00e3o inserida no hist\u00f3rico de vers\u00e3o\"\n

                                Exemplo:

                                O commit referente a cria\u00e7\u00e3o do arquivo metodologias.md pode ter a mensagem metodologias: cria\u00e7\u00e3o do documento

                                "},{"location":"planejamento/metodologia/#conclusao","title":"Conclus\u00e3o","text":"

                                A adapta\u00e7\u00e3o da metodologia Scrum para o nosso projeto \u00e9 uma escolha estrat\u00e9gica que nos permite manter um equil\u00edbrio entre estrutura e flexibilidade. Ao seguir os princ\u00edpios fundamentais do Scrum e adapt\u00e1-los conforme necess\u00e1rio, nossa equipe est\u00e1 posicionada para alcan\u00e7ar os objetivos do projeto de maneira eficiente e eficaz. A implementa\u00e7\u00e3o do quadro Kanban tamb\u00e9m nos proporciona uma vis\u00e3o clara do fluxo de trabalho e contribui para a organiza\u00e7\u00e3o e acompanhamento das atividades. Al\u00e9m disso, ao estabelecer pol\u00edticas claras, como a de commits, garantimos uma padroniza\u00e7\u00e3o no registro de altera\u00e7\u00f5es, facilitando a rastreabilidade e o entendimento do hist\u00f3rico de vers\u00f5es. Com essas pr\u00e1ticas e abordagens, estamos confiantes de que seremos capazes de enfrentar os desafios do projeto com agilidade, transpar\u00eancia e qualidade.

                                "},{"location":"planejamento/metodologia/#bibliografia","title":"Bibliografia","text":"

                                [1] O QUE \u00c9 O SCRUM E COMO COME\u00c7AR. Dispon\u00edvel em: https://www.atlassian.com/br/agile/scrum. Acesso em: 18 de Setembro de 2023.

                                [2] O que \u00e9 Kanban? Explicado para Iniciantes. Dispon\u00edvel em: https://businessmap.io/pt/recursos-kanban/primeiros-passos/o-que-e-kanban. Acesso em: 03 de outubro de 2023.

                                [3] Wikip\u00e9dia, Kanban. Dispon\u00edvel em: https://pt.wikipedia.org/wiki/Kanban. Acesso em: 03 de outubro de 2023.

                                "},{"location":"planejamento/metodologia/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 18/09/2023 18/09/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a 1.1 18/09/2023 18/09/2023 Se\u00e7\u00e3o de Scrum Adaptado Yago Passos 1.2 29/09/2023 03/10/2023 Se\u00e7\u00e3o de Pol\u00edticas Jefferson Fran\u00e7a 1.3 03/10/2023 04/10/2023 Se\u00e7\u00e3o do Kanban Yago Passos 1.4 17/10/2023 18/10/2023 Se\u00e7\u00e3o de Conclus\u00e3o Yago Passos"},{"location":"planejamento/metodologia/#verificacao","title":"Verifica\u00e7\u00e3o","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 01/09/2023 1.0 e 1.1 Revis\u00e3o est\u00e1tica Sha\u00edne 03/10/2023 1.2 Revis\u00e3o est\u00e1tica Yago Passos 10/10/2023 1.3 Revis\u00e3o est\u00e1tica Jefferson Fran\u00e7a"},{"location":"planejamento/modelo_artefato/","title":"T\u00edtulo","text":""},{"location":"planejamento/modelo_artefato/#introducao","title":"Introdu\u00e7\u00e3o","text":""},{"location":"planejamento/modelo_artefato/#corpo-do-artefato","title":"Corpo do Artefato","text":""},{"location":"planejamento/modelo_artefato/#subtitulo-exemplo-de-tabela","title":"Subt\u00edtulo - Exemplo de Tabela","text":"Atividade Entrega Revis\u00e3o Autor(es) Revisor(es) texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto

                                Tabela 1: Exemplo de Tabela. (Fonte: Jefferson Fran\u00e7a, 2023).

                                "},{"location":"planejamento/modelo_artefato/#exemplo-imagem","title":"Exemplo Imagem","text":"

                                Figura 1 - Exemplo de Imagem. (Fonte: Jefferson Fran\u00e7a. 2023)

                                "},{"location":"planejamento/modelo_artefato/#bibliografia","title":"Bibliografia","text":"

                                [1] IMAGEM. Dispon\u00edvel em: Imagem. Acesso em: 05 de Setembro de 2023.

                                "},{"location":"planejamento/modelo_artefato/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark: 1.1 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark: 1.2 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark:"},{"location":"planejamento/modelo_artefato/#verificacao","title":"Verifica\u00e7\u00e3o","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) dd/mm/aaaa 1.0 Elabora\u00e7\u00e3o em pares Nome do Revisor dd/mm/aaaa 1.1 e 1.2 Revis\u00e3o est\u00e1tica Nome do Revisor dd/mm/aaaa Todas Revis\u00e3o por inspe\u00e7\u00e3o Nome do Revisor"},{"location":"planejamento/modelo_artefato_apresenta%C3%A7%C3%A3o/","title":"Modelo Base - (T\u00edtulo)","text":""},{"location":"planejamento/modelo_artefato_apresenta%C3%A7%C3%A3o/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                Com o objetivo de facilitar a padroniza\u00e7\u00e3o dos artefatos, este documento foi criado como um modelo base, garantindo assim a consist\u00eancia na produ\u00e7\u00e3o dos mesmos.

                                "},{"location":"planejamento/modelo_artefato_apresenta%C3%A7%C3%A3o/#corpo-do-artefato","title":"Corpo do Artefato","text":"

                                Esta se\u00e7\u00e3o representa o corpo do artefato, onde todo o conte\u00fado relevante deve ser inserido. Essa inclus\u00e3o ocorrer\u00e1 sempre ap\u00f3s uma breve introdu\u00e7\u00e3o.

                                "},{"location":"planejamento/modelo_artefato_apresenta%C3%A7%C3%A3o/#exemplo-de-tabela","title":"Exemplo de Tabela","text":"

                                A seguir, apresentamos um exemplo de tabela. O conte\u00fado da tabela \u00e9 flex\u00edvel e fica a crit\u00e9rio do autor, incluindo a quantidade de colunas e linhas.

                                Lembrando que ap\u00f3s a inser\u00e7\u00e3o de tabela, imagem ou v\u00eddeo, o arquivo deve ser acompanhado por uma legenda e a respectiva fonte.

                                Atividade Entrega Revis\u00e3o Autor(es) Revisor(es) texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto

                                Tabela 1: Exemplo de Tabela. (Fonte: Jefferson Fran\u00e7a, 2023).

                                "},{"location":"planejamento/modelo_artefato_apresenta%C3%A7%C3%A3o/#exemplo-imagem","title":"Exemplo Imagem","text":"

                                Uma pasta com o nome \"img\" foi criada para armazenar todos os arquivos de m\u00eddia necess\u00e1rios. Al\u00e9m disso, para cada m\u00f3dulo do projeto, ser\u00e1 criada uma pasta correspondente, tornando a importa\u00e7\u00e3o mais organizada e eficiente.

                                Figura 1 - Exemplo de Imagem. (Fonte: Jefferson Fran\u00e7a. 2023)

                                "},{"location":"planejamento/modelo_artefato_apresenta%C3%A7%C3%A3o/#bibliografia","title":"Bibliografia","text":"

                                [1] IMAGEM. Dispon\u00edvel em: Imagem. Acesso em: 05 de Setembro de 2023.

                                "},{"location":"planejamento/modelo_artefato_apresenta%C3%A7%C3%A3o/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 05/09/2023 18/04/2023 Adi\u00e7\u00e3o do modelo base dos artefatos Jefferson Fran\u00e7a Yago Passos"},{"location":"pos_rastreabilidade/backward/","title":"Backward-From","text":""},{"location":"pos_rastreabilidade/backward/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A rastreabilidade \"backward-from\" \u00e9 um conceito fundamental na engenharia de software e gerenciamento de requisitos, que se refere \u00e0 capacidade de seguir o caminho inverso de um artefato ou item de software para identificar suas origens ou relacionamentos. Essa abordagem de rastreabilidade \u00e9 especialmente valiosa em projetos de desenvolvimento de software, onde a compreens\u00e3o da origem e do contexto de requisitos, componentes de software ou mudan\u00e7as \u00e9 crucial para garantir a qualidade, a manuten\u00e7\u00e3o eficiente e a conformidade com os objetivos do projeto. [3]

                                Para a realiza\u00e7\u00e3o da t\u00e9cnica de backward-from, foi utilizado o modelo de Toranzo, onde as informa\u00e7\u00f5es a serem rastreadas s\u00e3o classificadas em quatro n\u00edveis e seis elos de rastreabilidade. [2]

                                "},{"location":"pos_rastreabilidade/backward/#metodologia","title":"Metodologia","text":"

                                A metodologia de rastreabilidade \"backward-from\" compreende uma s\u00e9rie de passos sistem\u00e1ticos projetados para seguir o caminho inverso de um artefato espec\u00edfico no desenvolvimento de software. Os n\u00edveis s\u00e3o: [2]

                                • Ambiental: informa\u00e7\u00f5es oriundas do contexto no qual a organiza\u00e7\u00e3o est\u00e1 inserida;
                                • Organizacional: informa\u00e7\u00f5es pertecentes \u00e0 organiza\u00e7\u00e3o;
                                • Gerencial: informa\u00e7\u00f5es que auxiliam na gerencia do projeto;
                                • Desenvolvimento: informa\u00e7\u00f5es associadas aos diversos artefatos gerados ao longo do processo de desenvolvimento.

                                Os principais elos de rastreabilidade s\u00e3o: [2]

                                • Satisfa\u00e7\u00e3o: classe origem tem depend\u00eancia de satisfa\u00e7\u00e3o com a classe destino;
                                • Recurso: classe origem tem depend\u00eancia de recurso com a classe destino;
                                • Responsabilidade: registra a participa\u00e7\u00e3o, responsabilidade e a\u00e7\u00e3o de pessoas sobre artefatos;
                                • Representa\u00e7\u00e3o: captura a representa\u00e7\u00e3o ou modelagem dos requisitos em outras linguagens;
                                • Alocado: classe origem est\u00e1 relacionada \u00e0 classe destino, que representa um subsistema;
                                • Agrega\u00e7\u00e3o: indica \u201ccomposi\u00e7\u00e3o\u201d de elementos.
                                "},{"location":"pos_rastreabilidade/backward/#legendas","title":"Legendas:","text":"
                                • RF - Requisito Funcional
                                • RNF - Requisito N\u00e3o-Funcional
                                • OB - Observa\u00e7\u00e3o
                                • IN - Introspec\u00e7\u00e3o
                                • BS - Brainstorming
                                "},{"location":"pos_rastreabilidade/backward/#tabelas-de-requisitos-funcionais","title":"Tabelas de requisitos funcionais","text":"

                                A Tabela 1 engloba todos os Requisitos Funcionais Elicitados:

                                ID Descri\u00e7\u00e3o Rastreabilidade Implementado RF01 Deve ser poss\u00edvel realizar login OB01 Sim RF02 Deve ser poss\u00edvel pesquisar livros OB02 Sim RF03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo OB03 Sim RF04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. OB04 Sim RF05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts OB05 Sim RF06 Deve ser poss\u00edvel curtir posts da timeline OB06 Sim RF07 Deve ser poss\u00edvel realizar cadastro IN01 Sim RF08 Deve ser poss\u00edvel recuperar a senha IN02 Sim RF09 Deve ser poss\u00edvel cadastrar um livro IN03 Sim RF10 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos IN04 Sim RF11 Deve ser poss\u00edvel dar notas aos livros lidos IN05 Sim RF12 Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo IN06 N\u00e3o RF13 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura IN07 Sim RF14 Deve ser poss\u00edvel adicionar livro a estante IN08 Sim RF15 Deve ser poss\u00edvel criar lista de livros desejados IN09 Sim RF16 Deve ser poss\u00edvel compartilhar a lista de livros desejados IN10 Sim RF17 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios IN11 Sim RF18 Deve ser poss\u00edvel abrir e analisar o perfil de outros usu\u00e1rios IN12 Sim RF19 Deve ser poss\u00edvel adicionar outros usu\u00e1rios como amigo IN13 Sim RF20 Deve ser poss\u00edvel filtrar livros por nota IN14 N\u00e3o RF21 Deve ser poss\u00edvel filtrar livros por categoria IN15 N\u00e3o RF22 Deve ser poss\u00edvel criar uma meta de leitura para o ano BS01 Sim RF23 Deve ser poss\u00edvel sortear um livro cadastrado nas metas para o ano para a pr\u00f3xima leitura BS02 Sim RF24 Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio BS03 N\u00e3o RF25 Deve ser poss\u00edvel ver informa\u00e7\u00f5es gerais de um livro cadastrado, como sinopse, autor, quantidade de p\u00e1ginas, etc BS04 Sim RF26 Deve existir uma aba de lan\u00e7amentos de livros BS05 Sim RF27 Deve existir uma aba de not\u00edcias sobre editoras e autores BS06 N\u00e3o RF28 Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades BS07 N\u00e3o RF29 Deve ser poss\u00edvel alterar o tema (escuro/claro/variantes) BS08 Sim RF30 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais bem classificados BS09 N\u00e3o RF31 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais lidos BS10 N\u00e3o RF32 Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \"stories\" BS11 N\u00e3o RF33 Deve ser poss\u00edvel compartilhar estantes BS12 N\u00e3o RF34 Deve ser poss\u00edvel realizar desafios dentro da plataforma BS13 Sim RF35 Deve ser poss\u00edvel criar desafios entre amigos BS14 N\u00e3o RF36 Deve ser poss\u00edvel mandar mensagens diretas entre usu\u00e1rios BS15 Sim RF37 Deve ser poss\u00edvel conquistar pr\u00eamios e recompensas a partir de desafios BS16 N\u00e3o RF38 Deve ser poss\u00edvel expor pr\u00eamios nos perfis e na timeLine BS17 N\u00e3o RF39 Deve ser poss\u00edvel receber recomenda\u00e7\u00f5es de livros com base nas prefer\u00eancias liter\u00e1rias dos usu\u00e1rios BS18 N\u00e3o Tabela 1: Requisitos Funcionais Elicitados. (Autor: Ana Rocha, 2023)"},{"location":"pos_rastreabilidade/backward/#tabelas-de-requisitos-nao-funcionais","title":"Tabelas de requisitos n\u00e3o-funcionais","text":"

                                A Tabela 2 engloba todos os Requisitos N\u00e3o-Funcionais Elicitados:

                                ID Descri\u00e7\u00e3o Rastreabilidade Implementado RNF01 A senha deve conter no m\u00ednimo um n\u00famero uma letra mai\u00fascula e um caracter especial IN16 N\u00e3o RNF02 Deve ser poss\u00edvel fazer cadastro/login com as credenciais do facebook IN17 Sim RNF03 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional IN18 Sim RNF04 Os dados do usu\u00e1rio devem ser guardados de forma eficaz, impendindo o vazamento dos mesmos IN19 Sim RNF05 O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resolu\u00e7\u00f5es IN20 Sim RNF06 O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usu\u00e1rios compartilhar conte\u00fado BS19 Sim Tabela 2: Requisitos N\u00e3o-Funcionais Elicitados. (Autor: Ana Rocha, 2023)"},{"location":"pos_rastreabilidade/backward/#elos","title":"Elos","text":"

                                Conforme mencionado na metodologia, a classifica\u00e7\u00e3o dos requisitos ser\u00e1 conduzida com base nos meios e tipos de elos. No entanto, uma an\u00e1lise realizada pelos respons\u00e1veis pelo artefato revelou que todos os requisitos elicitados pertencem \u00e0 categoria \"Desenvolvimento\", sendo originados dos artefatos produzidos durante o processo de desenvolvimento do projeto, nenhum deles est\u00e1 associado \u00e0 estrutura organizacional ou \u00e0s pr\u00e1ticas de gest\u00e3o do projeto. Adicionalmente, iremos nos concentrar em tr\u00eas tipos espec\u00edficos de elos de rastreabilidade: Satisfa\u00e7\u00e3o, Recurso e Agrega\u00e7\u00e3o.

                                Os requisitos funcionais listados na Tabela 1, com exce\u00e7\u00e3o de OB01, IN01 e IN02, estabelecem um elo de rastreabilidade do tipo \"Recurso\" em rela\u00e7\u00e3o ao requisito funcional OB01, que diz respeito \u00e0 capacidade de realizar login. Adicionalmente, os requisitos n\u00e3o-funcionais IN19 e BS19, listados na Tabela 2, tamb\u00e9m mant\u00eam uma depend\u00eancia com o requisito funcional OB01, indicando a presen\u00e7a do mesmo tipo de elo entre eles.

                                Al\u00e9m disso, o requisito funcional BS07, que aborda a implementa\u00e7\u00e3o de um FAQ para orientar os usu\u00e1rios nas funcionalidades, estabelece um elo de Agrega\u00e7\u00e3o com todos os requisitos funcionais da Tabela 1, exceto ele mesmo. Portanto, podemos descrever que BS07 agrega todas as demais funcionalidades.

                                A Tabela 3 evidencia os outros elos entre os requisitos apresentados nas tabelas anteriores:

                                ID Requisito Tipo de Elo ELO01 RF01 / OB01 Recurso: OB01 depende de IN01 ELO02 RF02 / OB02 Satisfa\u00e7\u00e3o: OB02 satisfaz BS04 Recurso: OB02 depende de IN03 ELO03 RF03 / OB03 Satisfa\u00e7\u00e3o: OB03 satisfaz IN08 ELO04 RF04 / OB04 Satisfa\u00e7\u00e3o: OB04 satisfaz BS04 ELO05 RF05 / OB05 Recurso: OB05 depende de OB04, OB05 depende de IN12 ELO06 RF06 / OB06 Recurso: OB06 depende de OB04, OB06 depende de IN12 ELO07 RF07 / IN01 Recurso: IN01 depende de IN16 ELO08 RF08 / IN02 Recurso: IN02 depende de IN16 ELO09 RF10 / IN04 Recurso: IN04 depende de OB03 Agrega\u00e7\u00e3o: IN04 agrega OB04 ELO10 RF11 / IN05 Recurso: IN05 depende de OB03 Agrega\u00e7\u00e3o: IN05 agrega OB04, IN05 agrega BS18 ELO11 RF12 / IN06 Recurso: IN06 depende de OB03, IN06 depende de IN07 ELO12 RF13 / IN07 Recurso: IN07 depende de OB03 Agrega\u00e7\u00e3o: IN07 agrega OB04 ELO13 RF14 / IN08 Recurso: IN08 depende de OB02 Agrega\u00e7\u00e3o: IN08 agrega BS18 ELO14 RF15 / IN09 Agrega\u00e7\u00e3o: IN09 agrega IN08, IN09 agrega BS18 ELO15 RF16 / IN10 Recurso: IN10 depende de IN09, IN10 depende de BS19 ELO16 RF18 / IN12 Recurso: IN12 depende de IN11 Agrega\u00e7\u00e3o: IN12 agrega BS04 ELO17 RF19 / IN13 Recurso: IN13 depende de IN12 ELO18 RF20 / IN14 Agrega\u00e7\u00e3o: IN14 agrega OB02 ELO19 RF21 / IN15 Agrega\u00e7\u00e3o: IN15 agrega OB02 ELO20 RNF02 / IN17 Satisfa\u00e7\u00e3o: IN17 satisfaz OB01, IN17 satisfaz IN01 ELO21 RF22 / BS01 Agrega\u00e7\u00e3o: BS01 agrega IN08 ELO22 RF23 / BS02 Recurso: BS02 depende de BS01 ELO23 RF24 / BS03 Recurso: BS03 depende de OB03 ELO24 RF26 / BS05 Satisfa\u00e7\u00e3o: BS05 satisfaz BS04 ELO25 RF30 / BS09 Satisfa\u00e7\u00e3o: BS09 satisfaz BS04 ELO26 RF31 / BS10 Satisfa\u00e7\u00e3o: BS10 satisfaz BS04 ELO27 RF32 / BS11 Recurso: BS11 depende de IN20 ELO28 RF33 / BS12 Recurso: BS12 depende de IN08, BS12 depende de BS19 ELO29 RF34 / BS13 Recurso: BS13 depende de IN07 ELO30 RF35 / BS14 Recurso: BS14 depende de IN13 Agrega\u00e7\u00e3o: BS14 agrega BS13 ELO31 RF36 / BS15 Recurso: BS15 depende de IN12 ELO32 RF37 / BS16 Recurso: BS16 depende de BS13 ELO33 RF38 / BS17 Recurso: BS17 depende de BS16 Agrega\u00e7\u00e3o: BS17 agrega OB04 Tabela 3: Elos de rastreabilidade. (Autor: Ana Rocha, 2023)"},{"location":"pos_rastreabilidade/backward/#conclusao","title":"Conclus\u00e3o","text":"

                                Em s\u00edntese, a aplica\u00e7\u00e3o da t\u00e9cnica de rastreabilidade \"backward-from\" no Skoob, utilizando o modelo de Toranzo, permitiu compreender as complexas intera\u00e7\u00f5es entre os requisitos funcionais e n\u00e3o-funcionais. A an\u00e1lise dos elos identificados destacou a import\u00e2ncia de recursos espec\u00edficos para opera\u00e7\u00f5es fundamentais, como o login, bem como a necessidade de orienta\u00e7\u00e3o clara aos usu\u00e1rios por meio de um FAQ.

                                "},{"location":"pos_rastreabilidade/backward/#bibliografia","title":"Bibliografia","text":"

                                [1] POHL, Klaus e RUPP, Chris. Requirements Engineering Fundamentals. Dispon\u00edvel em: Aprender 3. Acesso em 16 nov. de 2023. [2] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 26\u201d. Dispon\u00edvel em: Aprender 3. Acesso em 16 nov. de 2023. [3] SAY\u00c3O, Miriam e LEITE, Julio. Monografia Rastreabilidade de Requisitos. Dispon\u00edvel em: Aprender 3. Acesso em 16 nov. de 2023.

                                "},{"location":"pos_rastreabilidade/backward/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 16/11/2023 17/11/2023 Cria\u00e7\u00e3o do artefato Shaine 1.1 16/11/2023 17/11/2023 Evolu\u00e7\u00e3o do artefato Ana Caroline"},{"location":"pos_rastreabilidade/backward/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 16/11/2023 1.0 Revis\u00e3o Est\u00e1tica Ana Caroline 20/11/2023 1.1 Revis\u00e3o Est\u00e1tica Sha\u00edne"},{"location":"pos_rastreabilidade/forward/","title":"Forward-From","text":""},{"location":"pos_rastreabilidade/forward/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A gest\u00e3o eficiente e estrat\u00e9gica de projetos \u00e9 fundamental para o sucesso de organiza\u00e7\u00f5es contempor\u00e2neas. No \u00e2mbito do desenvolvimento de software, a rastreabilidade emerge como um elemento crucial, permitindo a compreens\u00e3o e o controle dos artefatos produzidos ao longo do ciclo de vida do projeto. Entre as diversas abordagens de rastreabilidade, destaca-se o conceito de \"forward-from,\" um artefato que desempenha um papel essencial na manuten\u00e7\u00e3o da coer\u00eancia e na facilita\u00e7\u00e3o da comunica\u00e7\u00e3o entre as diversas fases do desenvolvimento.

                                O artefato de rastreabilidade forward-from direciona sua aten\u00e7\u00e3o para o futuro, estabelecendo uma conex\u00e3o direta e sistem\u00e1tica entre os requisitos iniciais e as etapas subsequentes do desenvolvimento [1]. Este mecanismo busca garantir que cada componente do sistema, desde os requisitos at\u00e9 a implementa\u00e7\u00e3o final, seja claramente relacionado aos seus predecessores, oferecendo uma vis\u00e3o abrangente e cont\u00ednua da evolu\u00e7\u00e3o do projeto.

                                "},{"location":"pos_rastreabilidade/forward/#metodologia","title":"Metodologia","text":"

                                A estrat\u00e9gia adotada para estabelecer a rastreabilidade entre requisitos e artefatos centrou-se no m\u00e9todo \"forward-from\", uma abordagem de p\u00f3s-rastreabilidade que implica na cria\u00e7\u00e3o de v\u00ednculos entre os requisitos e os artefatos gerados nas fases subsequentes do desenvolvimento. No \u00e2mbito da rastreabilidade entre requisitos, a aplica\u00e7\u00e3o do \"forward-from\" envolve a identifica\u00e7\u00e3o das depend\u00eancias entre os requisitos, como refinamentos, generaliza\u00e7\u00f5es ou substitui\u00e7\u00f5es entre eles. Por exemplo, um requisito pode evoluir a partir de outro, incorporando novas funcionalidades ou modificando as existentes. Essa an\u00e1lise de depend\u00eancia \u00e9 crucial para compreender as inter-rela\u00e7\u00f5es dos requisitos e garantir sua adequada considera\u00e7\u00e3o durante o desenvolvimento do software.

                                Al\u00e9m disso, a abordagem \"forward-from\" inclui a rastreabilidade entre requisitos e artefatos de implementa\u00e7\u00e3o, como c\u00f3digo-fonte, documenta\u00e7\u00e3o t\u00e9cnica e testes. Esta pr\u00e1tica permite a identifica\u00e7\u00e3o dos requisitos implementados em cada componente do sistema, os casos de teste associados e as \u00e1reas espec\u00edficas da arquitetura relacionadas a cada requisito. Essas informa\u00e7\u00f5es desempenham um papel crucial na preserva\u00e7\u00e3o da integridade do sistema e na facilita\u00e7\u00e3o de futuras atividades de manuten\u00e7\u00e3o. Em resumo, a ado\u00e7\u00e3o do \"forward-from\" na rastreabilidade \u00e9 essencial para estabelecer rela\u00e7\u00f5es transparentes e consistentes entre os elementos do sistema, promovendo uma compreens\u00e3o mais clara, manuten\u00e7\u00e3o eficaz e evolu\u00e7\u00e3o cont\u00ednua do software ao longo de seu ciclo de vida.

                                "},{"location":"pos_rastreabilidade/forward/#mapeamento","title":"Mapeamento","text":"

                                Na Tabela 1, apresentamos uma legenda para facilitar a compreens\u00e3o dos artefatos que ser\u00e3o discutidos.

                                Legenda Artefato US Hist\u00f3ria de Usu\u00e1rio UC Casos de Uso C Cen\u00e1rios L L\u00e9xico INT Introspec\u00e7\u00e3o BS Brainstorming OB Observa\u00e7\u00e3o RF Requisitos Funcionais RNF Requisitos n\u00e3o Funcionais

                                Tabela 1 - Legenda. (Fonte: Jefferson Fran\u00e7a. 2023)

                                Na tabela 2, apresentaremos a vincula\u00e7\u00e3o dos artefatos a cada requisito, delineando as conex\u00f5es estabelecidas. Essa an\u00e1lise proporcionar\u00e1 uma vis\u00e3o detalhada das rela\u00e7\u00f5es entre requisitos espec\u00edficos e os respectivos artefatos, evidenciando a consist\u00eancia e integra\u00e7\u00e3o no \u00e2mbito do processo de rastreabilidade forward.

                                ID do requisito Descri\u00e7\u00e3o do requisito \u00c9pico \u00c9pico de refer\u00eancia Tema Tema do Backlog Hist\u00f3ria de Usu\u00e1rio Hist\u00f3ria de usu\u00e1rio L\u00e9xico L\u00e9xico relacionado Casos de uso Caso de uso relacionado Cen\u00e1rios Cen\u00e1rio relacionado Artefatos de elicita\u00e7\u00e3o Artefatos que elicitaram o requisito Implementado Sim ou N\u00e3o

                                Tabela 2 - V\u00ednculo requisito e artefatos. (Fonte: Jefferson Fran\u00e7a. 2023)

                                As tabelas de n\u00famero 3 a 24, cont\u00e9m informa\u00e7\u00f5es sobre a p\u00f3s rastreabilidade dos requisitos do projeto.

                                "},{"location":"pos_rastreabilidade/forward/#requisitos-funcionais","title":"Requisitos Funcionais","text":"OB01 Deve ser poss\u00edvel realizar login \u00c9pico \u00c9pico 1 - Autentica\u00e7\u00e3o Tema Autentica\u00e7\u00e3o Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico L\u00e9xico de Estado LE6 Casos de uso -- Cen\u00e1rios C03: Realizando o Login Artefatos de elicita\u00e7\u00e3o Observa\u00e7\u00e3o Implementado Sim

                                Tabela 3 - Rastreabilidade do OB01. (Fonte: Jefferson Fran\u00e7a. 2023)

                                OB02 Deve ser poss\u00edvel pesquisar livros \u00c9pico \u00c9pico 2 - Livro Tema Livro Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico L\u00e9xico de verbo LV1 Casos de uso UC01 Cen\u00e1rios C04: Pesquisando Livros Artefatos de elicita\u00e7\u00e3o Observa\u00e7\u00e3o Implementado Sim

                                Tabela 4 - Rastreabilidade do OB02. (Fonte: Jefferson Fran\u00e7a. 2023)

                                OB03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo \u00c9pico \u00c9pico 4 - Acompanhamento Tema Acompanhamento Hist\u00f3ria de Usu\u00e1rio US03 L\u00e9xico L\u00e9xico de verbo LV2 Casos de uso UC01 Cen\u00e1rios C01 Artefatos de elicita\u00e7\u00e3o Observa\u00e7\u00e3o Implementado Sim

                                Tabela 5 - Rastreabilidade do OB03. (Fonte: Jefferson Fran\u00e7a. 2023)

                                OB04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. \u00c9pico \u00c9pico 3 - Usu\u00e1rio Tema Usu\u00e1rio Hist\u00f3ria de Usu\u00e1rio US12 L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Observa\u00e7\u00e3o Implementado Sim

                                Tabela 6 - Rastreabilidade do OB04. (Fonte: Jefferson Fran\u00e7a. 2023)

                                OB05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts \u00c9pico \u00c9pico 3 - Usu\u00e1rio Tema Usu\u00e1rio Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico -- Casos de uso UC05 Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Observa\u00e7\u00e3o Implementado Sim

                                Tabela 7 - Rastreabilidade do OB05. (Fonte: Jefferson Fran\u00e7a. 2023)

                                OB06 Deve ser poss\u00edvel curtir posts da timeline \u00c9pico \u00c9pico 3 - Usu\u00e1rio Tema Usu\u00e1rio Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Observa\u00e7\u00e3o Implementado Sim

                                Tabela 8 - Rastreabilidade do OB06. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN01 Deve ser poss\u00edvel realizar cadastro \u00c9pico \u00c9pico 1 - Autentica\u00e7\u00e3o Tema Autentica\u00e7\u00e3o Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado Sim

                                Tabela 9 - Rastreabilidade do IN01. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN02 Deve ser poss\u00edvel recuperar a senha \u00c9pico \u00c9pico 1 - Autentica\u00e7\u00e3o Tema Autentica\u00e7\u00e3o Hist\u00f3ria de Usu\u00e1rio US02 L\u00e9xico -- Casos de uso -- Cen\u00e1rios C01 Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado Sim

                                Tabela 10 - Rastreabilidade do IN02. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN03 Deve ser poss\u00edvel cadastrar um livro \u00c9pico \u00c9pico 2 - Livro Tema Livro Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico L\u00e9xico de objeto LO1 Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado Sim

                                Tabela 11 - Rastreabilidade do IN03. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN04 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos \u00c9pico \u00c9pico 2 - Livro Tema Livro Hist\u00f3ria de Usu\u00e1rio US06 L\u00e9xico L\u00e9xico de verbo LV4 Casos de uso UC02 Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado Sim

                                Tabela 12 - Rastreabilidade do IN04. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN05 Deve ser poss\u00edvel dar notas aos livros lidos \u00c9pico \u00c9pico 2 - Livro Tema Livro Hist\u00f3ria de Usu\u00e1rio US06 L\u00e9xico L\u00e9xico de verbo LV3 Casos de uso -- Cen\u00e1rios C02 Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado Sim

                                Tabela 13 - Rastreabilidade do IN05. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN06 Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo \u00c9pico \u00c9pico 4 - Acompanhamento Tema Acompanhamento Hist\u00f3ria de Usu\u00e1rio US08 L\u00e9xico L\u00e9xico de verbo LV6 e L\u00e9xico de Estado LE4 Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado N\u00e3o

                                Tabela 14 - Rastreabilidade do IN06. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN07 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura \u00c9pico \u00c9pico 3 - Usu\u00e1rio Tema Usu\u00e1rio Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico L\u00e9xico de verbo LV6 Casos de uso UC04 Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado Sim

                                Tabela 15 - Rastreabilidade do IN07. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN08 Deve ser poss\u00edvel adicionar livro a estante \u00c9pico \u00c9pico 4 - Acompanhamento Tema Acompanhamento Hist\u00f3ria de Usu\u00e1rio US03 L\u00e9xico L\u00e9xico de verbo LV2 e L\u00e9xico de Objeto LO4 Casos de uso UC01 Cen\u00e1rios C01 Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado Sim

                                Tabela 16 - Rastreabilidade do IN08. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN11 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios \u00c9pico \u00c9pico 3 - Usu\u00e1rio Tema Usu\u00e1rio Hist\u00f3ria de Usu\u00e1rio US11 L\u00e9xico L\u00e9xico de verbo LV1 e L\u00e9xico de Objeto LO2 Casos de uso UC03 Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado Sim

                                Tabela 17 - Rastreabilidade do IN11. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN14 Deve ser poss\u00edvel filtrar livros por nota \u00c9pico \u00c9pico 2 - Livro Tema Livro Hist\u00f3ria de Usu\u00e1rio US04 L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado N\u00e3o

                                Tabela 18 - Rastreabilidade do IN14. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN15 Deve ser poss\u00edvel filtrar livros por categoria \u00c9pico \u00c9pico 2 - Livro Tema Livro Hist\u00f3ria de Usu\u00e1rio US05 L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado N\u00e3o

                                Tabela 19 - Rastreabilidade do IN15. (Fonte: Jefferson Fran\u00e7a. 2023)

                                BS03 Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio \u00c9pico \u00c9pico 2 - Livro Tema Livro Hist\u00f3ria de Usu\u00e1rio US19 L\u00e9xico L\u00e9xico de Estado LE3 Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Brainstorming Implementado N\u00e3o

                                Tabela 20 - Rastreabilidade do BS03. (Fonte: Jefferson Fran\u00e7a. 2023)

                                BS07 Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades \u00c9pico \u00c9pico 1 - Autentica\u00e7\u00e3o Tema Autentica\u00e7\u00e3o Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico -- Casos de uso -- Cen\u00e1rios C12 Artefatos de elicita\u00e7\u00e3o Brainstorming Implementado N\u00e3o

                                Tabela 21 - Rastreabilidade do BS07. (Fonte: Jefferson Fran\u00e7a. 2023)

                                BS10 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais lidos \u00c9pico \u00c9pico 2 - Livro Tema Livro Hist\u00f3ria de Usu\u00e1rio US15 L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Brainstorming Implementado N\u00e3o

                                Tabela 21 - Rastreabilidade do BS10. (Fonte: Jefferson Fran\u00e7a. 2023)

                                BS11 Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \"stories\" \u00c9pico \u00c9pico 5 - Entretenimento Tema Entretenimento Hist\u00f3ria de Usu\u00e1rio US16 L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Brainstorming Implementado N\u00e3o

                                Tabela 22 - Rastreabilidade do BS11. (Fonte: Jefferson Fran\u00e7a. 2023)

                                "},{"location":"pos_rastreabilidade/forward/#requisitos-nao-funcionais","title":"Requisitos N\u00e3o Funcionais","text":"BS19 O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usu\u00e1rios compartilhar conte\u00fado. \u00c9pico -- Tema -- Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Brainstorming Implementado N\u00e3o

                                Tabela 23 - Rastreabilidade do BS19. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN16 A senha deve conter no m\u00ednimo um n\u00famero uma letra mai\u00fascula e um caracter especial \u00c9pico \u00c9pico 5 - Autentica\u00e7\u00e3o Tema Autentica\u00e7\u00e3o Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado N\u00e3o

                                Tabela 24 - Rastreabilidade do IN16. (Fonte: Jefferson Fran\u00e7a. 2023)

                                IN18 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional \u00c9pico \u00c9pico 5 - Autentica\u00e7\u00e3o Tema Autentica\u00e7\u00e3o Hist\u00f3ria de Usu\u00e1rio -- L\u00e9xico -- Casos de uso -- Cen\u00e1rios -- Artefatos de elicita\u00e7\u00e3o Introspec\u00e7\u00e3o Implementado N\u00e3o

                                Tabela 24 - Rastreabilidade do IN18. (Fonte: Jefferson Fran\u00e7a. 2023)

                                "},{"location":"pos_rastreabilidade/forward/#conclusao","title":"Conclus\u00e3o","text":"

                                Em s\u00edntese, a abordagem \"forward-from\" de rastreabilidade desempenha um papel essencial no desenvolvimento de software, proporcionando uma conex\u00e3o sistem\u00e1tica entre requisitos e artefatos subsequentes. Ao adotar essa metodologia, a equipe obt\u00e9m uma vis\u00e3o clara das depend\u00eancias, promovendo transpar\u00eancia, consist\u00eancia e facilitando a manuten\u00e7\u00e3o do sistema ao longo do tempo [2]. A apresenta\u00e7\u00e3o detalhada dos requisitos funcionais e n\u00e3o funcionais, juntamente com seu mapeamento para artefatos espec\u00edficos, destaca a utilidade pr\u00e1tica dessa abordagem, fortalecendo a integridade do processo de desenvolvimento e a tomada de decis\u00f5es fundamentadas.

                                "},{"location":"pos_rastreabilidade/forward/#bibliografia","title":"Bibliografia","text":"

                                [1] SAY\u00c3O, Miriam; LEITE, Julio. Rastreabilidade de Requisitos. PUC. 2005.

                                [2] POHL, Klaus; RUPP, Chris. Requirements Engineering Fundamentals: A Study Guide for the Certified Professional for Requirements Engineering Exam - IREB compliant. O\u2032Reilly. 26 de abril de 2011

                                "},{"location":"pos_rastreabilidade/forward/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 19/11/2023 20/11/2023 Elabora\u00e7\u00e3o inicial Yago Passos 1.1 19/11/2023 20/11/2023 Atualizando artefato Jefferson Fran\u00e7a 1.2 20/11/2023 20/11/2023 Atualizando tabelas de rastreabilidade Yago Passos"},{"location":"pos_rastreabilidade/forward/#verificacao","title":"Verifica\u00e7\u00e3o","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 19/11/2023 1.0 Revis\u00e3o est\u00e1tica Jefferson Fran\u00e7a 20/11/2023 1.1 Revis\u00e3o est\u00e1tica Yago Passos"},{"location":"pos_rastreabilidade/matriz/","title":"Matriz de Rastreabilidade","text":""},{"location":"pos_rastreabilidade/matriz/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                O prop\u00f3sito deste artefato \u00e9 organizar de forma mais sistem\u00e1tica todos os requisitos abordados nos documentos de p\u00f3s-rastreabilidade, tanto no Backward-from quanto no Forward-from[1].

                                "},{"location":"pos_rastreabilidade/matriz/#metodologia","title":"Metodologia","text":"

                                Seguindo Say\u00e3o e Leite [3], os requisitos foram agrupados em uma \u00fanica tabela, a tabela 1, onde a segunda coluna identifica o requisito, al\u00e9m de link\u00e1-lo a sua t\u00e9cnica de elicita\u00e7\u00e3o. As demais representam artefatos gerados durante o processo de desenvolvimento do projeto, e a \u00faltima apresenta se \u00e9 uma funcionalidade j\u00e1 implementada no sistema atual da aplica\u00e7\u00e3o ou n\u00e3o.

                                Os integrantes Yago Passos e Rafael Amancio se reuniram no dia 20/11/2023 para discutir cada funcionalidade e desenvolver a tabela da matriz.

                                "},{"location":"pos_rastreabilidade/matriz/#legenda-da-tabela","title":"Legenda da tabela:","text":"
                                • RF - Requisito Funcional
                                • RNF - Requisito N\u00e3o Funcional
                                • OB - Observa\u00e7\u00e3o
                                • IN - Introspec\u00e7\u00e3o
                                • BS - Brainstorming
                                Tipo Identifica\u00e7\u00e3o e Elicita\u00e7\u00e3o Descri\u00e7\u00e3o Artefatos Relacionados Verifica\u00e7\u00e3o Implementa\u00e7\u00e3o RF OB01 Deve ser poss\u00edvel realizar login \u00c9pico 1 - Autentica\u00e7\u00e3o, L\u00e9xicos: LE6 e Cen\u00e1rios: C03 Esperando entrega 5.2 Implementado RF OB02 Deve ser poss\u00edvel pesquisar livros \u00c9pico 2 - Livro e L\u00e9xicos: LO1 Esperando entrega 5.2 Implementado RF OB03 Deve ser poss\u00edvel marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo \u00c9pico 4 - Acompanhamento, Hist\u00f3rias de usu\u00e1rio: US03, L\u00e9xicos: LV2, Casos de Uso: UC01 e Cen\u00e1rios: C01 Esperando entrega 5.2 Implementado RF OB04 Deve existir uma timeline onde \u00e9 poss\u00edvel ver atualiza\u00e7\u00f5es liter\u00e1rias de outros usu\u00e1rios. \u00c9pico 3 - Usu\u00e1rio e Hist\u00f3rias de usu\u00e1rio: US12 Esperando entrega 5.2 Implementado RF OB05 Deve ser poss\u00edvel adicionar coment\u00e1rios nos posts \u00c9pico 3 - Usu\u00e1rio e Hist\u00f3rias de usu\u00e1rio: UC05 Esperando entrega 5.2 Implementado RF OB06 Deve ser poss\u00edvel curtir posts da timeline \u00c9pico 3 - Usu\u00e1rio Esperando entrega 5.2 Implementado RF IN01 Deve ser poss\u00edvel realizar cadastro \u00c9pico 1 - Autentica\u00e7\u00e3o Esperando entrega 5.2 Implementado RF IN02 Deve ser poss\u00edvel recuperar a senha \u00c9pico 1 - Autentica\u00e7\u00e3o, Hist\u00f3rias de usu\u00e1rio: US02 e Cen\u00e1rios: C01 Esperando entrega 5.2 Implementado RF IN03 Deve ser poss\u00edvel cadastrar um livro \u00c9pico 2 - Livro e L\u00e9xicos: LO1 Esperando entrega 5.2 Implementado RF IN04 Deve ser poss\u00edvel escrever resenhas dos livros marcados como lidos \u00c9pico 2 - Livro, Hist\u00f3rias de usu\u00e1rio: US06, L\u00e9xicos: LV4 e UC02 Esperando entrega 5.2 Implementado RF IN05 Deve ser poss\u00edvel dar notas aos livros lidos \u00c9pico 2 - Livro, Hist\u00f3rias de usu\u00e1rio: US06, L\u00e9xicos: LV3 e Cen\u00e1rios: C02 Esperando entrega 5.2 Implementado RF IN06 Deve ser poss\u00edvel contabilizar os dias lendo livros quando o status for relendo \u00c9pico 4 - Acompanhamento, Hist\u00f3rias de usu\u00e1rio: US08, L\u00e9xicos: LV6 e LE4 Esperando entrega 5.2 N\u00e3o implementado RF IN07 Deve ser poss\u00edvel registrar o hist\u00f3rico de leitura \u00c9pico 3 - Usu\u00e1rio, L\u00e9xicos: LV6 e Casos de Uso: UC04 Esperando entrega 5.2 Implementado RF IN08 Deve ser poss\u00edvel adicionar livro a estante \u00c9pico 4 - Acompanhamento, Hist\u00f3rias de usu\u00e1rio: US03, L\u00e9xicos: LV2 e LO4, Casos de uso: UC01, Cen\u00e1rios: C01 Esperando entrega 5.2 Implementado RF IN11 Deve ser poss\u00edvel pesquisar outros usu\u00e1rios \u00c9pico 3 - Usu\u00e1rio, Hist\u00f3rias de usu\u00e1rio: US11, L\u00e9xicos: LV1 e LO2 e Casos de uso: UC03 Esperando entrega 5.2 Implementado RF IN14 Deve ser poss\u00edvel filtrar livros por nota \u00c9pico 2 - Livro, Hist\u00f3rias de usu\u00e1rio: US04 Esperando entrega 5.2 N\u00e3o implementado RF IN15 Deve ser poss\u00edvel filtrar livros por categoria \u00c9pico 2 - Livro, Hist\u00f3rias de usu\u00e1rio: US05 Esperando entrega 5.2 N\u00e3o implementado RNF IN18 Deve ser poss\u00edvel obter o aplicativo em qualquer sistema operacional \u00c9pico 5 - Autentica\u00e7\u00e3o Esperando entrega 5.2 Implementado RF BS03 Deve ser poss\u00edvel sortear um livro dentre os livros marcados como Quero ler para a pr\u00f3xima leitura do usu\u00e1rio \u00c9pico 2 - Livro, Hist\u00f3rias de usu\u00e1rio: US19, L\u00e9xicos: LE3 Esperando entrega 5.2 N\u00e3o implementado RF BS07 Deve existir um FAQ para guiar os usu\u00e1rios nas funcionalidades \u00c9pico 1 - Autentica\u00e7\u00e3o, Cen\u00e1rios: C12 Esperando entrega 5.2 N\u00e3o implementado RF BS10 Deve ser poss\u00edvel visualizar um ranking semanal/mensal de livros mais lidos \u00c9pico 2 - Livro, Hist\u00f3rias de usu\u00e1rio: US15 Esperando entrega 5.2 N\u00e3o implementado RF BS11 Deve ser poss\u00edvel postar fotos e/ou v\u00eddeos em formato \"stories\" \u00c9pico 5 - Entretenimento, Hist\u00f3rias de usu\u00e1rio: US16 Esperando entrega 5.2 N\u00e3o implementado

                                Tabela 1: Exemplo de Tabela. (Fonte: Rafael Amancio e Yago Passos, 2023).

                                "},{"location":"pos_rastreabilidade/matriz/#conclusao","title":"Conclus\u00e3o","text":"

                                A t\u00e9cnica da matriz de rastreabilidade emerge como uma ferramenta essencial no processo de desenvolvimento, proporcionando uma vis\u00e3o abrangente e organizada da rela\u00e7\u00e3o entre requisitos, componentes e demais elementos do projeto. Ao mapear a trajet\u00f3ria de requisitos desde sua origem at\u00e9 a implementa\u00e7\u00e3o, a matriz de rastreabilidade facilita a compreens\u00e3o, monitoramento e verifica\u00e7\u00e3o do alinhamento entre diferentes fases do ciclo de vida do projeto[2].

                                "},{"location":"pos_rastreabilidade/matriz/#bibliografia","title":"Bibliografia","text":"

                                [1] POHL, Klaus e RUPP, Chris. Requirements Engineering Fundamentals. Dispon\u00edvel em: Aprender 3. Acesso em 16 nov. de 2023. [2] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 26\u201d. Dispon\u00edvel em: Aprender 3. Acesso em 16 nov. de 2023. [3] SAY\u00c3O, Miriam e LEITE, Julio. Monografia Rastreabilidade de Requisitos. Dispon\u00edvel em: Aprender 3. Acesso em 16 nov. de 2023.

                                "},{"location":"pos_rastreabilidade/matriz/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 20/11/2023 20/11/2023 Elabora\u00e7\u00e3o do Artefato Yago Passos e Rafael Amancio"},{"location":"pos_rastreabilidade/matriz/#verificacao","title":"Verifica\u00e7\u00e3o","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 20/11/2023 1.0 Elabora\u00e7\u00e3o em pares Yago Passos e Rafael Amancio 20/11/2023 1.0 Revis\u00e3o est\u00e1tica Jefferson Fran\u00e7a"},{"location":"pre_rastreabilidade/aplicativo_escolhido/","title":"Skoob","text":"

                                O Skoob \u00e9 uma rede social voltada para leitores no Brasil, que permite que o usu\u00e1rio organize os livros, classificando-os como \"para ler\", \"em leitura\", \"lidos\", \"relendo\" e \"abandonados\", de tal forma a criar uma estante virtual personalizada. O usu\u00e1rio tamb\u00e9m tem a possibilidade de estabelecer metas de leitura, registrar seu hist\u00f3rico de leitura, escrever resenhas detalhadas e atribuir avalia\u00e7\u00f5es aos livros, entre outras funcionalidades. Atualmente, o Skoob conta com mais de 8 milh\u00f5es de usu\u00e1rios cadastrados, sendo disponibilizado gratuitamente para iOS [1] e Android [2], al\u00e9m de ser acess\u00edvel atrav\u00e9s do site [3].

                                "},{"location":"pre_rastreabilidade/aplicativo_escolhido/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                Ap\u00f3s as pesquisas e desenvolvimentos individuais realizados na fase de pr\u00e9-rastreabilidade, nos reunimos para realizar uma an\u00e1lise abrangente dos aplicativos estudados. Durante essa an\u00e1lise em grupo, alinhamos nossos interesses e prioridades, o que culminou na escolha final do aplicativo Skoob como base para o desenvolvimento do projeto.

                                "},{"location":"pre_rastreabilidade/aplicativo_escolhido/#criterio-de-escolha-do-aplicativo","title":"Crit\u00e9rio de escolha do aplicativo","text":"

                                A partir da an\u00e1lise de todos os rich pictures, o grupo decidiu continuar o projeto com o aplicativo Skoob, partindo dos seguintes motivos:

                                • Apesar das diversas funcionalidades do aplivativo, o mesmo \u00e9 de f\u00e1cil usabilidade;
                                • O aplicativo abrange uma grande variedade de usu\u00e1rios, o que possibilita uma rica fonte de refer\u00eancias e perspectivas para o desenvolvimento do projeto;
                                • Durante a fase de pr\u00e9-rastreabilidade, foram identificadas potenciais melhorias a partir da an\u00e1lise realizada.
                                "},{"location":"pre_rastreabilidade/aplicativo_escolhido/#termo-de-consentimento-skoob","title":"Termo de Consentimento Skoob","text":"

                                Na Figura 1, apresentamos uma visualiza\u00e7\u00e3o do termo de consentimento do Skoob. Este documento nos permite compreender que \u00e9 poss\u00edvel utilizar o aplicativo como base para a execu\u00e7\u00e3o do projeto.

                                Figura 1 - Termo de Consentimento. (Fonte: Jefferson Fran\u00e7a. 2023)

                                "},{"location":"pre_rastreabilidade/aplicativo_escolhido/#rich-picture","title":"Rich picture","text":"

                                Na Figura 2, apresenta-se o \"rich picture\" que foi elaborado para proporcionar uma compreens\u00e3o melhor do funcionamento do aplicativo escolhido.

                                Figura 2 - Rich Picture aplicativo Skoob. (Fonte: Ana Caroline. 2023)

                                "},{"location":"pre_rastreabilidade/aplicativo_escolhido/#legenda","title":"Legenda","text":"

                                Na figura 3, apresenta-se a legenda do rich picture do aplicativo escolhido para entendimento do mesmo.

                                Figura 3 - Legenda do Rich Picture aplicativo Skoob. (Fonte: Ana Caroline. 2023)

                                "},{"location":"pre_rastreabilidade/aplicativo_escolhido/#bibliografia","title":"Bibliografia","text":"

                                [1] SKOOB IOS. Dispon\u00edvel em: App Store. Acesso em: 20 de Setembro de 2023. [2] SKOOB ANDROID. Dispon\u00edvel em: Google Play. Acesso em: 15 de Setembro de 2023. [3] SKOOB SITE. Dispon\u00edvel em: Skoob. Acesso em: 20 de Setembro de 2023.

                                "},{"location":"pre_rastreabilidade/aplicativo_escolhido/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 15/09/2023 15/09/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a Rafael Amancio 1.1 20/09/2023 20/09/2023 Adi\u00e7\u00e3o de crit\u00e9rios de escolha do aplicativo Sha\u00edne Ana Rocha 1.2 20/09/2023 20/09/2023 Corre\u00e7\u00f5es e adi\u00e7\u00e3o do texto sobre o aplicativo Ana Rocha Sha\u00edne"},{"location":"pre_rastreabilidade/lista_de_aplicativos/","title":"Aplicativos Analisados","text":""},{"location":"pre_rastreabilidade/lista_de_aplicativos/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                Na fase inicial do projeto da disciplina de Requisitos de Software, os alunos tiveram a oportunidade de escolher, individualmente, um aplicativo governamental ou de c\u00f3digo aberto. O objetivo era obter diferentes sugest\u00f5es para o aplicativo que o grupo utilizaria como base para o desenvolvimento do projeto ao longo da disciplina. Cada membro do grupo realizou uma pesquisa sobre v\u00e1rios aplicativos, resultando na sele\u00e7\u00e3o de um aplicativo por pessoa. Com base nessas escolhas, cada integrante desenvolveu um Rich Picture do aplicativo escolhido, que podem ser consultados na Tabela 1.

                                "},{"location":"pre_rastreabilidade/lista_de_aplicativos/#lista-de-aplicativos-analisados","title":"Lista de Aplicativos Analisados","text":"Integrante Nome do Aplicativo Descri\u00e7\u00e3o Logo Rich Picture Ana Rocha Skoob Skoob \u00e9 uma plataforma de m\u00eddia social colaborativa voltada para o p\u00fablico leitor no Brasil. Rich Picture Jefferson Fran\u00e7a F-droid F-Droid \u00e9 uma loja de aplicativos para Android que exclusivamente oferece programas gratuitos e de c\u00f3digo aberto. Rich Picture Rafael Amancio CNPq O aplicativo serve para modernizar as ferramentas de comunica\u00e7\u00e3o e intera\u00e7\u00e3o do CNPq (Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico). Rich Picture Shaine Oliveira e Yago Passos Detran-DF O aplicativo serve para fornecer aos motoristas e propriet\u00e1rios de ve\u00edculos do Distrito Federal uma s\u00e9rie de funcionalidades relacionadas \u00e0 documenta\u00e7\u00e3o e aos servi\u00e7os de tr\u00e2nsito. Rich Picture - Shaine e Rich Picture - Yago

                                Tabela 1: Tabela de aplicativos analisados. (Fonte: Ana Rocha, 2023).

                                "},{"location":"pre_rastreabilidade/lista_de_aplicativos/#bibliografia","title":"Bibliografia","text":"

                                [1] SKOOB. Dispon\u00edvel em: Google Play. Acesso em: 15 de Setembro de 2023. [2] F-DROID. Dispon\u00edvel em: F-droid. Acesso em: 15 de Setembro de 2023. [3] CNPQ. Dispon\u00edvel em: Google Play. Acesso em: 15 de Setembro de 2023. [4] DETRAN-DF. Dispon\u00edvel em: Google Play. Acesso em: 15 de Setembro de 2023.

                                "},{"location":"pre_rastreabilidade/lista_de_aplicativos/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisor(es) 1.0 15/09/2023 15/09/2023 Adi\u00e7\u00e3o dos aplicativos analisados Ana Rocha Rafael Amancio 1.1 20/09/2023 20/09/2023 Atualiza\u00e7\u00e3o do artefato Ana Rocha Sha\u00edne Oliveira"},{"location":"verificacao/revisoes/","title":"Revis\u00f5es","text":""},{"location":"verificacao/revisoes/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                Os processos de verifica\u00e7\u00e3o e valida\u00e7\u00e3o s\u00e3o formas disciplinadas de avaliar um produto e artefatos de software e controlar sua qualidade [1]. A revis\u00e3o, que foi a an\u00e1lise est\u00e1tica escolhida no planejamento do projeto, ajuda a manter os artefatos padronizados e com conte\u00fado relevante e correspondente com a demanda do professor. Dessa forma, h\u00e1 menos propaga\u00e7\u00e3o de erros durante o projeto, que consequentemente reduz o retrabalho [2].

                                "},{"location":"verificacao/revisoes/#objetivo","title":"Objetivo","text":"

                                O objetivo desse artefato \u00e9 apresentar as escolhas e defini\u00e7\u00f5es que a equipe tra\u00e7ou, para padroniza\u00e7\u00e3o dos artefatos e acompanhamento da V&V ao longo do desenvolvimento de todo o projeto.

                                "},{"location":"verificacao/revisoes/#tecnicas-de-revisao-adotadas","title":"T\u00e9cnicas de Revis\u00e3o adotadas","text":"

                                Em cada artefato desse projeto de requisitos sobre o aplicativo Skoob, pode ser encontrado 3 diferentes m\u00e9todos de revis\u00e3o adotados. Eles est\u00e3o presentes no hist\u00f3rico de vers\u00e3o adotado pela equipe na sexta reuni\u00e3o. A Tabela 1 e 2, demonstram como ficou padronizado o hist\u00f3rico de versionamento ap\u00f3s essa reuni\u00e3o.

                                Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark: 1.1 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark: 1.2 dd/mm/aaaa dd/mm/aaaa Descri\u00e7\u00e3o do que foi feito Nome do Autor :heavy_check_mark:

                                Tabela 1: Nova tabela de Versionamento. (Fonte: Yago Passos, 2023).

                                Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) dd/mm/aaaa 1.0 Nome da T\u00e9cnica Nome do Revisor dd/mm/aaaa 1.1 e 1.2 Nome da T\u00e9cnica Nome do Revisor

                                Tabela 2: Tabela das revis\u00f5es. (Fonte: Yago Passos, 2023).

                                Dito isso, no campo da t\u00e9cnica de revis\u00e3o, a terceira coluna da tabela 2, pode ser preenchida com 3 valores diferentes, s\u00e3o eles: - Elabora\u00e7\u00e3o por Pares - Revis\u00e3o est\u00e1tica - Revis\u00e3o por inspe\u00e7\u00e3o.

                                A primeira t\u00e9cnica, elabora\u00e7\u00e3o por pares, tem origem na t\u00e9cnica de verifica\u00e7\u00e3o \"programa\u00e7\u00e3o por pares\", apresentada na v\u00eddeoaula 05 da Univesp [1]. Consiste na elabora\u00e7\u00e3o do artefato em dupla, onde uma pessoa, o autor, escreve o documento markdown acompanhado do revisor, em tempo real. H\u00e1 necess\u00e1riamente intera\u00e7\u00e3o verbal entre eles, para o desenvolvimento do artefato.

                                A segunda t\u00e9cnica (revis\u00e3o est\u00e1tica) consiste na revis\u00e3o padr\u00e3o do artefato, procurando defeitos ou inconsist\u00eancias, \u00e9 a forma padr\u00e3o proposta pelo professor Andr\u00e9 no in\u00edcio do semestre, utilizada por todos os demais grupos da mat\u00e9ria de Requisitos.

                                A terceira t\u00e9cnica (revis\u00e3o por inspe\u00e7\u00e3o), por\u00e9m, consiste na execu\u00e7\u00e3o da quinta entrega, da verifica\u00e7\u00e3o e valida\u00e7\u00e3o. Utilizando de uma metodologia criada por Fagan, a equipe analisa os artefatos a partir de uma checklist, criada pelos pr\u00f3prios membros do grupo [2]. As checklists est\u00e3o descritas em cada artefato de verifica\u00e7\u00e3o da etapa de verifica\u00e7\u00e3o.

                                "},{"location":"verificacao/revisoes/#conclusao","title":"Conclus\u00e3o","text":"

                                A ado\u00e7\u00e3o de revis\u00f5es no processo de desenvolvimento do projeto Skoob revela-se essencial para garantir a consist\u00eancia e qualidade dos artefatos. A padroniza\u00e7\u00e3o do hist\u00f3rico de versionamento, exemplificada nas Tabelas 1 e 2, proporciona uma vis\u00e3o clara do progresso, reduzindo a propaga\u00e7\u00e3o de erros e minimizando retrabalhos. As t\u00e9cnicas de revis\u00e3o, como a elabora\u00e7\u00e3o por pares, revis\u00e3o est\u00e1tica e revis\u00e3o por inspe\u00e7\u00e3o, oferecem abordagens distintas, enriquecendo a qualidade do produto final. Este artefato delineia as escolhas da equipe para a verifica\u00e7\u00e3o e valida\u00e7\u00e3o, refletindo nosso comprometimento com a excel\u00eancia e a transpar\u00eancia ao longo do ciclo de desenvolvimento.

                                "},{"location":"verificacao/revisoes/#bibliografia","title":"Bibliografia","text":"

                                [1] UNIVESP, Ger\u00eancia e Qualidade de Software - Aula 05 - Verifica\u00e7\u00e3o e Valida\u00e7\u00e3o. Dispon\u00edvel em: https://www.youtube.com/watch?v=1Y-1zz6rZxo. Acesso em: 09 de Novembro de 2023.

                                [2] UNIVESP, Ger\u00eancia e Qualidade de Software - Aula 06 - T\u00e9cnica de revis\u00e3o. Dispon\u00edvel em: https://www.youtube.com/watch?v=nA1BVDd9GUE. Acesso em: 09 de Novembro de 2023.

                                "},{"location":"verificacao/revisoes/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 12/11/2023 13/11/2023 Elabora\u00e7\u00e3o do artefato Yago Passos :heavy_check_mark:"},{"location":"verificacao/revisoes/#verificacao","title":"Verifica\u00e7\u00e3o","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) dd/mm/aaaa 1.0 nome da T\u00e9cnica Nome do Revisor"},{"location":"verificacao/grupo6/backlog_6/","title":"Verifica\u00e7\u00e3o do artefato \"Backlog do Produto\"","text":""},{"location":"verificacao/grupo6/backlog_6/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A an\u00e1lise de artefatos desempenha um papel fundamental na avalia\u00e7\u00e3o de documentos, projetos e produtos em diversas \u00e1reas, incluindo a Engenharia de Requisitos de Software. A abordagem de verifica\u00e7\u00e3o de artefatos tem por objetivo realizar uma an\u00e1lise minuciosa do conte\u00fado, estrutura e atributos espec\u00edficos de um artefato, com o prop\u00f3sito de avaliar sua qualidade, ader\u00eancia aos requisitos e congru\u00eancia com os objetivos previamente definidos.

                                Nesse contexto, o escopo de nossa pesquisa visa \u00e0 aplica\u00e7\u00e3o da t\u00e9cnica de verifica\u00e7\u00e3o de artefatos ao artefato do Backlog do Produto, desenvolvido pelo Grupo 6 em seu projeto no contexto do Detran [3]. Ressalta-se que a realiza\u00e7\u00e3o da verifica\u00e7\u00e3o est\u00e1 estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                Para melhor compreens\u00e3o, \u00e9 relevante salientar que a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, abarca uma an\u00e1lise sistem\u00e1tica e rigorosa do artefato em busca de poss\u00edveis erros, inconsist\u00eancias, omiss\u00f5es e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precis\u00e3o do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em an\u00e1lise [4].

                                "},{"location":"verificacao/grupo6/backlog_6/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o, segundo o m\u00e9todo de inspe\u00e7\u00e3o de Fagan, representa uma abordagem formal e estruturada para a revis\u00e3o de documentos, cujo prop\u00f3sito \u00e9 a identifica\u00e7\u00e3o de falhas, erros e problemas nos artefatos, incluindo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revis\u00e3o geral, prepara\u00e7\u00e3o, execu\u00e7\u00e3o da inspe\u00e7\u00e3o, corre\u00e7\u00f5es e acompanhamento [2]. Al\u00e9m disso, a avalia\u00e7\u00e3o do artefato em quest\u00e3o tamb\u00e9m se basear\u00e1 nos crit\u00e9rios de avalia\u00e7\u00e3o especificados no plano de ensino. Para dar maior clareza \u00e0 an\u00e1lise, implementamos um \"conte\u00fado esperado\", que compreende um checklist fundamentado nas quest\u00f5es previamente definidas no plano de ensino [1].

                                A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo6/backlog_6/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato estejam presentes as padroniza\u00e7\u00f5es esperadas, metodologia explicada e conte\u00fado relevante sobre o tema da entrevista.

                                "},{"location":"verificacao/grupo6/backlog_6/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui/Atende

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui/Atende Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Incompleto Bom Na \u00faltima vers\u00e3o do artefato n\u00e3o possui revisor 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? Sim \u00d3timo 5 As tabelas e o v\u00eddeo possuem legenda, fonte e s\u00e3o introduzidas no texto? Sim \u00d3timo 6 Existe uma metodologia definida no artefato? Sim \u00d3timo Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O backlog possui \u00e9picos e temas bem definidos e descritos? Incompleto Bom Os temas n\u00e3o foram bem descritos no artefato 2 Os \u00e9picos est\u00e3o priorizados e ordenados ? Sim \u00d3timo 3 O backlog atende a necessidade do usu\u00e1rio ? Sim \u00d3timo 4 O backlog foi validado com PO? Sim \u00d3timo 5 Os itens do backlog est\u00e3o escritos em forma de Hist\u00f3ria de usu\u00e1rio? Sim \u00d3timo 6 Os requisitos listados est\u00e3o conectados a uma hist\u00f3ria de usu\u00e1rio ? Sim \u00d3timo Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Sha\u00edne Oliveira, 2023)"},{"location":"verificacao/grupo6/backlog_6/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":""},{"location":"verificacao/grupo6/backlog_6/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID2 - H\u00e1 autor e revisor no artefato?
                                "},{"location":"verificacao/grupo6/backlog_6/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID5 - O backlog possui \u00e9picos e temas bem definidos e descritos?
                                "},{"location":"verificacao/grupo6/backlog_6/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 22 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 22 de novembro de 2023.

                                [3] Backlog do Produto do Grupo 6 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-Skoob/modelagem/backlog/. Acesso em 22 novembro de 2023.

                                [4] linhadec\u00f3digo, T\u00e9cnicas de VV&T - Valida\u00e7\u00e3o, Verifica\u00e7\u00e3o e Teste. Dipson\u00edvel em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 22 de novembro de 2023.

                                "},{"location":"verificacao/grupo6/backlog_6/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 22/11/2023 25/11/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne Oliveira"},{"location":"verificacao/grupo6/backlog_6/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 - Yago Passos"},{"location":"verificacao/grupo6/cronograma_6/","title":"Verifica\u00e7\u00e3o do artefato \"Cronograma Planejado\"","text":""},{"location":"verificacao/grupo6/cronograma_6/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A verifica\u00e7\u00e3o de artefatos desempenha um papel crucial na avalia\u00e7\u00e3o de documentos, projetos ou produtos em diversas \u00e1reas, incluindo os Requisitos de Software. Essa t\u00e9cnica visa a an\u00e1lise minuciosa do conte\u00fado, estrutura e caracter\u00edsticas espec\u00edficas de um artefato, com o prop\u00f3sito de avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos estabelecidos. Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Cronograma Planejado [3] , desenvolvido pelo Grupo 6, com base no plano de ensino e suas respectivas datas.

                                Em termos pr\u00e1ticos, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa \u00e9 fundamental para assegurar a qualidade e precis\u00e3o do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo6/cronograma_6/#metodologia","title":"Metodologia","text":"

                                A metodologia adotada para a verifica\u00e7\u00e3o dos artefatos \u00e9 composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                A primeira \u00e9 fundamentada nos crit\u00e9rios de avalia\u00e7\u00e3o presentes no plano de ensino [1], fornecendo um direcionamento preciso para a avalia\u00e7\u00e3o do conte\u00fado esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano, abrangendo questionamentos espec\u00edficos sobre a constru\u00e7\u00e3o do cronograma planejado [3].

                                A segunda abordagem se apoia na t\u00e9cnica formal de inspe\u00e7\u00e3o de Fagan, um processo estruturado que visa identificar e corrigir poss\u00edveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es, entre outros itens relacionados a projetos de desenvolvimento de software. Essa t\u00e9cnica proporciona uma revis\u00e3o criteriosa e sistem\u00e1tica, contribuindo para a melhoria da qualidade e precis\u00e3o dos artefatos [2]. A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo6/cronograma_6/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que o artefato apresente tabelas com o cronograma planejado para o desenvolvimento do projeto, al\u00e9m de seguir a estrutura padr\u00e3o b\u00e1sica exigida para todos os artefatos.

                                "},{"location":"verificacao/grupo6/cronograma_6/#gravacao-da-verificacao","title":"Grava\u00e7\u00e3o da verifica\u00e7\u00e3o","text":"

                                No v\u00eddeo 1, destacado abaixo, \u00e9 realizada a verifica\u00e7\u00e3o do artefato cronograma planejado conforme o checklist elaborado para tal.

                                V\u00eddeo 1: Grava\u00e7\u00e3o da verifica\u00e7\u00e3o do Cronograma Planejado. (Fonte: Ana Rocha, 2023).

                                "},{"location":"verificacao/grupo6/cronograma_6/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especifica\u00e7\u00f5es ideais do artefato, indica se o requisito \u00e9 atendido ou n\u00e3o e avalia a qualidade de acordo com a classifica\u00e7\u00e3o a seguir:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Atende todos os requisitos do conte\u00fado esperado)
                                • Bom (Atende parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o atende os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O artefato possui introdu\u00e7\u00e3o? Sim \u00d3timo 2 Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto? Incompleto Bom As tabelas 1 e 2 n\u00e3o foram introduzidas no texto. 3 Possui links para os outros artefatos, caso necess\u00e1rio? N\u00e3o Pode melhorar Pode-se incluir links para os artefatos j\u00e1 elaborados. 4 O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 5 O artefato possui um hist\u00f3rico de vers\u00f5es? Sim \u00d3timo 6 O artefato possui autor? Sim \u00d3timo 7 O artefato possui revisor? Sim \u00d3timo Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Plano de ensino da disciplina [1], 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O cronograma do planejamento apresenta todas as atividades de todas as etapas para cada integrante com as datas de in\u00edcio e fim das entregas dos artefatos? Incompleto Bom Os cronogramas n\u00e3o apresentam uma data de in\u00edcio das atividades. 2 O cronograma do planejamento apresenta um per\u00edodo de grava\u00e7\u00e3o da apresenta\u00e7\u00e3o de cada etapa? Sim \u00d3timo 3 As datas de in\u00edcio e t\u00e9rmino das atividades est\u00e3o alinhadas com as expectativas do plano de ensino? Sim \u00d3timo 4 O cronograma prev\u00ea per\u00edodos para poss\u00edveis ajustes e revis\u00f5es? Sim \u00d3timo Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Plano de ensino da disciplina [1] e Ana Rocha, 2023)"},{"location":"verificacao/grupo6/cronograma_6/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi analisado com aten\u00e7\u00e3o aos checklists apresentados, atendendo a maioria dos crit\u00e9rios. No entanto, recomenda-se realizar ajustes de acordo com as observa\u00e7\u00f5es detalhadas nas tabelas espec\u00edficas de cada ID abaixo.

                                Referentes \u00e0 Tabela 1:

                                • ID2 - Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto?
                                • ID3 - Possui links para os outros artefatos, caso necess\u00e1rio?

                                Referentes \u00e0 Tabela 2:

                                • ID1 - O cronograma do planejamento apresenta todas as atividades de todas as etapas para cada integrante com as datas de in\u00edcio e fim das entregas dos artefatos?
                                "},{"location":"verificacao/grupo6/cronograma_6/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: Aprender 3. Acesso em 08 de novembro de 2023. [2] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 23\u201d. Dispon\u00edvel em: Aprender 3. Acesso 08 de novembro de 2023. [3] GRUPO 6. Documento do Cronograma Planejado do Grupo 6 da Disciplina de Requisitos de Software. Dispon\u00edvel em: Git Page. Acesso em 22 de novembro de 2023.

                                "},{"location":"verificacao/grupo6/cronograma_6/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 23/11/2023 27/11/2023 Cria\u00e7\u00e3o do artefato Ana Rocha"},{"location":"verificacao/grupo6/cronograma_6/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 - Sha\u00edne"},{"location":"verificacao/grupo6/ferramentas_6/","title":"Verifica\u00e7\u00e3o do artefato \"Ferramentas\"","text":""},{"location":"verificacao/grupo6/ferramentas_6/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"Ferramentas\" desenvolvido pelo Grupo 6.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo6/ferramentas_6/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo6/ferramentas_6/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que o artefato contenha uma lista de todas as ferramentas utilizadas durante todo o projeto.

                                "},{"location":"verificacao/grupo6/ferramentas_6/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foram elaboradas as tabelas 1 e 2 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 Possui hiperlinks? Sim \u00d3timo 5 Todas as refer\u00eancias foram citadas no texto? N\u00e3o Pode melhorar N\u00e3o h\u00e1 nenhuma cita\u00e7\u00e3o no corpo do texto

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 Apresenta um texto fazendo uma introdu\u00e7\u00e3o do artefato? Sim \u00d3timo 2 Apresenta imagens para ilustrar as ferramentas? Sim \u00d3timo 3 As finalidades das ferramentas est\u00e3o especificadas? Sim \u00d3timo 4 Apresenta uma breve descri\u00e7\u00e3o sobre o que cada ferramenta faz? N\u00e3o Pode melhorar N\u00e3o possui uma breve descri\u00e7\u00e3o em todas as ferramentas 5 Os nomes e logos das ferramentas condizem com o pesquisado sobre elas? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                "},{"location":"verificacao/grupo6/ferramentas_6/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi bem elaborado e seguiu quase todos os checklists apresentados na tabela. Por\u00e9m, faltou esclarecer a descri\u00e7\u00e3o de cada ferramenta e citar as refer\u00eancias bibliogr\u00e1ficas no texto. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo6/ferramentas_6/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID5 - Todas as refer\u00eancias foram citadas no texto?
                                "},{"location":"verificacao/grupo6/ferramentas_6/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID4 - Apresenta uma breve descri\u00e7\u00e3o sobre o que cada ferramenta faz?
                                "},{"location":"verificacao/grupo6/ferramentas_6/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 22 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 22 de novembro de 2023.

                                [3] Documento de ferramentas escolhidos do Grupo 6 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-Skoob/planejamento/ferramentas/. Acesso em 22 novembro de 2023.

                                "},{"location":"verificacao/grupo6/ferramentas_6/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 22/11/2023 25/11/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne"},{"location":"verificacao/grupo6/ferramentas_6/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 -- Rafael Amancio"},{"location":"verificacao/grupo6/forward_6/","title":"Verifica\u00e7\u00e3o do artefato \"Forward-From\"","text":""},{"location":"verificacao/grupo6/forward_6/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A verifica\u00e7\u00e3o de artefatos desempenha um papel crucial na avalia\u00e7\u00e3o de documentos, projetos ou produtos em diversas \u00e1reas, incluindo os Requisitos de Software. Essa t\u00e9cnica visa a an\u00e1lise minuciosa do conte\u00fado, estrutura e caracter\u00edsticas espec\u00edficas de um artefato, com o prop\u00f3sito de avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos estabelecidos. Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Forward-From [3] , desenvolvido pelo Grupo 6.

                                Em termos pr\u00e1ticos, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa \u00e9 fundamental para assegurar a qualidade e precis\u00e3o do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo6/forward_6/#metodologia","title":"Metodologia","text":"

                                A metodologia adotada para a verifica\u00e7\u00e3o dos artefatos \u00e9 composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                A primeira \u00e9 fundamentada nos crit\u00e9rios de avalia\u00e7\u00e3o presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avalia\u00e7\u00e3o do conte\u00fado esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e do livro, abrangendo questionamentos espec\u00edficos sobre a constru\u00e7\u00e3o de Forward-From [3].

                                A segunda abordagem se apoia na t\u00e9cnica formal de inspe\u00e7\u00e3o de Fagan, um processo estruturado que visa identificar e corrigir poss\u00edveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es, entre outros itens relacionados a projetos de desenvolvimento de software. Essa t\u00e9cnica proporciona uma revis\u00e3o criteriosa e sistem\u00e1tica, contribuindo para a melhoria da qualidade e precis\u00e3o dos artefatos [2]. A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo6/forward_6/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                \u00c9 esperado que o artefato inclua a lista de requisitos elicitados com suas devidas identifica\u00e7\u00f5es e descri\u00e7\u00f5es, al\u00e9m de seguir a estrutura padr\u00e3o b\u00e1sica exigida para todos os artefatos.

                                "},{"location":"verificacao/grupo6/forward_6/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especifica\u00e7\u00f5es ideais do artefato, indica se o requisito \u00e9 atendido ou n\u00e3o e avalia a qualidade de acordo com a classifica\u00e7\u00e3o a seguir:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Atende todos os requisitos do conte\u00fado esperado)
                                • Bom (Atende parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o atende os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O artefato possui introdu\u00e7\u00e3o? Sim \u00d3timo 2 Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto? Sim \u00d3timo 3 Possui links para os outros artefatos, caso necess\u00e1rio? Incompleto Bom Colocar o link para o gitpages e n\u00e3o para o github 4 O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas? Sim Bom Poderia ter colocado o link de acesso das refer\u00eancias 5 O artefato possui hist\u00f3rico de vers\u00f5es? Sim \u00d3timo 6 O artefato possui autor? Sim \u00d3timo 7 O artefato possui revisor? Sim Bom At\u00e9 a data em que a verifica\u00e7\u00e3o foi feita a \u00faltima vers\u00e3o do artefato n\u00e3o havia sido revisada Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Ana Caroline e Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 Os requisitos est\u00e3o devidamente identificados no artefato? Sim \u00d3timo 2 Cada requisito no artefato possui uma descri\u00e7\u00e3o clara e concisa? Sim \u00d3timo 3 No artefato, s\u00e3o citados quais requisitos est\u00e3o implementados e quais n\u00e3o est\u00e3o? Sim \u00d3timo 4 A rastreabilidade abrange todas as fases do ciclo de vida do projeto, desde a elicita\u00e7\u00e3o dos requisitos at\u00e9 a valida\u00e7\u00e3o e a verifica\u00e7\u00e3o? Incompleto Bom Faltou alguns artefatos como: Backlog, NFR Framework e as t\u00e9cnicas de prioriza\u00e7\u00e3o 5 A rastreabilidade permite identificar os impactos de mudan\u00e7as nos requisitos em outros componentes ou funcionalidades do sistema? N\u00e3o Pode melhorar N\u00e3o foi feito o prot\u00f3tipo Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Ana Caroline e Sha\u00edne Oliveira, 2023)"},{"location":"verificacao/grupo6/forward_6/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi analisado com aten\u00e7\u00e3o aos checklists apresentados, atendendo parte dos crit\u00e9rios. No entanto, recomenda-se realizar ajustes de acordo com as observa\u00e7\u00f5es detalhadas nas tabelas espec\u00edficas de cada ID abaixo.

                                "},{"location":"verificacao/grupo6/forward_6/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID3- Possui links para os outros artefatos, caso necess\u00e1rio?
                                • ID4- O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas?
                                • ID7- O artefato possui revisor?
                                "},{"location":"verificacao/grupo6/forward_6/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID4 - A rastreabilidade abrange todas as fases do ciclo de vida do projeto, desde a elicita\u00e7\u00e3o dos requisitos at\u00e9 a valida\u00e7\u00e3o e a verifica\u00e7\u00e3o?
                                • ID5 - A rastreabilidade permite identificar os impactos de mudan\u00e7as nos requisitos em outros componentes ou funcionalidades do sistema?
                                "},{"location":"verificacao/grupo6/forward_6/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: Aprender 3. Acesso em 23 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: Aprender 3. Acessado em: 23 de novembro de 2023.

                                [3] Forward-From do Grupo 6 da Disciplina de Requisitos. Dispon\u00edvel em: Git Page. Acesso em 23 novembro de 2023.

                                [4] linhadec\u00f3digo, T\u00e9cnicas de VV&T - Valida\u00e7\u00e3o, Verifica\u00e7\u00e3o e Teste. Dipson\u00edvel em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 23 de novembro de 2023.

                                "},{"location":"verificacao/grupo6/forward_6/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 23/11/2023 25/11/2023 Cria\u00e7\u00e3o do artefato Ana Rocha e Sha\u00edne Oliveira 1.1 23/11/2023 25/11/2023 Preenchimento do checklist Ana Rocha e Sha\u00edne Oliveira"},{"location":"verificacao/grupo6/forward_6/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 -- Rafael"},{"location":"verificacao/grupo6/matriz_6/","title":"Verifica\u00e7\u00e3o do artefato \"Matriz de Rastreabilidade\"","text":""},{"location":"verificacao/grupo6/matriz_6/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A verifica\u00e7\u00e3o de artefatos desempenha um papel crucial na avalia\u00e7\u00e3o de documentos, projetos ou produtos em diversas \u00e1reas, incluindo os Requisitos de Software. Essa t\u00e9cnica visa a an\u00e1lise minuciosa do conte\u00fado, estrutura e caracter\u00edsticas espec\u00edficas de um artefato, com o prop\u00f3sito de avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos estabelecidos. Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Matriz de Rastreabilidade [3] , desenvolvido pelo Grupo 6.

                                Em termos pr\u00e1ticos, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa \u00e9 fundamental para assegurar a qualidade e precis\u00e3o do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo6/matriz_6/#metodologia","title":"Metodologia","text":"

                                A metodologia adotada para a verifica\u00e7\u00e3o dos artefatos \u00e9 composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                A primeira \u00e9 fundamentada nos crit\u00e9rios de avalia\u00e7\u00e3o presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avalia\u00e7\u00e3o do conte\u00fado esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e do livro, abrangendo questionamentos espec\u00edficos sobre a constru\u00e7\u00e3o de Matriz de Rastreabilidade [3].

                                A segunda abordagem se apoia na t\u00e9cnica formal de inspe\u00e7\u00e3o de Fagan, um processo estruturado que visa identificar e corrigir poss\u00edveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es, entre outros itens relacionados a projetos de desenvolvimento de software. Essa t\u00e9cnica proporciona uma revis\u00e3o criteriosa e sistem\u00e1tica, contribuindo para a melhoria da qualidade e precis\u00e3o dos artefatos [2]. A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo6/matriz_6/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                \u00c9 esperado que o artefato inclua a lista de requisitos elicitados com suas devidas identifica\u00e7\u00f5es e descri\u00e7\u00f5es, al\u00e9m de seguir a estrutura padr\u00e3o b\u00e1sica exigida para todos os artefatos.

                                "},{"location":"verificacao/grupo6/matriz_6/#gravacao-da-verificacao","title":"Grava\u00e7\u00e3o da verifica\u00e7\u00e3o","text":"

                                No v\u00eddeo 1, destacado abaixo, \u00e9 realizada a verifica\u00e7\u00e3o do artefato cronograma planejado conforme o checklist elaborado.

                                V\u00eddeo 1: Grava\u00e7\u00e3o da Verifica\u00e7\u00e3o da Matriz de Rastreabilidade. (Fonte: Sha\u00edne Oliveira, 2023)..

                                "},{"location":"verificacao/grupo6/matriz_6/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especifica\u00e7\u00f5es ideais do artefato, indica se o requisito \u00e9 atendido ou n\u00e3o e avalia a qualidade de acordo com a classifica\u00e7\u00e3o a seguir:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Atende todos os requisitos do conte\u00fado esperado)
                                • Bom (Atende parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o atende os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O artefato possui introdu\u00e7\u00e3o? Sim Bom Poderia ter explicado melhor sobre a matriz de rastreabilidade 2 Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto? Sim \u00d3timo 3 Possui links para os outros artefatos, caso necess\u00e1rio? Incompleto Bom Faltou os links para os requisitos funcionais e n\u00e3o funcionais 4 O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 5 O artefato possui hist\u00f3rico de vers\u00f5es? Sim \u00d3timo 6 O artefato possui autor? Sim \u00d3timo 7 O artefato possui revisor? Sim \u00d3timo Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 Os requisitos est\u00e3o devidamente identificados no artefato? Sim \u00d3timo 2 As rela\u00e7\u00f5es entre requisitos e componentes s\u00e3o precisas e atualizadas? Sim Bom Alguns requisitos possuem apenas um artefato relacionado 3 No artefato, s\u00e3o citados quais requisitos est\u00e3o implementados e quais n\u00e3o est\u00e3o? Sim \u00d3timo 4 Na matriz de rastreabilidade \u00e9 poss\u00edvel identificar todos os artefatos relacionados? Sim \u00d3timo 5 A matriz inclui rastreabilidade de requisitos em diferentes fases do projeto ? Incompleto Bom Alguns requisitos foram elicitados por duas t\u00e9cnicas, mas o grupo deixou apenas uma 6 No artefato o grupo representou as linhas da matriz com os artefatos iniciais (requisitos) e as colunas com artefatos alvos (fonte de requisitos, artefatos de desenvolvimento)? N\u00e3o Pode melhorar O artefato foi realizado em forma de tabela Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Sha\u00edne Oliveira, 2023)"},{"location":"verificacao/grupo6/matriz_6/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi analisado com aten\u00e7\u00e3o aos checklists apresentados, atendendo parte dos crit\u00e9rios. No entanto, recomenda-se realizar ajustes de acordo com as observa\u00e7\u00f5es detalhadas nas tabelas espec\u00edficas de cada ID abaixo.

                                "},{"location":"verificacao/grupo6/matriz_6/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID1 - O artefato possui introdu\u00e7\u00e3o?
                                • ID3 - Possui links para os outros artefatos, caso necess\u00e1rio?
                                "},{"location":"verificacao/grupo6/matriz_6/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID2 - As rela\u00e7\u00f5es entre requisitos e componentes s\u00e3o precisas e atualizadas?
                                • ID5 - A matriz inclui rastreabilidade de requisitos em diferentes fases do projeto ?
                                • ID6 - No artefato o grupo representou as linhas da matriz com os artefatos iniciais (requisitos) e as colunas com artefatos alvos (fonte de requisitos, artefatos de desenvolvimento)?
                                "},{"location":"verificacao/grupo6/matriz_6/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 23 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 23 de novembro de 2023.

                                [3] Matriz de Rastreabilidade do Grupo 6 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-Skoob/pos_rastreabilidade/matriz/. Acesso em 23 novembro de 2023.

                                [4] linhadec\u00f3digo, T\u00e9cnicas de VV&T - Valida\u00e7\u00e3o, Verifica\u00e7\u00e3o e Teste. Dipson\u00edvel em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 23 de novembro de 2023.

                                "},{"location":"verificacao/grupo6/matriz_6/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 23/11/2023 25/11/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne Oliveira 1.1 23/11/2023 25/11/2023 Preenchimento de checklist Sha\u00edne Oliveira"},{"location":"verificacao/grupo6/matriz_6/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 -- Jefferson Fran\u00e7a"},{"location":"verificacao/grupo6/requisitos_6/","title":"Verifica\u00e7\u00e3o do artefato \"Requisitos Elicitados\"","text":""},{"location":"verificacao/grupo6/requisitos_6/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A verifica\u00e7\u00e3o de artefatos desempenha um papel crucial na avalia\u00e7\u00e3o de documentos, projetos ou produtos em diversas \u00e1reas, incluindo os Requisitos de Software. Essa t\u00e9cnica visa a an\u00e1lise minuciosa do conte\u00fado, estrutura e caracter\u00edsticas espec\u00edficas de um artefato, com o prop\u00f3sito de avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos estabelecidos. Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Requisitos Elicitados [3] , desenvolvido pelo Grupo 6.

                                Em termos pr\u00e1ticos, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa \u00e9 fundamental para assegurar a qualidade e precis\u00e3o do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo6/requisitos_6/#metodologia","title":"Metodologia","text":"

                                A metodologia adotada para a verifica\u00e7\u00e3o dos artefatos \u00e9 composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                A primeira \u00e9 fundamentada nos crit\u00e9rios de avalia\u00e7\u00e3o presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avalia\u00e7\u00e3o do conte\u00fado esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e do livro, abrangendo questionamentos espec\u00edficos sobre a constru\u00e7\u00e3o de Requisitos Elicitados [3].

                                A segunda abordagem se apoia na t\u00e9cnica formal de inspe\u00e7\u00e3o de Fagan, um processo estruturado que visa identificar e corrigir poss\u00edveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es, entre outros itens relacionados a projetos de desenvolvimento de software. Essa t\u00e9cnica proporciona uma revis\u00e3o criteriosa e sistem\u00e1tica, contribuindo para a melhoria da qualidade e precis\u00e3o dos artefatos [2]. A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo6/requisitos_6/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                \u00c9 esperado que o artefato inclua a lista de requisitos elicitados com suas devidas identifica\u00e7\u00f5es e descri\u00e7\u00f5es, al\u00e9m de seguir a estrutura padr\u00e3o b\u00e1sica exigida para todos os artefatos.

                                "},{"location":"verificacao/grupo6/requisitos_6/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especifica\u00e7\u00f5es ideais do artefato, indica se o requisito \u00e9 atendido ou n\u00e3o e avalia a qualidade de acordo com a classifica\u00e7\u00e3o a seguir:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Atende todos os requisitos do conte\u00fado esperado)
                                • Bom (Atende parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o atende os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O artefato possui introdu\u00e7\u00e3o? N\u00e3o Pode melhorar 2 Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto? Sim \u00d3timo 3 Possui links para os outros artefatos, caso necess\u00e1rio? N\u00e3o Pode melhorar N\u00e3o possui links para outros artefatos ou sites 4 O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas? N\u00e3o Pode melhorar N\u00e3o possui refer\u00eancias 5 O artefato possui hist\u00f3rico de vers\u00f5es? Sim \u00d3timo 6 O artefato possui autor? Sim \u00d3timo 7 O artefato possui revisor? Sim \u00d3timo Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 Todos os requisitos elicitados foram devidamente listados? Sim \u00d3timo 2 Os requisitos foram diferenciados entre \"Funcionais\" e \"N\u00e3o Funcionais\"? Sim \u00d3timo 3 No artefato, s\u00e3o citados quais requisitos est\u00e3o implementados e quais n\u00e3o est\u00e3o? Sim \u00d3timo 4 Os requisitos possuem rastreabilidade? Incompleto Bom Os requisitos apresentam apenas uma t\u00e9cnica de elicita\u00e7\u00e3o, o que acaba comprometendo a rastreabilidade Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Sha\u00edne Oliveira, 2023)"},{"location":"verificacao/grupo6/requisitos_6/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi analisado com aten\u00e7\u00e3o aos checklists apresentados, atendendo parte dos crit\u00e9rios. No entanto, recomenda-se realizar ajustes de acordo com as observa\u00e7\u00f5es detalhadas nas tabelas espec\u00edficas de cada ID abaixo.

                                "},{"location":"verificacao/grupo6/requisitos_6/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID1 - O artefato possui introdu\u00e7\u00e3o?
                                • ID3 - Possui links para os outros artefatos, caso necess\u00e1rio?
                                • ID4 - O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas?
                                "},{"location":"verificacao/grupo6/requisitos_6/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID4 - Os requisitos possuem rastreabilidade?
                                "},{"location":"verificacao/grupo6/requisitos_6/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: Aprender 3. Acesso em 22 de novembro de 2023. [2] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 23\u201d. Dispon\u00edvel em: Aprender 3. Acesso 22 de novembro de 2023. [3] GRUPO 6. Documento de Requisitos Elicitados do Grupo 7 da Disciplina de Requisitos de Software. Dispon\u00edvel em: Git Page. Acesso em 22 novembro de 2023. [4] Requirements Elicitation. Software Requirements, Third Edition. Dispon\u00edvel em: Aprender 3. Acesso em 22 de novembro de 2023.

                                "},{"location":"verificacao/grupo6/requisitos_6/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":""},{"location":"verificacao/grupo6/requisitos_6/#historico-de-versao_1","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 22/11/2023 25/11/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne"},{"location":"verificacao/grupo6/requisitos_6/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 -- Ana Caroline"},{"location":"verificacao/grupo7/FTF/","title":"Verifica\u00e7\u00e3o do artefato \"First Things First\"","text":""},{"location":"verificacao/grupo7/FTF/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"First Things First\" desenvolvido pelo Grupo 7.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/FTF/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/FTF/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que o artefato contenha introdu\u00e7\u00e3o, metodologia e resultado da t\u00e9cnica de prioriza\u00e7\u00e3o First Things First.

                                "},{"location":"verificacao/grupo7/FTF/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foram elaboradas as tabelas 1 e 2 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim Bom 4 Possui hiperlinks? N\u00e3o Pode melhorar \u00c9 recomendado ligar os requisitos que foram priorizados com seus artefatos de origem (elicita\u00e7\u00e3o). Para realizar isso basta colocar hiperlinks nos ID's de cada requisito.

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Rafael Amancio, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 Apresenta um texto fazendo uma introdu\u00e7\u00e3o do artefato? Sim Bom A introdu\u00e7\u00e3o ficou muito extensa 2 Apresenta um texto explicando a metodologia da t\u00e9cnica? Sim Bom Seria interessante criar um t\u00f3pico chamado Metodologia, separando-a da introdu\u00e7\u00e3o 3 H\u00e1 participa\u00e7\u00e3o do cliente e/ou persona na prioriza\u00e7\u00e3o de requisitos? N\u00e3o Pode melhorar \u00c9 de extrema import\u00e2ncia realizar a prioriza\u00e7\u00e3o utilizando personas ou com contato direto do cliente 4 A t\u00e9cnica foi executada de maneira correta? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Rafael Amancio, 2023)

                                "},{"location":"verificacao/grupo7/FTF/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato apresenta algumas falhas que poderiam ser corrigidas seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/FTF/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID4 - Possui hiperlinks?
                                "},{"location":"verificacao/grupo7/FTF/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID1 - Apresenta um texto fazendo uma introdu\u00e7\u00e3o do artefato?
                                • ID2 - Apresenta um texto explicando a metodologia da t\u00e9cnica?
                                • ID3 - H\u00e1 participa\u00e7\u00e3o do cliente e/ou persona na prioriza\u00e7\u00e3o de requisitos?
                                "},{"location":"verificacao/grupo7/FTF/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                [3] Documento de First Things First escolhido do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_1/FTF/. Acesso em 11 novembro de 2023.

                                "},{"location":"verificacao/grupo7/FTF/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 11/11/2023 12/11/2023 Cria\u00e7\u00e3o do artefato Rafael Amancio"},{"location":"verificacao/grupo7/FTF/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 13/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Ana Caroline"},{"location":"verificacao/grupo7/analise-documentos/","title":"Verifica\u00e7\u00e3o do artefato \"An\u00e1lise de Documentos\"","text":""},{"location":"verificacao/grupo7/analise-documentos/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"An\u00e1lise de Documentos\" desenvolvido pelo Grupo 7.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/analise-documentos/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/analise-documentos/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato encontre todos os objetivos e necessidades atendidas com a an\u00e1lise dos documentos.

                                "},{"location":"verificacao/grupo7/analise-documentos/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 e a tabela 2 relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Incompleto Bom Na vers\u00e3o 1.0 n\u00e3o possui um revisor 3 Existem refer\u00eancias bibliogr\u00e1ficas? N\u00e3o Pode melhorar N\u00e3o foi apresentada nenhuma refer\u00eancia bibliogr\u00e1fica 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? Sim Bom O hiperlink apresentado n\u00e3o est\u00e1 no formato de link

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 participa\u00e7\u00e3o do cliente ou persona na elicita\u00e7\u00e3o de requisitos? N\u00e3o Pode melhorar O processo de elicita\u00e7\u00e3o de requisitos deve ser feito com a presen\u00e7a de um cliente e/ou persona 2 Existe uma metodologia definida no artefato? N\u00e3o Pode melhorar No artefato poderia ter colocado como foi feito todo o processo de elicita\u00e7\u00e3o com o nome dos participantes, hor\u00e1rios, etc. 3 H\u00e1 grava\u00e7\u00e3o da elicita\u00e7\u00e3o de requisitos? N\u00e3o Pode melhorar N\u00e3o h\u00e1 grava\u00e7\u00e3o 4 Foram definidos os objetivos e necessidades a serem respondidos pela an\u00e1lise? Sim Bom Poderiam ter esclarecido melhor quais eram os objetivos e necessidades para facilitar no entendimento do artefato 5 A an\u00e1lise responde os objetivos e necessidades definidos? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                "},{"location":"verificacao/grupo7/analise-documentos/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato precisa de ajustes, pois n\u00e3o seguiu quase todos os checklists apresentados na tabela. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/analise-documentos/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID2 - H\u00e1 autor e revisor no artefato?
                                • ID3 - Existem refer\u00eancias bibliogr\u00e1ficas?
                                • ID4 - Possui hiperlinks para outros artefatos caso necess\u00e1rio?
                                "},{"location":"verificacao/grupo7/analise-documentos/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID1 - H\u00e1 participa\u00e7\u00e3o do cliente ou persona na elicita\u00e7\u00e3o de requisitos?
                                • ID2 - Existe uma metodologia definida no artefato?
                                • ID3 - H\u00e1 grava\u00e7\u00e3o da elicita\u00e7\u00e3o de requisitos?
                                • ID4 - Foram definidos os objetivos e necessidades a serem respondidos pela an\u00e1lise?
                                "},{"location":"verificacao/grupo7/analise-documentos/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 7 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 7 de novembro de 2023.

                                [3] Personas do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_2/analise_de_documentos/. Acesso em 7 novembro de 2023.

                                "},{"location":"verificacao/grupo7/analise-documentos/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 07/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne 1.1 11/11/2023 13/11/2023 Corre\u00e7\u00f5es no artefato Sha\u00edne"},{"location":"verificacao/grupo7/analise-documentos/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx -- --- Rafael"},{"location":"verificacao/grupo7/aplicativos/","title":"Verifica\u00e7\u00e3o do artefato \"Aplicativos\"","text":""},{"location":"verificacao/grupo7/aplicativos/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"Aplicativos\" desenvolvido pelo Grupo 7.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/aplicativos/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/aplicativos/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que o artefato contenha uma lista de todos os aplicativos utilizados na fase de pr\u00e9-rastreabilidade.

                                "},{"location":"verificacao/grupo7/aplicativos/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foram elaboradas as tabelas 1 e 2 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim Bom As refer\u00eancias bibliogr\u00e1ficas n\u00e3o est\u00e3o no padr\u00e3o ABNT 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? N\u00e3o Pode melhorar Poderia ter colocado o link para os termos de uso, j\u00e1 que o mesmo se encontra em outro artefato

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 O aplicativo apresenta uma documenta\u00e7\u00e3o que permite o estudo? Sim \u00d3timo 2 H\u00e1 motiva\u00e7\u00e3o e crit\u00e9rios de escolha do app? Sim \u00d3timo 3 O aplicativo n\u00e3o foi utilizado na disciplina em outros semestres? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                "},{"location":"verificacao/grupo7/aplicativos/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi bem elaborado e seguiu quase todos os checklists apresentados na tabela. Por\u00e9m, faltou apresentar o link para o termo de uso do aplicativo escolhido para facilitar o entendimento do mesmo. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/aplicativos/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID3 - Existem refer\u00eancias bibliogr\u00e1ficas?
                                • ID4 - Possui hiperlinks para outros artefatos caso necess\u00e1rio?
                                "},{"location":"verificacao/grupo7/aplicativos/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 7 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 7 de novembro de 2023.

                                [3] Documento de aplicativos escolhidos do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_1/aplicativos/. Acesso em 7 novembro de 2023.

                                "},{"location":"verificacao/grupo7/aplicativos/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 07/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne 1.1 11/11/2023 13/11/2023 Corre\u00e7\u00f5es no artefato Sha\u00edne"},{"location":"verificacao/grupo7/aplicativos/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 11/11/2023 1.1 Revis\u00e3o por inspe\u00e7\u00e3o Ana Caroline"},{"location":"verificacao/grupo7/backlog/","title":"Verifica\u00e7\u00e3o do artefato \"Backlog do Produto\"","text":""},{"location":"verificacao/grupo7/backlog/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A an\u00e1lise de artefatos desempenha um papel fundamental na avalia\u00e7\u00e3o de documentos, projetos e produtos em diversas \u00e1reas, incluindo a Engenharia de Requisitos de Software. A abordagem de verifica\u00e7\u00e3o de artefatos tem por objetivo realizar uma an\u00e1lise minuciosa do conte\u00fado, estrutura e atributos espec\u00edficos de um artefato, com o prop\u00f3sito de avaliar sua qualidade, ader\u00eancia aos requisitos e congru\u00eancia com os objetivos previamente definidos.

                                Nesse contexto, o escopo de nossa pesquisa visa \u00e0 aplica\u00e7\u00e3o da t\u00e9cnica de verifica\u00e7\u00e3o de artefatos ao artefato do Backlog do Produto, desenvolvido pelo Grupo 7 em seu projeto no contexto do Detran [3]. Ressalta-se que a realiza\u00e7\u00e3o da verifica\u00e7\u00e3o est\u00e1 estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                Para melhor compreens\u00e3o, \u00e9 relevante salientar que a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, abarca uma an\u00e1lise sistem\u00e1tica e rigorosa do artefato em busca de poss\u00edveis erros, inconsist\u00eancias, omiss\u00f5es e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precis\u00e3o do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em an\u00e1lise [4].

                                "},{"location":"verificacao/grupo7/backlog/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o, segundo o m\u00e9todo de inspe\u00e7\u00e3o de Fagan, representa uma abordagem formal e estruturada para a revis\u00e3o de documentos, cujo prop\u00f3sito \u00e9 a identifica\u00e7\u00e3o de falhas, erros e problemas nos artefatos, incluindo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revis\u00e3o geral, prepara\u00e7\u00e3o, execu\u00e7\u00e3o da inspe\u00e7\u00e3o, corre\u00e7\u00f5es e acompanhamento [2]. Al\u00e9m disso, a avalia\u00e7\u00e3o do artefato em quest\u00e3o tamb\u00e9m se basear\u00e1 nos crit\u00e9rios de avalia\u00e7\u00e3o especificados no plano de ensino. Para dar maior clareza \u00e0 an\u00e1lise, implementamos um \"conte\u00fado esperado\", que compreende um checklist fundamentado nas quest\u00f5es previamente definidas no plano de ensino [1].

                                A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                s

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo7/backlog/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato estejam presentes as padroniza\u00e7\u00f5es esperadas, metodologia explicada e conte\u00fado relevante sobre o tema da entrevista.

                                "},{"location":"verificacao/grupo7/backlog/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui/Atende

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                ID Conte\u00fado Possui/Atende Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo - 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo - 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo Est\u00e3o separados (?) 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? N\u00e3o Pode Melhorar O artefato \u00e9 dependente dos requisitos elicitados, mas n\u00e3o h\u00e1 liga\u00e7\u00e3o com outros artefatos. 5 As tabelas e imagens possuem legenda, fonte e s\u00e3o introduzidas no texto? Incompleto Bom As tabelas de 1 a 8 poderiam ser introduzidas no texto 6 As refer\u00eancias bibliogr\u00e1ficas est\u00e3o citadas no texto? Incompleto Bom N\u00e3o todas. 6 Todas informa\u00e7\u00f5es que o texto tr\u00e1s, citam e s\u00e3o referenciadas com alguma bibliografia? Incompleto Bom Apenas um texto que tr\u00e1s informa\u00e7\u00f5es relevantes necessitadas de cita\u00e7\u00e3o realmente faz uma conex\u00e3o com a refer\u00eancia bibliogr\u00e1fica. 7 Existe uma metodologia definida no artefato? Sim Pode melhorar A metodologia n\u00e3o descreve como a equipe 7 criou os \u00e9picos. 8 O backlog possui \u00e9picos e temas bem definidos e descritos? Incompleto Pode melhorar N\u00e3o h\u00e1 temas que originam os \u00e9picos.

                                Tabela 1: Checklist pro artefato do Backlog do Produto. (Fonte: Yago Passos, 2023).

                                "},{"location":"verificacao/grupo7/backlog/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                No geral, o artefato est\u00e1 condizente com o conteudo, mas precisa de pequenos ajustes. O que o Grupo Skoob sugere:

                                • Sempre citar a refer\u00eancia bibliogr\u00e1fica no texto do corpo do artefato.
                                • Sempre introduzir tabelas, v\u00eddeos e outras estruturas gr\u00e1ficas no texto, antes do conte\u00fado.
                                • Ser mais detalhado e espec\u00edfico na metodologia, n\u00e3o resuma essa parte: explicar como, quando e quem resumiu os requisitos elicitados nos \u00e9picos propostos.
                                • Sempre buscar poss\u00edveis liga\u00e7\u00f5es que seu artefato tem com o outro, para manter o projeto conversando (Nesse caso: requisitos elicitados).
                                • Tematizar primeiro as funcionalidades, para depois dividir em \u00e9picos.
                                • Se inspirar nos trabalhos do semestre passado, como o do VLC ou da Bilheteria Digital
                                "},{"location":"verificacao/grupo7/backlog/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 12 de novembro de 2023.

                                [3] Backlog do Produto do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/entrega_4/backlog/. Acesso em 12 novembro de 2023.

                                [4] linhadec\u00f3digo, T\u00e9cnicas de VV&T - Valida\u00e7\u00e3o, Verifica\u00e7\u00e3o e Teste. Dipson\u00edvel em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 8 de novembro de 2023.

                                "},{"location":"verificacao/grupo7/backlog/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 12/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Yago Passos"},{"location":"verificacao/grupo7/backlog/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 - Rafael Amancio"},{"location":"verificacao/grupo7/casos-de-uso/","title":"Verifica\u00e7\u00e3o do artefato \"Casos de uso\"","text":""},{"location":"verificacao/grupo7/casos-de-uso/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"Casos de uso\" desenvolvido pelo Grupo 7.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/casos-de-uso/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/casos-de-uso/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato encontre todos os objetivos e necessidades atendidas com a an\u00e1lise dos documentos.

                                "},{"location":"verificacao/grupo7/casos-de-uso/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 e a tabela 2 relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Os revisores s\u00e3o pessoas diferentes dos autores? Sim \u00d3timo 4 Existem refer\u00eancias bibliogr\u00e1ficas? N\u00e3o Pode melhorar Todos os artefatos devem ter refer\u00eancias bibliogr\u00e1ficas 5 Possui hiperlinks para outros artefatos caso necess\u00e1rio? N\u00e3o Pode melhorar Os requisitos poderiam ter links para as t\u00e9cnicas de elicita\u00e7\u00e3o, na linha da tabela chamada \"Rastreablidade\"

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Rafael, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 A modelagem de casos de uso cobre todas as principais funcionalidades e intera\u00e7\u00f5es do sistema? Sim \u00d3timo 2 Existe limite do sistema? Sim \u00d3timo 3 Os atores est\u00e3o fora da fronteira do sistema? Sim \u00d3timo 4 O ator principal est\u00e1 do lado esquerdo do sistema? Sim \u00d3timo 5 Os casos de uso possuem rastreabilidade? Sim Bom S\u00f3 faltou colocar os links para melhor rastreabilidade 6 Os diagramas de caso de uso focam nos requisitos funcionais do sistema? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Rafael, 2023)

                                "},{"location":"verificacao/grupo7/casos-de-uso/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato precisa de ajustes. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/casos-de-uso/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID4 - Existem refer\u00eancias bibliogr\u00e1ficas?
                                • ID5 - Possui hiperlinks para outros artefatos caso necess\u00e1rio?
                                "},{"location":"verificacao/grupo7/casos-de-uso/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID5 - Os casos de uso possuem rastreabilidade?
                                "},{"location":"verificacao/grupo7/casos-de-uso/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 13 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 13 de novembro de 2023.

                                [3] Casos de uso do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/casos_de_uso/. Acesso em 13 novembro de 2023.

                                "},{"location":"verificacao/grupo7/casos-de-uso/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 13/11/2023 13/11/2023 Cria\u00e7\u00e3o do artefato Rafael"},{"location":"verificacao/grupo7/casos-de-uso/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 13/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Ana Caroline"},{"location":"verificacao/grupo7/cenarios/","title":"Verifica\u00e7\u00e3o do artefato \"Cen\u00e1rios\"","text":""},{"location":"verificacao/grupo7/cenarios/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"Cen\u00e1rios\" desenvolvido pelo Grupo 7.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/cenarios/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/cenarios/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato encontre todos os objetivos e necessidades atendidas com a an\u00e1lise dos documentos.

                                "},{"location":"verificacao/grupo7/cenarios/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 e a tabela 2 relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim Bom Acredita-se que n\u00e3o tenha apenas uma refer\u00eancia, o pr\u00f3prio aplicativo j\u00e1 se torna uma refer\u00eancia 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? N\u00e3o Pode melhorar Os requisitos poderiam ter links para as t\u00e9cnicas de elicita\u00e7\u00e3o

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Rafael, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 Os cen\u00e1rios possuem t\u00edtulo, objetivo, contexto, atores, recursos, eps\u00f3dios, retri\u00e7\u00e3o e exce\u00e7\u00e3o? N\u00e3o Pode melhorar Os cen\u00e1rios n\u00e3o cont\u00e9m restri\u00e7\u00f5es e exce\u00e7\u00f5es 2 Os cen\u00e1rios s\u00e3o descritos de forma clara e concisa, fornecendo informa\u00e7\u00f5es suficientes para entender o contexto, a a\u00e7\u00e3o realizada e o resultado esperado? Sim Bom A falta de alguns itens na descri\u00e7\u00e3o do cen\u00e1rio acabou afetando o entendimento do contexto (restri\u00e7\u00f5es e exce\u00e7\u00f5es) 3 A modelagem de cen\u00e1rios cobre adequadamente as principais funcionalidades e intera\u00e7\u00f5es do sistema? Sim \u00d3timo 4 Os cen\u00e1rios s\u00e3o priorizadoes com base em sua import\u00e2ncia, impacto e frequ\u00eancia de ocorr\u00eancia? Sim \u00d3timo 5 O cen\u00e1rio est\u00e1 associado a requisitos ou hist\u00f3rias de usu\u00e1rio espec\u00edficas? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Rafael, 2023)

                                "},{"location":"verificacao/grupo7/cenarios/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato precisa de ajustes. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/cenarios/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID3 - Existem refer\u00eancias bibliogr\u00e1ficas?
                                • ID4 - Possui hiperlinks para outros artefatos caso necess\u00e1rio?
                                "},{"location":"verificacao/grupo7/cenarios/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID1 - Os cen\u00e1rios possuem t\u00edtulo, objetivo, contexto, atores, recursos, eps\u00f3dios, retri\u00e7\u00e3o e exce\u00e7\u00e3o?
                                • ID2 - Os cen\u00e1rios s\u00e3o descritos de forma clara e concisa, fornecendo informa\u00e7\u00f5es suficientes para entender o contexto, a a\u00e7\u00e3o realizada e o resultado esperado?
                                "},{"location":"verificacao/grupo7/cenarios/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 13 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 13 de novembro de 2023.

                                [3] Cen\u00e1rios do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/cenarios/. Acesso em 13 novembro de 2023.

                                "},{"location":"verificacao/grupo7/cenarios/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 13/11/2023 13/11/2023 Cria\u00e7\u00e3o do artefato Rafael"},{"location":"verificacao/grupo7/cenarios/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 13/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Shaine"},{"location":"verificacao/grupo7/cronogramas/","title":"Verifica\u00e7\u00e3o do artefato \"Cronograma do Projeto\"","text":""},{"location":"verificacao/grupo7/cronogramas/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A verifica\u00e7\u00e3o de artefatos desempenha um papel crucial na avalia\u00e7\u00e3o de documentos, projetos ou produtos em diversas \u00e1reas, incluindo os Requisitos de Software. Essa t\u00e9cnica visa a an\u00e1lise minuciosa do conte\u00fado, estrutura e caracter\u00edsticas espec\u00edficas de um artefato, com o prop\u00f3sito de avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos estabelecidos. Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Cronograma do Projeto [3] , desenvolvido pelo Grupo 7, com base no plano de ensino e suas respectivas datas.

                                Em termos pr\u00e1ticos, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa \u00e9 fundamental para assegurar a qualidade e precis\u00e3o do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/cronogramas/#metodologia","title":"Metodologia","text":"

                                A metodologia adotada para a verifica\u00e7\u00e3o dos artefatos \u00e9 composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                A primeira \u00e9 fundamentada nos crit\u00e9rios de avalia\u00e7\u00e3o presentes no plano de ensino [1], fornecendo um direcionamento preciso para a avalia\u00e7\u00e3o do conte\u00fado esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano, abrangendo questionamentos espec\u00edficos sobre a constru\u00e7\u00e3o dos cronogramas [3], planejado e executado.

                                A segunda abordagem se apoia na t\u00e9cnica formal de inspe\u00e7\u00e3o de Fagan, um processo estruturado que visa identificar e corrigir poss\u00edveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es, entre outros itens relacionados a projetos de desenvolvimento de software. Essa t\u00e9cnica proporciona uma revis\u00e3o criteriosa e sistem\u00e1tica, contribuindo para a melhoria da qualidade e precis\u00e3o dos artefatos [2]. A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo7/cronogramas/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que o artefato apresente tabelas com os cronogramas planejados e executados ao longo do projeto, al\u00e9m de seguir a estrutura padr\u00e3o b\u00e1sica exigida para todos os artefatos.

                                "},{"location":"verificacao/grupo7/cronogramas/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especifica\u00e7\u00f5es ideais do artefato, indica se o requisito \u00e9 atendido ou n\u00e3o e avalia a qualidade de acordo com a classifica\u00e7\u00e3o a seguir:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Atende todos os requisitos do conte\u00fado esperado)
                                • Bom (Atende parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o atende os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O artefato possui introdu\u00e7\u00e3o? Sim Bom O texto de introdu\u00e7\u00e3o possui erros ortogr\u00e1ficos e gramaticais. 2 Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto? Incompleto Pode melhorar O artefato apresenta tabelas sem legenda e sem chamadas no texto, al\u00e9m disso, algumas das tabelas que atendem aos requisitos est\u00e3o com o n\u00famero de identifica\u00e7\u00e3o incorreto. 3 Possui links para os outros artefatos, caso necess\u00e1rio? N\u00e3o \u00d3timo N\u00e3o foi necess\u00e1rio. 4 O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas? Sim Bom A(s) refer\u00eancia(s) n\u00e3o s\u00e3o mencionadas ao longo do artefato. 5 O artefato possui um hist\u00f3rico de vers\u00f5es? Sim \u00d3timo 6 O artefato possui autor? Sim \u00d3timo 7 O artefato possui revisor? Incompleto Bom N\u00e3o possui revisor em todas as vers\u00f5es do hist\u00f3rico. Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Plano de ensino da disciplina [1], 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O cronograma do planejamento apresenta todas as atividades de todas as etapas para cada integrante com as datas de in\u00edcio e fim das entregas dos artefatos, assim como o per\u00edodo da revis\u00e3o deles? Incompleto Bom Alguns dos cronogramas detalhados n\u00e3o incluem um per\u00edodo de revis\u00e3o. 2 O cronograma do planejamento apresenta um per\u00edodo de grava\u00e7\u00e3o da apresenta\u00e7\u00e3o de cada etapa? Sim \u00d3timo 3 O cronograma executado indica quem realizou cada artefato/atividade, juntamente com as datas de in\u00edcio e fim da constru\u00e7\u00e3o/realiza\u00e7\u00e3o do artefato/atividade? Incompleto Bom Em alguns cronogramas, n\u00e3o h\u00e1 indica\u00e7\u00e3o da data de in\u00edcio e fim. 4 O cronograma foi atualizado ao longo do desenvolvimento, levando em conta altera\u00e7\u00f5es nas datas e nos respons\u00e1veis pelas atividades? Sim \u00d3timo Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Plano de ensino da disciplina [1] e Ana Rocha, 2023)"},{"location":"verificacao/grupo7/cronogramas/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi analisado com aten\u00e7\u00e3o aos checklists apresentados, atendendo a maioria dos crit\u00e9rios. No entanto, recomenda-se realizar ajustes de acordo com as observa\u00e7\u00f5es detalhadas nas tabelas espec\u00edficas de cada ID abaixo.

                                Referentes \u00e0 Tabela 1:

                                • ID1: O artefato possui introdu\u00e7\u00e3o?
                                • ID2: Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto?
                                • ID4: O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas?
                                • ID7: O artefato possui revisor?

                                Referentes \u00e0 Tabela 2:

                                • ID1: O cronograma do planejamento apresenta todas as atividades de todas as etapas para cada integrante com as datas de in\u00edcio e fim das entregas dos artefatos, assim como o per\u00edodo da revis\u00e3o deles?
                                • ID3: O cronograma executado indica quem realizou cada artefato/atividade, juntamente com as datas de in\u00edcio e fim da constru\u00e7\u00e3o/realiza\u00e7\u00e3o do artefato/atividade?
                                "},{"location":"verificacao/grupo7/cronogramas/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: Aprender 3. Acesso em 08 de novembro de 2023. [2] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 23\u201d. Dispon\u00edvel em: Aprender 3. Acesso 08 de novembro de 2023. [3] GRUPO 7. Documento do Cronograma do Projeto do Grupo 7 da Disciplina de Requisitos de Software. Dispon\u00edvel em: Git Page. Acesso em 08 novembro de 2023.

                                "},{"location":"verificacao/grupo7/cronogramas/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 08/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Ana Rocha"},{"location":"verificacao/grupo7/cronogramas/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 11/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Sha\u00edne"},{"location":"verificacao/grupo7/entrevista/","title":"Verifica\u00e7\u00e3o do artefato \"Entrevista\"","text":""},{"location":"verificacao/grupo7/entrevista/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A an\u00e1lise de artefatos desempenha um papel fundamental na avalia\u00e7\u00e3o de documentos, projetos e produtos em diversas \u00e1reas, incluindo a Engenharia de Requisitos de Software. A abordagem de verifica\u00e7\u00e3o de artefatos tem por objetivo realizar uma an\u00e1lise minuciosa do conte\u00fado, estrutura e atributos espec\u00edficos de um artefato, com o prop\u00f3sito de avaliar sua qualidade, ader\u00eancia aos requisitos e congru\u00eancia com os objetivos previamente definidos.

                                Nesse contexto, o escopo de nossa pesquisa visa \u00e0 aplica\u00e7\u00e3o da t\u00e9cnica de verifica\u00e7\u00e3o de artefatos ao artefato de Entrevista, desenvolvido pelo Grupo 7 em seu projeto no contexto do Detran [3]. Ressalta-se que a realiza\u00e7\u00e3o da verifica\u00e7\u00e3o est\u00e1 estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                Para melhor compreens\u00e3o, \u00e9 relevante salientar que a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, abarca uma an\u00e1lise sistem\u00e1tica e rigorosa do artefato em busca de poss\u00edveis erros, inconsist\u00eancias, omiss\u00f5es e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precis\u00e3o do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em an\u00e1lise [4].

                                "},{"location":"verificacao/grupo7/entrevista/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o, segundo o m\u00e9todo de inspe\u00e7\u00e3o de Fagan, representa uma abordagem formal e estruturada para a revis\u00e3o de documentos, cujo prop\u00f3sito \u00e9 a identifica\u00e7\u00e3o de falhas, erros e problemas nos artefatos, incluindo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revis\u00e3o geral, prepara\u00e7\u00e3o, execu\u00e7\u00e3o da inspe\u00e7\u00e3o, corre\u00e7\u00f5es e acompanhamento [2]. Al\u00e9m disso, a avalia\u00e7\u00e3o do artefato em quest\u00e3o tamb\u00e9m se basear\u00e1 nos crit\u00e9rios de avalia\u00e7\u00e3o especificados no plano de ensino. Para dar maior clareza \u00e0 an\u00e1lise, implementamos um \"conte\u00fado esperado\", que compreende um checklist fundamentado nas quest\u00f5es previamente definidas no plano de ensino [1].

                                A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                s

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo7/entrevista/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato estejam presentes as padroniza\u00e7\u00f5es esperadas, metodologia explicada e conte\u00fado relevante sobre o tema da entrevista.

                                "},{"location":"verificacao/grupo7/entrevista/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui/Atende

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                ID Conte\u00fado Possui/Atende Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo - 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo - 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim Bom O link da refer\u00eancia bibliogr\u00e1fica n\u00e3o \u00e9 clic\u00e1vel 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? N\u00e3o \u00d3timo N\u00e3o parece necess\u00e1rio. 5 As tabelas e imagens possuem legenda, fonte e s\u00e3o introduzidas no texto? Incompleto Bom Apesar das legendas estarem ok, as tabelas e o v\u00eddeo n\u00e3o s\u00e3o introduzidos pr\u00e9viamente no texto 6 As refer\u00eancias bibliogr\u00e1ficas est\u00e3o citadas no texto? N\u00e3o Pode melhorar N\u00e3o h\u00e1 nenhuma cita\u00e7\u00e3o ou refer\u00eancia, no corpo do artefato, que remete ao que est\u00e1 listado na sua pr\u00f3pria bibliografia. 6 Todas informa\u00e7\u00f5es que o texto tr\u00e1s, citam e s\u00e3o referenciadas com alguma bibliografia? Sim \u00d3timo O texto n\u00e3o tr\u00e1s novas informa\u00e7\u00f5es que necessitariam de refer\u00eancia bibliogr\u00e1fica. 7 Existe uma metodologia definida no artefato? Sim \u00d3timo A metodologia est\u00e1 completamente explicitada na se\u00e7\u00e3o 2, de Entrevista. 8 Os dados da entrevista, como data, dura\u00e7\u00e3o e dados do participante est\u00e3o explicitados na metodologia? Sim \u00d3timo - 9 Existe a grava\u00e7\u00e3o da entrevista no artefato? Sim Bom O link para o v\u00eddeo funciona, mas \u00e9 interessante colocar o v\u00eddeo em formato embed. 10 As c\u00e2meras dos participantes est\u00e3o ligadas durante a entrevista? Sim \u00d3timo -

                                Tabela 1: Checklist pro artefato de Entrevista. (Fonte: Yago Passos, 2023).

                                "},{"location":"verificacao/grupo7/entrevista/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                No geral, o artefato est\u00e1 condizente com o conteudo, mas precisa de pequenos ajustes. O que o Grupo Skoob sugere:

                                • Sempre citar a refer\u00eancia bibliogr\u00e1fica no texto do corpo do artefato.
                                • Sempre introduzir tabelas, v\u00eddeos e outras estruturas gr\u00e1ficas no texto, antes do conte\u00fado.
                                "},{"location":"verificacao/grupo7/entrevista/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 8 de novembro de 2023.

                                [3] Entrevista do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_2/entrevista/. Acesso em 8 novembro de 2023.

                                [4] linhadec\u00f3digo, T\u00e9cnicas de VV&T - Valida\u00e7\u00e3o, Verifica\u00e7\u00e3o e Teste. Dipson\u00edvel em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 8 de novembro de 2023.

                                "},{"location":"verificacao/grupo7/entrevista/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 08/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Yago Passos"},{"location":"verificacao/grupo7/entrevista/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 13/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Sha\u00edne"},{"location":"verificacao/grupo7/especificacao-suplementar/","title":"Verifica\u00e7\u00e3o do artefato \"Especifica\u00e7\u00e3o Suplementar\"","text":""},{"location":"verificacao/grupo7/especificacao-suplementar/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"Especifica\u00e7\u00e3o Suplementar\" desenvolvido pelo Grupo 7 [3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/especificacao-suplementar/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan, Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/especificacao-suplementar/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato encontre uma especifica\u00e7\u00e3o suplementar no modelo FURPS+ com requisitos test\u00e1veis e rastre\u00e1veis.

                                "},{"location":"verificacao/grupo7/especificacao-suplementar/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 O artefato segue o modelo FURPS+? Sim \u00d3timo 5 H\u00e1 uma introdu\u00e7\u00e3o no artefato? Sim \u00d3timo 6 Existe uma metodologia definida no artefato? Sim Bom No artefato poderia ter colocado como foi feito todo o processo de planejamento e objetivos com a especifica\u00e7\u00e3o suplementar

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 Os requisitos s\u00e3o rastre\u00e1veis? Sim Bom Foi colocado apenas refer\u00eancia ao diagrama de casos de uso, mas o diagrama n\u00e3o engloba todos os requisitos listados na especifica\u00e7\u00e3o suplementar 2 O documento especifica o tempo de resposta no Desempenho? Sim Bom Poderia colocar dados mais precisos, pois citar apenas \"r\u00e1pido\" n\u00e3o especifica de fato o desempenho. Dessa forma, seria bom colocar tempo em segundos, etc. 3 O documento especifica qual plataforma o aplicativo pode ser executado? Sim \u00d3timo 4 A modelagem de especifica\u00e7\u00e3o suplementar cobre todas as principais caracter\u00edsticas do sistema? Sim \u00d3timo 5 Todos os requisitos podem ser testados (RF e RNF)? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Shaine Oliveira, 2023).

                                "},{"location":"verificacao/grupo7/especificacao-suplementar/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi muito bem constru\u00eddo, mas n\u00e3o cumpriu de forma \"\u00d3timo\" tr\u00eas checklists apresentados na tabela. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/especificacao-suplementar/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID6 - Os requisitos s\u00e3o rastre\u00e1veis?
                                "},{"location":"verificacao/grupo7/especificacao-suplementar/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID1 - Os requisitos s\u00e3o rastre\u00e1veis?
                                • ID2 - O documento especifica o tempo de resposta no Desempenho?
                                "},{"location":"verificacao/grupo7/especificacao-suplementar/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 8 de novembro de 2023.

                                [3] An\u00e1lise de documentos do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/especificacao_suplementar/. Acesso em 8 novembro de 2023.

                                "},{"location":"verificacao/grupo7/especificacao-suplementar/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 07/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne :heavy_check_mark: 1.1 11/11/2023 13/11/2023 Corre\u00e7\u00f5es no artefato Sha\u00edne :heavy_check_mark: 1.1.1 12/11/2023 13/11/2023 Corrigindo padroniza\u00e7\u00e3o de legendas e refer\u00eancias bibliogr\u00e1ficas Yago"},{"location":"verificacao/grupo7/especificacao-suplementar/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 12/11/2023 1.0 e 1.1 Revis\u00e3o est\u00e1tica Yago"},{"location":"verificacao/grupo7/ferramentas/","title":"Verifica\u00e7\u00e3o do artefato \"Ferramentas\"","text":""},{"location":"verificacao/grupo7/ferramentas/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"Ferramentas\" desenvolvido pelo Grupo 7.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/ferramentas/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/ferramentas/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que o artefato contenha uma lista de todas as ferramentas utilizadas durante todo o projeto.

                                "},{"location":"verificacao/grupo7/ferramentas/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foram elaboradas as tabelas 1 e 2 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 Possui hiperlinks? Sim \u00d3timo

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Rafael Amancio, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 Apresenta um texto fazendo uma introdu\u00e7\u00e3o do artefato? Sim \u00d3timo 2 Apresenta imagens para ilustrar as ferramentas? Sim \u00d3timo 3 As finalidades das ferramentas est\u00e3o especificadas? Sim \u00d3timo 4 Apresenta uma breve descri\u00e7\u00e3o sobre o que cada ferramenta faz? N\u00e3o Pode melhorar Na ferramenta Lucidchart, por exemplo, seria interessante esclarecer o que a ferramenta oferece (dizer que \u00e9 um aplicativo de diagrama\u00e7\u00e3o), e n\u00e3o apenas falar que ela ser\u00e1 utilizada na cria\u00e7\u00e3o do Rich Picture 5 Os nomes e logos das ferramentas condizem com o pesquisado sobre elas? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Rafael Amancio, 2023)

                                "},{"location":"verificacao/grupo7/ferramentas/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi bem elaborado e seguiu quase todos os checklists apresentados na tabela. Por\u00e9m, faltou esclarecer a fun\u00e7\u00e3o de cada ferramenta. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/ferramentas/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID4 - Apresenta uma breve descri\u00e7\u00e3o sobre o que cada ferramenta faz?
                                "},{"location":"verificacao/grupo7/ferramentas/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                [3] Documento de ferramentas escolhidos do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_1/ferramentas/. Acesso em 11 novembro de 2023.

                                "},{"location":"verificacao/grupo7/ferramentas/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 11/11/2023 12/11/2023 Cria\u00e7\u00e3o do artefato Rafael Amancio"},{"location":"verificacao/grupo7/ferramentas/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 13/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Sha\u00edne"},{"location":"verificacao/grupo7/historias_usuarios/","title":"Verifica\u00e7\u00e3o do artefato \"Historias De Usuarios\"","text":""},{"location":"verificacao/grupo7/historias_usuarios/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A verifica\u00e7\u00e3o de artefatos desempenha um papel crucial na avalia\u00e7\u00e3o de documentos, projetos ou produtos em diversas \u00e1reas, incluindo os Requisitos de Software. Essa t\u00e9cnica visa a an\u00e1lise minuciosa do conte\u00fado, estrutura e caracter\u00edsticas espec\u00edficas de um artefato, com o prop\u00f3sito de avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos estabelecidos. Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Historias De Usuarios [3] , desenvolvido pelo Grupo 7.

                                Em termos pr\u00e1ticos, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa \u00e9 fundamental para assegurar a qualidade e precis\u00e3o do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/historias_usuarios/#metodologia","title":"Metodologia","text":"

                                A metodologia adotada para a verifica\u00e7\u00e3o dos artefatos \u00e9 composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                A primeira \u00e9 fundamentada nos crit\u00e9rios de avalia\u00e7\u00e3o presentes no plano de ensino [1] e nos slides da aula 15 [4], fornecendo um direcionamento preciso para a avalia\u00e7\u00e3o do conte\u00fado esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e dos slides, abrangendo questionamentos espec\u00edficos sobre a constru\u00e7\u00e3o de Historias De Usuarios [3].

                                A segunda abordagem se apoia na t\u00e9cnica formal de inspe\u00e7\u00e3o de Fagan, um processo estruturado que visa identificar e corrigir poss\u00edveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es, entre outros itens relacionados a projetos de desenvolvimento de software. Essa t\u00e9cnica proporciona uma revis\u00e3o criteriosa e sistem\u00e1tica, contribuindo para a melhoria da qualidade e precis\u00e3o dos artefatos [2]. A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo7/historias_usuarios/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                \u00c9 esperado que o artefato atenda aos crit\u00e9rios de identifica\u00e7\u00e3o, detalhamento, rastreabilidade, entre outros, al\u00e9m de seguir a estrutura padr\u00e3o b\u00e1sica exigida para todos os artefatos.

                                "},{"location":"verificacao/grupo7/historias_usuarios/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especifica\u00e7\u00f5es ideais do artefato, indica se o requisito \u00e9 atendido ou n\u00e3o e avalia a qualidade de acordo com a classifica\u00e7\u00e3o a seguir:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Atende todos os requisitos do conte\u00fado esperado)
                                • Bom (Atende parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o atende os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O artefato possui introdu\u00e7\u00e3o? Sim \u00d3timo 2 Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto? N\u00e3o \u00d3timo O artefato n\u00e3o possui tabelas e imagens. 3 Possui links para os outros artefatos, caso necess\u00e1rio? Sim Bom Algumas hist\u00f3rias de usu\u00e1rios est\u00e3o associadas aos l\u00e9xicos, mas h\u00e1 casos em que essa rela\u00e7\u00e3o n\u00e3o \u00e9 estabelecida, embora seja poss\u00edvel. Seria interessante manter um padr\u00e3o. 4 O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas? Sim Bom A refer\u00eancia n\u00e3o inclui um link funcional de acesso. 5 O artefato possui um hist\u00f3rico de vers\u00f5es? Sim \u00d3timo 6 O artefato possui autor? Sim \u00d3timo 7 O artefato possui revisor? Sim \u00d3timo Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Plano de ensino da disciplina [1], 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 Os t\u00edtulos das hist\u00f3rias de usu\u00e1rio s\u00e3o auto-explicativos? Sim \u00d3timo 2 O \u201cquem\u201d, \u201co que\u201d e o \u201cpor que\u201d est\u00e3o definidos nas hist\u00f3rias de usu\u00e1rio? Sim \u00d3timo 3 A participa\u00e7\u00e3o do cliente e/ou persona na valida\u00e7\u00e3o das hist\u00f3rias de usu\u00e1rio? Incompleto Pode melhorar O processo de valida\u00e7\u00e3o com o \"usu\u00e1rio representativo\", que acredito ser o uso de personas, n\u00e3o est\u00e1 registrado. 4 As hist\u00f3rias possuem crit\u00e9rios de aceita\u00e7\u00e3o? Sim \u00d3timo 5 Todas as hist\u00f3rias de usu\u00e1rio podem ser testadas? Sim \u00d3timo 6 As Hist\u00f3rias de Usu\u00e1rio seguem algum modelo ou padr\u00e3o? Sim \u00d3timo 7 As hist\u00f3rias possuem identifica\u00e7\u00e3o, descri\u00e7\u00e3o e rastreabilidade? Sim Bom A hist\u00f3ria de usu\u00e1rio US13, que aborda a \"Recoloca\u00e7\u00e3o de placa do ve\u00edculo\", est\u00e1 associada ao requisito ADD20, relacionado ao armazenamento de informa\u00e7\u00f5es do usu\u00e1rio. Recomenda-se a corre\u00e7\u00e3o dessa associa\u00e7\u00e3o para o requisito ADD34, que trata da recoloca\u00e7\u00e3o de placa. Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Plano de ensino da disciplina [1], Slide \u201cRequisitos \u2013 Aula 15\u201d [4] e Ana Rocha, 2023)"},{"location":"verificacao/grupo7/historias_usuarios/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi analisado com aten\u00e7\u00e3o aos checklists apresentados, atendendo a maioria dos crit\u00e9rios. No entanto, recomenda-se realizar ajustes de acordo com as observa\u00e7\u00f5es detalhadas nas tabelas espec\u00edficas de cada ID abaixo.

                                Referentes \u00e0 Tabela 1:

                                • ID3: Possui links para os outros artefatos, caso necess\u00e1rio?
                                • ID4: O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas?

                                Referentes \u00e0 Tabela 2:

                                • ID3: A participa\u00e7\u00e3o do cliente e/ou persona na valida\u00e7\u00e3o das hist\u00f3rias de usu\u00e1rio?
                                • ID7: As hist\u00f3rias possuem identifica\u00e7\u00e3o, descri\u00e7\u00e3o e rastreabilidade?
                                "},{"location":"verificacao/grupo7/historias_usuarios/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: Aprender 3. Acesso em 11 de novembro de 2023. [2] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 23\u201d. Dispon\u00edvel em: Aprender 3. Acesso 11 de novembro de 2023. [3] GRUPO 7. Documento de Historias De Usuarios do Grupo 7 da Disciplina de Requisitos de Software. Dispon\u00edvel em: Git Page. Acesso em 11 novembro de 2023. [4] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 15\u201d. Dispon\u00edvel em: Aprender 3. Acesso em 11 novembro de 2023.

                                "},{"location":"verificacao/grupo7/historias_usuarios/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 11/11/2023 13/11/2023 Cria\u00e7\u00e3o do artefato Ana Rocha"},{"location":"verificacao/grupo7/historias_usuarios/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 - Yago Passos"},{"location":"verificacao/grupo7/in_or_out/","title":"Verifica\u00e7\u00e3o do artefato \"In or Out\"","text":""},{"location":"verificacao/grupo7/in_or_out/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"In or Out\" desenvolvido pelo Grupo 7 [3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/in_or_out/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/in_or_out/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato encontre uma especifica\u00e7\u00e3o suplementar no modelo FURPS+ com requisitos test\u00e1veis e rastre\u00e1veis.

                                "},{"location":"verificacao/grupo7/in_or_out/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim Bom Uma evolu\u00e7\u00e3o para a vers\u00e3o 2.0 s\u00f3 \u00e9 v\u00e1lida caso o arquivo tenha sido completamente refeito. 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 As tabelas e imagens possuem legenda e fonte e elas chamadas dentro dos texto? Sim \u00d3timo 5 H\u00e1 uma introdu\u00e7\u00e3o no artefato? Sim \u00d3timo 6 Existe uma metodologia definida no artefato? Sim Bom S\u00f3 existem informa\u00e7\u00f5es a respeito do entrevistado.

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Jefferson Fran\u00e7a, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 grava\u00e7\u00e3o e os registros da atividade de prioriza\u00e7\u00e3o dos requisitos? Incompleto Pode melhorar Considerando que a prioriza\u00e7\u00e3o foi realizada por meio do WhatsApp, sugiro disponibilizar os \u00e1udios correspondentes ao inv\u00e9s de capturas de tela da conversa. 2 Um cronograma (data e hor\u00e1rio) e local para realiza\u00e7\u00e3o da prioriza\u00e7\u00e3o dos requisitos com o do cliente e/ou persona do projeto? N\u00e3o Existe uma tabela com as informa\u00e7\u00f5es do usu\u00e1rio 3 H\u00e1 um grupo de stakeholds? N\u00e3o 4 O grupo definiou o crit\u00e9rio de ser in or out? Sim \u00d3timo 5 Todos os requisitos foram priorizados? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Jefferson Fran\u00e7a, 2023)

                                "},{"location":"verificacao/grupo7/in_or_out/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato est\u00e1 de acordo, mas existem melhorias a serem feitas na parte de metodologia, na grava\u00e7\u00e3o da entrevista e uma observa\u00e7\u00e3o feita no hist\u00f3rico de vers\u00e3o. \u00c9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/in_or_out/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID1 - H\u00e1 hist\u00f3rico de vers\u00e3o padronizado?
                                "},{"location":"verificacao/grupo7/in_or_out/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID1 - H\u00e1 grava\u00e7\u00e3o e os registros da atividade de prioriza\u00e7\u00e3o dos requisitos?
                                • ID2 - Um cronograma (data e hor\u00e1rio) e local para realiza\u00e7\u00e3o da prioriza\u00e7\u00e3o dos requisitos com o do cliente e/ou persona do projeto?
                                "},{"location":"verificacao/grupo7/in_or_out/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                [3] An\u00e1lise de documentos do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/especificacao_suplementar/. Acesso em 11 novembro de 2023.

                                "},{"location":"verificacao/grupo7/in_or_out/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 11/11/2023 12/11/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a"},{"location":"verificacao/grupo7/in_or_out/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx -- --- Yago"},{"location":"verificacao/grupo7/lexico/","title":"Verifica\u00e7\u00e3o do artefato \"In or Out\"","text":""},{"location":"verificacao/grupo7/lexico/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"In or Out\" desenvolvido pelo Grupo 7 [3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/lexico/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/lexico/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato encontre uma especifica\u00e7\u00e3o suplementar no modelo FURPS+ com requisitos test\u00e1veis e rastre\u00e1veis.

                                "},{"location":"verificacao/grupo7/lexico/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim Bom Uma evolu\u00e7\u00e3o para a vers\u00e3o 2.0 s\u00f3 \u00e9 v\u00e1lida caso o arquivo tenha sido completamente refeito. 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 As tabelas e imagens possuem legenda e fonte e elas chamadas dentro dos texto? Sim Bom Algumas tabelas precisam ser chamadas no texto 5 H\u00e1 uma introdu\u00e7\u00e3o no artefato? Sim \u00d3timo 6 Existe uma metodologia definida no artefato? Sim \u00d3timo

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Jefferson Fran\u00e7a, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 A descri\u00e7\u00e3o dos l\u00e9xicos \u00e9 coerente e esclarecedora? Sim \u00d3timo 2 O vocabul\u00e1rio m\u00ednimo foi apropriadamente adotado nas descri\u00e7\u00f5es? Sim \u00d3timo 3 A modelagem apresenta pelo menos uma classifica\u00e7\u00e3o de verbo, estado e objeto? Sim \u00d3timo 4 A modelagem de l\u00e9xicos abrange todos os termos e conceitos relevantes do dom\u00ednio em quest\u00e3o? Sim \u00d3timo 5 A modelagem de l\u00e9xicos cobre adequadamente as principais funcionalidades e intera\u00e7\u00f5es do sistema? Sim \u00d3timo 6 A descri\u00e7\u00e3o dos l\u00e9xicos \u00e9 coerente e esclarecedora? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Jefferson Fran\u00e7a, 2023)

                                "},{"location":"verificacao/grupo7/lexico/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato est\u00e1 de acordo, mas existem melhorias a serem feitas na format\u00e7\u00e3o do artefato. \u00c9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/lexico/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID1 - H\u00e1 hist\u00f3rico de vers\u00e3o padronizado?
                                • ID4 - As tabelas e imagens possuem legenda e fonte e elas chamadas dentro dos texto?
                                "},{"location":"verificacao/grupo7/lexico/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"

                                Est\u00e1 tudo de acordo, um \u00f3timo artefato.

                                "},{"location":"verificacao/grupo7/lexico/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                [3] An\u00e1lise de documentos do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/especificacao_suplementar/. Acesso em 11 novembro de 2023.

                                "},{"location":"verificacao/grupo7/lexico/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 11/11/2023 12/11/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a"},{"location":"verificacao/grupo7/lexico/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx -- --- Rafael Amancio"},{"location":"verificacao/grupo7/moscow/","title":"Verifica\u00e7\u00e3o do artefato \"MoSCOW\"","text":""},{"location":"verificacao/grupo7/moscow/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"MoSCOW\" desenvolvido pelo Grupo 7 [3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/moscow/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/moscow/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato encontre uma especifica\u00e7\u00e3o suplementar no modelo FURPS+ com requisitos test\u00e1veis e rastre\u00e1veis.

                                "},{"location":"verificacao/grupo7/moscow/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim Bom Uma evolu\u00e7\u00e3o para a vers\u00e3o 2.0 s\u00f3 \u00e9 v\u00e1lida caso o arquivo tenha sido completamente refeito. 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 As tabelas e imagens possuem legenda e fonte e elas chamadas dentro dos texto? Sim \u00d3timo 5 H\u00e1 uma introdu\u00e7\u00e3o no artefato? Sim \u00d3timo 6 Existe uma metodologia definida no artefato? N\u00e3o

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Jefferson Fran\u00e7a, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 grava\u00e7\u00e3o e os registros da atividade de prioriza\u00e7\u00e3o dos requisitos? N\u00e3o 2 Um cronograma (data e hor\u00e1rio) e local para realiza\u00e7\u00e3o da prioriza\u00e7\u00e3o dos requisitos com o do cliente e/ou persona do projeto? N\u00e3o 3 H\u00e1 um grupo de stakeholds? N\u00e3o 4 Todos os requisitos foram classificados como Must Have (Deve ter), Should Have (Deveria ter), Could Have (Poderia ter) ou Won't Have (N\u00e3o ter\u00e1)? Sim \u00d3timo 5 Todos os requisitos foram priorizados? Sim \u00d3timo

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Jefferson Fran\u00e7a, 2023)

                                "},{"location":"verificacao/grupo7/moscow/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                Existem corre\u00e7\u00f5es a serem feitas no documento; a prioriza\u00e7\u00e3o foi realizada, mas \u00e9 necess\u00e1rio fornecer uma explica\u00e7\u00e3o sobre como ela foi conduzida. \u00c9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/moscow/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID1 - H\u00e1 hist\u00f3rico de vers\u00e3o padronizado?
                                • ID6 - Existe uma metodologia definifa no artefato?
                                "},{"location":"verificacao/grupo7/moscow/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID1 - H\u00e1 grava\u00e7\u00e3o e os registros da atividade de prioriza\u00e7\u00e3o dos requisitos?
                                • ID2 - Um cronograma (data e hor\u00e1rio) e local para realiza\u00e7\u00e3o da prioriza\u00e7\u00e3o dos requisitos com o do cliente e/ou persona do projeto?
                                • ID3 - H\u00e1 um grupo de stakeholds
                                "},{"location":"verificacao/grupo7/moscow/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                [3] An\u00e1lise de documentos do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/especificacao_suplementar/. Acesso em 11 novembro de 2023.

                                "},{"location":"verificacao/grupo7/moscow/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 11/11/2023 12/11/2023 Cria\u00e7\u00e3o do artefato Jefferson Fran\u00e7a"},{"location":"verificacao/grupo7/moscow/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx -- --- Ana Caroline"},{"location":"verificacao/grupo7/nfr/","title":"Verifica\u00e7\u00e3o do artefato \"NFR\"","text":""},{"location":"verificacao/grupo7/nfr/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A an\u00e1lise de artefatos desempenha um papel fundamental na avalia\u00e7\u00e3o de documentos, projetos e produtos em diversas \u00e1reas, incluindo a Engenharia de Requisitos de Software. A abordagem de verifica\u00e7\u00e3o de artefatos tem por objetivo realizar uma an\u00e1lise minuciosa do conte\u00fado, estrutura e atributos espec\u00edficos de um artefato, com o prop\u00f3sito de avaliar sua qualidade, ader\u00eancia aos requisitos e congru\u00eancia com os objetivos previamente definidos.

                                Nesse contexto, o escopo de nossa pesquisa visa \u00e0 aplica\u00e7\u00e3o da t\u00e9cnica de verifica\u00e7\u00e3o de artefatos ao artefato do NFR, desenvolvido pelo Grupo 7 em seu projeto no contexto do Detran [3]. Ressalta-se que a realiza\u00e7\u00e3o da verifica\u00e7\u00e3o est\u00e1 estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                Para melhor compreens\u00e3o, \u00e9 relevante salientar que a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, abarca uma an\u00e1lise sistem\u00e1tica e rigorosa do artefato em busca de poss\u00edveis erros, inconsist\u00eancias, omiss\u00f5es e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precis\u00e3o do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em an\u00e1lise [4].

                                "},{"location":"verificacao/grupo7/nfr/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o, segundo o m\u00e9todo de inspe\u00e7\u00e3o de Fagan, representa uma abordagem formal e estruturada para a revis\u00e3o de documentos, cujo prop\u00f3sito \u00e9 a identifica\u00e7\u00e3o de falhas, erros e problemas nos artefatos, incluindo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revis\u00e3o geral, prepara\u00e7\u00e3o, execu\u00e7\u00e3o da inspe\u00e7\u00e3o, corre\u00e7\u00f5es e acompanhamento [2]. Al\u00e9m disso, a avalia\u00e7\u00e3o do artefato em quest\u00e3o tamb\u00e9m se basear\u00e1 nos crit\u00e9rios de avalia\u00e7\u00e3o especificados no plano de ensino. Para dar maior clareza \u00e0 an\u00e1lise, implementamos um \"conte\u00fado esperado\", que compreende um checklist fundamentado nas quest\u00f5es previamente definidas no plano de ensino [1].

                                A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                s

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo7/nfr/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato estejam presentes as padroniza\u00e7\u00f5es esperadas, metodologia explicada e conte\u00fado relevante sobre o tema da entrevista.

                                "},{"location":"verificacao/grupo7/nfr/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui/Atende

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                ID Conte\u00fado Possui/Atende Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo - 2 H\u00e1 autor e revisor no artefato? Incompleto Pode Melhorar N\u00e3o h\u00e1 revisores. 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo - 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? N\u00e3o Pode Melhorar O artefato \u00e9 dependente dos requisitos elicitados, mas n\u00e3o h\u00e1 liga\u00e7\u00e3o com outros artefatos. 5 As tabelas e imagens possuem legenda, fonte e s\u00e3o introduzidas no texto? Incompleto Pode melhorar A maioria das imagens n\u00e3o s\u00e3o introduzidas no texto 6 As refer\u00eancias bibliogr\u00e1ficas est\u00e3o citadas no texto? N\u00e3o Pode melhorar N\u00e3o h\u00e1 nenhuma cita\u00e7\u00e3o ou refer\u00eancia, no corpo do artefato, que remete ao que est\u00e1 listado na sua pr\u00f3pria bibliografia. 6 Todas informa\u00e7\u00f5es que o texto tr\u00e1s, citam e s\u00e3o referenciadas com alguma bibliografia? Sim \u00d3timo O texto n\u00e3o tr\u00e1s novas informa\u00e7\u00f5es que necessitariam de refer\u00eancia bibliogr\u00e1fica. 7 Existe uma metodologia definida no artefato? Sim Bom A metodologia poderia abrangir mais como um nfr \u00e9 feito 8 Es\u00e1 descrita a defini\u00e7\u00e3o do RNF? Sim \u00d3timo - 9 Existe o cart\u00e3o de especifica\u00e7\u00e3o do RNF? N\u00e3o Pode melhorar - 10 Os softgoals condizem com o contexto? Sim \u00d3timo - 11 Softgoals representam metas bem definidas? Sim \u00d3timo - 12 Os impactos foram corretamente propagados? Sim \u00d3timo -

                                Tabela 1: Checklist pro artefato do NFR Framework. (Fonte: Yago Passos, 2023).

                                "},{"location":"verificacao/grupo7/nfr/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                No geral, o artefato est\u00e1 condizente com o conteudo, mas precisa de pequenos ajustes. O que o Grupo Skoob sugere:

                                • Sempre citar a refer\u00eancia bibliogr\u00e1fica no texto do corpo do artefato.
                                • Sempre introduzir tabelas, v\u00eddeos e outras estruturas gr\u00e1ficas no texto, antes do conte\u00fado.
                                • Ser mais detalhado e espec\u00edfico na metodologia, n\u00e3o resuma essa parte.
                                • Sempre buscar poss\u00edveis liga\u00e7\u00f5es que seu artefato tem com o outro, para manter o projeto conversando (Nesse caso: requisitos elicitados, especifica\u00e7\u00e3o suplementar...).
                                • Apresentar os cart\u00f5es de especializa\u00e7\u00e3o.
                                "},{"location":"verificacao/grupo7/nfr/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 12 de novembro de 2023.

                                [3] NFR Framework do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/entrega_4/NFR/. Acesso em 12 novembro de 2023.

                                [4] linhadec\u00f3digo, T\u00e9cnicas de VV&T - Valida\u00e7\u00e3o, Verifica\u00e7\u00e3o e Teste. Dipson\u00edvel em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 8 de novembro de 2023.

                                "},{"location":"verificacao/grupo7/nfr/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 12/11/2023 13/11/2023 Cria\u00e7\u00e3o do artefato Yago Passos"},{"location":"verificacao/grupo7/nfr/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) 13/11/2023 1.0 Revis\u00e3o por inspe\u00e7\u00e3o Ana Rocha"},{"location":"verificacao/grupo7/personas/","title":"Verifica\u00e7\u00e3o do artefato \"Personas\"","text":""},{"location":"verificacao/grupo7/personas/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"Personas\" desenvolvido pelo Grupo 7.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/personas/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/personas/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato encontre personas padronizadas contendo as caracter\u00edsticas e descri\u00e7\u00f5es.

                                "},{"location":"verificacao/grupo7/personas/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 Existe uma metodologia definida no artefato? N\u00e3o Pode melhorar No artefato poderia ter colocado como foi feito todo o processo de planejamento e crit\u00e9rios para escolha das persona, com o nome dos participantes, hor\u00e1rios, etc.

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 As personas possuem caracter\u00edsticas e descri\u00e7\u00e3o como : idade, nome, tarefas, etc? Sim \u00d3timo 2 Existe anti-persona? Sim \u00d3timo 3 As personas apresentam situa\u00e7\u00f5es a serem utilizadas? Sim \u00d3timo 4 As personas apresentam imagens de pessoas fict\u00edcias e padronizadas? Sim Bom As imagens das personas est\u00e3o muito grandes, tornando a navega\u00e7\u00e3o do artefato desagrad\u00e1vel e fazendo com que ocorra uma perda de aten\u00e7\u00e3o das caracter\u00edsticas e descri\u00e7\u00f5es

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Sha\u00edne Oliveira, 2023)

                                "},{"location":"verificacao/grupo7/personas/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi muito bem constru\u00eddo, mas n\u00e3o cumpriu de forma \"\u00d3timo\" dois checklists apresentados na tabela. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/personas/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID4 - Existe uma metodologia definida no artefato?
                                "},{"location":"verificacao/grupo7/personas/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID4 - As personas apresentam imagens de pessoas fict\u00edcias e padronizadas?
                                "},{"location":"verificacao/grupo7/personas/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 8 de novembro de 2023.

                                [3] An\u00e1lise de documentos do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_2/personas/. Acesso em 8 novembro de 2023.

                                "},{"location":"verificacao/grupo7/personas/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 07/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Sha\u00edne 1.1 11/11/2023 13/11/2023 Corre\u00e7\u00f5es no artefato Sha\u00edne"},{"location":"verificacao/grupo7/personas/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx -- --- Jefferson"},{"location":"verificacao/grupo7/questionario/","title":"Verifica\u00e7\u00e3o do artefato \"Question\u00e1rio\"","text":""},{"location":"verificacao/grupo7/questionario/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A verifica\u00e7\u00e3o de artefatos desempenha um papel crucial na avalia\u00e7\u00e3o de documentos, projetos ou produtos em diversas \u00e1reas, incluindo os Requisitos de Software. Essa t\u00e9cnica visa a an\u00e1lise minuciosa do conte\u00fado, estrutura e caracter\u00edsticas espec\u00edficas de um artefato, com o prop\u00f3sito de avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos estabelecidos. Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Question\u00e1rio [3] , desenvolvido pelo Grupo 7.

                                Em termos pr\u00e1ticos, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa \u00e9 fundamental para assegurar a qualidade e precis\u00e3o do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/questionario/#metodologia","title":"Metodologia","text":"

                                A metodologia adotada para a verifica\u00e7\u00e3o dos artefatos \u00e9 composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                A primeira \u00e9 fundamentada nos crit\u00e9rios de avalia\u00e7\u00e3o presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avalia\u00e7\u00e3o do conte\u00fado esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e da se\u00e7\u00e3o \"Questionnaires\", encontrada na p\u00e1gina 127 do livro [4], abrangendo questionamentos espec\u00edficos sobre a constru\u00e7\u00e3o do Question\u00e1rio [3].

                                A segunda abordagem se apoia na t\u00e9cnica formal de inspe\u00e7\u00e3o de Fagan, um processo estruturado que visa identificar e corrigir poss\u00edveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es, entre outros itens relacionados a projetos de desenvolvimento de software. Essa t\u00e9cnica proporciona uma revis\u00e3o criteriosa e sistem\u00e1tica, contribuindo para a melhoria da qualidade e precis\u00e3o dos artefatos [2]. A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo7/questionario/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que o artefato apresente, a metodologia em quest\u00e3o, um registro referente \u00e0 formula\u00e7\u00e3o das perguntas do question\u00e1rio e os resultados obtidos, al\u00e9m de seguir a estrutura padr\u00e3o b\u00e1sica exigida para todos os artefatos.

                                "},{"location":"verificacao/grupo7/questionario/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especifica\u00e7\u00f5es ideais do artefato, indica se o requisito \u00e9 atendido ou n\u00e3o e avalia a qualidade de acordo com a classifica\u00e7\u00e3o a seguir:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Atende todos os requisitos do conte\u00fado esperado)
                                • Bom (Atende parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o atende os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O artefato possui introdu\u00e7\u00e3o? Sim Bom Falta a refer\u00eancia que comprova que \u00e9 uma das t\u00e9cnicas mais utilizadas atualmente. De onde foi obtida essa informa\u00e7\u00e3o? 2 Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto? Incompleto Pode melhorar O artefato n\u00e3o apresenta legendas, fontes e introdu\u00e7\u00f5es no texto referente \u00e0s imagens do question\u00e1rio. 3 Possui links para os outros artefatos, caso necess\u00e1rio? N\u00e3o \u00d3timo N\u00e3o foi necess\u00e1rio. 4 O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas? Sim Bom A refer\u00eancia n\u00e3o inclui um link funcional de acesso. 5 O artefato possui um hist\u00f3rico de vers\u00f5es? Sim \u00d3timo 6 O artefato possui autor? Sim \u00d3timo 7 O artefato possui revisor? Sim \u00d3timo Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Plano de ensino da disciplina [1], 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 Um cronograma para realiza\u00e7\u00e3o da elicita\u00e7\u00e3o dos requisitos? N\u00e3o Pode melhorar Seria recomend\u00e1vel incluir um cronograma que abrange o per\u00edodo de elabora\u00e7\u00e3o do question\u00e1rio, a dura\u00e7\u00e3o em que permaneceu dispon\u00edvel e o cronograma de execu\u00e7\u00e3o da elicita\u00e7\u00e3o em si. 2 A grava\u00e7\u00e3o e os registros da atividade de elicita\u00e7\u00e3o dos requisitos? N\u00e3o Pode melhorar Seria interessante ter uma grava\u00e7\u00e3o da elicita\u00e7\u00e3o dos requisitos com base nas respostas do question\u00e1rio. 3 Os requisitos elicitados est\u00e3o identificados? Sim \u00d3timo 4 Os requisitos foram qualificados em funcionais e n\u00e3o funcionais? Sim \u00d3timo 5 O artefato possui uma explica\u00e7\u00e3o desse m\u00e9todo de elicita\u00e7\u00e3o? Sim \u00d3timo 6 O question\u00e1rio faz suas perguntas baseadas no perfil de usu\u00e1rio tra\u00e7ado pelo grupo? N\u00e3o Pode melhorar O question\u00e1rio tem como prop\u00f3sito, al\u00e9m da elicita\u00e7\u00e3o de requisitos, a defini\u00e7\u00e3o do perfil do usu\u00e1rio, o que n\u00e3o \u00e9 recomend\u00e1vel. 7 As perguntas s\u00e3o claras e concisas? Sim \u00d3timo 8 As perguntas possuem uma ordem coerente com o objetivo do artefato? Sim \u00d3timo 9 O question\u00e1rio possui quantidade de perguntas adequadas, sem excessos que causem perda na qualidade da pesquisa? Sim \u00d3timo 10 A quantidade de respostas ao question\u00e1rio foi alta? Sim Bom Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Plano de ensino da disciplina [1], Software Requirements - Third Edition [4] e Ana Rocha, 2023)"},{"location":"verificacao/grupo7/questionario/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi analisado com aten\u00e7\u00e3o aos checklists apresentados, atendendo a maioria dos crit\u00e9rios. No entanto, recomenda-se realizar ajustes de acordo com as observa\u00e7\u00f5es detalhadas nas tabelas espec\u00edficas de cada ID abaixo.

                                Referentes \u00e0 Tabela 1:

                                • ID1: O artefato possui introdu\u00e7\u00e3o?
                                • ID2: Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto?
                                • ID4: O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas?

                                Referentes \u00e0 Tabela 2:

                                • ID1: Um cronograma para realiza\u00e7\u00e3o da elicita\u00e7\u00e3o dos requisitos?
                                • ID2: A grava\u00e7\u00e3o e os registros da atividade de elicita\u00e7\u00e3o dos requisitos?
                                • ID6: O question\u00e1rio faz suas perguntas baseadas no perfil de usu\u00e1rio tra\u00e7ado pelo grupo?
                                "},{"location":"verificacao/grupo7/questionario/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: Aprender 3. Acesso em 08 de novembro de 2023. [2] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 23\u201d. Dispon\u00edvel em: Aprender 3. Acesso 08 de novembro de 2023. [3] GRUPO 7. Documento do Question\u00e1rio do Grupo 7 da Disciplina de Requisitos de Software. Dispon\u00edvel em: Git Page. Acesso em 08 novembro de 2023. [4] Requirements Elicitation. Software Requirements, Third Edition. Dispon\u00edvel em: Aprender 3. Acesso em 08 de novembro de 2023.

                                "},{"location":"verificacao/grupo7/questionario/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 08/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Ana Rocha"},{"location":"verificacao/grupo7/questionario/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 - Jefferson"},{"location":"verificacao/grupo7/requisitos_elicitados/","title":"Verifica\u00e7\u00e3o do artefato \"Requisitos Elicitados\"","text":""},{"location":"verificacao/grupo7/requisitos_elicitados/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A verifica\u00e7\u00e3o de artefatos desempenha um papel crucial na avalia\u00e7\u00e3o de documentos, projetos ou produtos em diversas \u00e1reas, incluindo os Requisitos de Software. Essa t\u00e9cnica visa a an\u00e1lise minuciosa do conte\u00fado, estrutura e caracter\u00edsticas espec\u00edficas de um artefato, com o prop\u00f3sito de avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos estabelecidos. Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Requisitos Elicitados [3] , desenvolvido pelo Grupo 7.

                                Em termos pr\u00e1ticos, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa \u00e9 fundamental para assegurar a qualidade e precis\u00e3o do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/requisitos_elicitados/#metodologia","title":"Metodologia","text":"

                                A metodologia adotada para a verifica\u00e7\u00e3o dos artefatos \u00e9 composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                A primeira \u00e9 fundamentada nos crit\u00e9rios de avalia\u00e7\u00e3o presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avalia\u00e7\u00e3o do conte\u00fado esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e do livro, abrangendo questionamentos espec\u00edficos sobre a constru\u00e7\u00e3o de Requisitos Elicitados [3].

                                A segunda abordagem se apoia na t\u00e9cnica formal de inspe\u00e7\u00e3o de Fagan, um processo estruturado que visa identificar e corrigir poss\u00edveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es, entre outros itens relacionados a projetos de desenvolvimento de software. Essa t\u00e9cnica proporciona uma revis\u00e3o criteriosa e sistem\u00e1tica, contribuindo para a melhoria da qualidade e precis\u00e3o dos artefatos [2]. A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo7/requisitos_elicitados/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                \u00c9 esperado que o artefato inclua a lista de requisitos elicitados com suas devidas identifica\u00e7\u00f5es e descri\u00e7\u00f5es, al\u00e9m de seguir a estrutura padr\u00e3o b\u00e1sica exigida para todos os artefatos.

                                "},{"location":"verificacao/grupo7/requisitos_elicitados/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especifica\u00e7\u00f5es ideais do artefato, indica se o requisito \u00e9 atendido ou n\u00e3o e avalia a qualidade de acordo com a classifica\u00e7\u00e3o a seguir:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Atende todos os requisitos do conte\u00fado esperado)
                                • Bom (Atende parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o atende os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 O artefato possui introdu\u00e7\u00e3o? Sim \u00d3timo 2 Todas as tabelas e imagens do artefato possuem legendas, fontes e s\u00e3o introduzidas no texto? Sim \u00d3timo 3 Possui links para os outros artefatos, caso necess\u00e1rio? N\u00e3o Pode melhorar Os artefatos \"Question\u00e1rio\", \"Entrevista\", \"Storytelling\" e \"An\u00e1lise de documentos\" s\u00e3o mencionados, por\u00e9m n\u00e3o possuem links de acesso para refer\u00eancia. 4 O artefato possui bibliografia/refer\u00eancias bibliogr\u00e1ficas? N\u00e3o \u00d3timo N\u00e3o foi necess\u00e1rio. 5 O artefato possui um hist\u00f3rico de vers\u00f5es? Sim \u00d3timo 6 O artefato possui autor? Sim \u00d3timo 7 O artefato possui revisor? Incompleto Bom N\u00e3o possui revisor em todas as vers\u00f5es do hist\u00f3rico. Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Plano de ensino da disciplina [1], 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Descri\u00e7\u00e3o do Crit\u00e9rio Possui Qualidade Observa\u00e7\u00e3o 1 Todos os requisitos elicitados foram devidamente listados? Incompleto Bom Os requisitos ST15 e ST17 do artefato 'Storytelling' n\u00e3o foram localizados na lista de requisitos elicitados. Adicionalmente, foi observado que os requisitos ADD24 e ADD32 se referem \u00e0 mesma funcionalidade. 2 Rastreabilidade dos requisitos est\u00e1 presente? N\u00e3o Pode melhorar A rastreabilidade espec\u00edfica para os requisitos n\u00e3o foi identificada. 3 Requisitos funcionais e n\u00e3o funcionais est\u00e3o identificados? Sim \u00d3timo 4 Existe uma legenda explicando as siglas de identifica\u00e7\u00e3o, se necess\u00e1rio? Sim \u00d3timo Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Plano de ensino da disciplina [1], Software Requirements - Third Edition [4] e Ana Rocha, 2023)"},{"location":"verificacao/grupo7/requisitos_elicitados/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato foi analisado com aten\u00e7\u00e3o aos checklists apresentados, atendendo a maioria dos crit\u00e9rios. No entanto, recomenda-se realizar ajustes de acordo com as observa\u00e7\u00f5es detalhadas nas tabelas espec\u00edficas de cada ID abaixo.

                                Referentes \u00e0 Tabela 1:

                                • ID3: Possui links para os outros artefatos, caso necess\u00e1rio?
                                • ID7: O artefato possui revisor?

                                Referentes \u00e0 Tabela 2:

                                • ID1: Todos os requisitos elicitados foram devidamente listados?
                                • ID2: Rastreabilidade dos requisitos est\u00e1 presente?
                                "},{"location":"verificacao/grupo7/requisitos_elicitados/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: Aprender 3. Acesso em 09 de novembro de 2023. [2] SERRANO, Milene e Mauricio. Slide \u201cRequisitos \u2013 Aula 23\u201d. Dispon\u00edvel em: Aprender 3. Acesso 09 de novembro de 2023. [3] GRUPO 7. Documento de Requisitos Elicitados do Grupo 7 da Disciplina de Requisitos de Software. Dispon\u00edvel em: Git Page. Acesso em 09 novembro de 2023. [4] Requirements Elicitation. Software Requirements, Third Edition. Dispon\u00edvel em: Aprender 3. Acesso em 09 de novembro de 2023.

                                "},{"location":"verificacao/grupo7/requisitos_elicitados/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 09/11/2023 11/11/2023 Cria\u00e7\u00e3o do artefato Ana Rocha"},{"location":"verificacao/grupo7/requisitos_elicitados/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 - Rafael Amancio"},{"location":"verificacao/grupo7/richpicture/","title":"Verifica\u00e7\u00e3o do artefato \"Rich Picture\"","text":""},{"location":"verificacao/grupo7/richpicture/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A an\u00e1lise de artefatos desempenha um papel fundamental na avalia\u00e7\u00e3o de documentos, projetos e produtos em diversas \u00e1reas, incluindo a Engenharia de Requisitos de Software. A abordagem de verifica\u00e7\u00e3o de artefatos tem por objetivo realizar uma an\u00e1lise minuciosa do conte\u00fado, estrutura e atributos espec\u00edficos de um artefato, com o prop\u00f3sito de avaliar sua qualidade, ader\u00eancia aos requisitos e congru\u00eancia com os objetivos previamente definidos.

                                Nesse contexto, o escopo de nossa pesquisa visa \u00e0 aplica\u00e7\u00e3o da t\u00e9cnica de verifica\u00e7\u00e3o de artefatos ao Rich Picture desenvolvido pelo Grupo 7 em seu projeto no contexto do Detran [3]. Ressalta-se que a realiza\u00e7\u00e3o da verifica\u00e7\u00e3o est\u00e1 estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                Para melhor compreens\u00e3o, \u00e9 relevante salientar que a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, abarca uma an\u00e1lise sistem\u00e1tica e rigorosa do artefato em busca de poss\u00edveis erros, inconsist\u00eancias, omiss\u00f5es e desvios em rela\u00e7\u00e3o aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precis\u00e3o do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em an\u00e1lise [4].

                                "},{"location":"verificacao/grupo7/richpicture/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o, segundo o m\u00e9todo de inspe\u00e7\u00e3o de Fagan, representa uma abordagem formal e estruturada para a revis\u00e3o de documentos, cujo prop\u00f3sito \u00e9 a identifica\u00e7\u00e3o de falhas, erros e problemas nos artefatos, incluindo documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revis\u00e3o geral, prepara\u00e7\u00e3o, execu\u00e7\u00e3o da inspe\u00e7\u00e3o, corre\u00e7\u00f5es e acompanhamento [2]. Al\u00e9m disso, a avalia\u00e7\u00e3o do artefato em quest\u00e3o tamb\u00e9m se basear\u00e1 nos crit\u00e9rios de avalia\u00e7\u00e3o especificados no plano de ensino [1]. Para dar maior clareza \u00e0 an\u00e1lise, implementamos um \"conte\u00fado esperado\", que compreende um checklist fundamentado nas quest\u00f5es previamente definidas no plano de ensino [1].

                                A inspe\u00e7\u00e3o de Fagan \u00e9 ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                Figura 1: M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slide \u201cRequisitos \u2013 Aula 23\u201d [2], 2023)"},{"location":"verificacao/grupo7/richpicture/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                Espera-se que no artefato estejam presentes o rich picture que descreve o aplicativo escolhido, bem como sua legenda detalhada..

                                "},{"location":"verificacao/grupo7/richpicture/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui/Atende

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                ID Conte\u00fado Possui/Atende Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo - 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo - 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo - 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? N\u00e3o \u00d3timo N\u00e3o parece necess\u00e1rio. 5 As tabelas e imagens possuem legenda, fonte e s\u00e3o introduzidas no texto? Sim Otimo - 6 As refer\u00eancias bibliogr\u00e1ficas est\u00e3o citadas no texto? Sim \u00d3timo - 6 Todas informa\u00e7\u00f5es que o texto tr\u00e1s, citam e s\u00e3o referenciadas com alguma bibliografia? N\u00e3o Bom A introdu\u00e7\u00e3o aborda conceitos do Rich Picture, por\u00e9m n\u00e3o h\u00e1 nenhuma citac\u00e3o sobre. 7 Existe uma metodologia definida no artefato? Sim Bom Um pouco simples 9 A legenda do rich picture detalha todos elementos usados nele? Sim \u00d3timo - 10 O Rich Picture condiz com o conte\u00fado passado em aula? Sim \u00d3timo -

                                Tabela 1: Checklist do artefato do Rich Picture. (Fonte: Yago Passos, 2023).

                                "},{"location":"verificacao/grupo7/richpicture/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                No geral, o artefato est\u00e1 condizente com o conteudo, mas precisa de pequenos ajustes. O que o Grupo Skoob sugere:

                                • Evitar incluir informa\u00e7\u00f5es no texto sem cita\u00e7\u00e3o, a exemplo da introdu\u00e7\u00e3o do artefato.
                                • Transformar a se\u00e7\u00e3o de Metodologia em se\u00e7\u00e3o da legenda.
                                • Explicitar na legenda, quais figuras/componentes do rich picture criado cabem naquela descri\u00e7\u00e3o
                                "},{"location":"verificacao/grupo7/richpicture/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 8 de novembro de 2023.

                                [3] Rich Picture do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_1/Rich_picture/. Acesso em 8 novembro de 2023.

                                [4] linhadec\u00f3digo, T\u00e9cnicas de VV&T - Valida\u00e7\u00e3o, Verifica\u00e7\u00e3o e Teste. Dipson\u00edvel em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 8 de novembro de 2023.

                                "},{"location":"verificacao/grupo7/richpicture/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 08/11/2023 10/11/2023 Cria\u00e7\u00e3o do artefato Yago Passos"},{"location":"verificacao/grupo7/richpicture/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx 1.0 - Jefferson Fran\u00e7a"},{"location":"verificacao/grupo7/storytelling/","title":"Verifica\u00e7\u00e3o do artefato \"Storytelling\"","text":""},{"location":"verificacao/grupo7/storytelling/#introducao","title":"Introdu\u00e7\u00e3o","text":"

                                A t\u00e9cnica de verifica\u00e7\u00e3o de artefatos \u00e9 uma etapa cr\u00edtica no processo de avalia\u00e7\u00e3o de documentos, projetos ou produtos em v\u00e1rias \u00e1reas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conte\u00fado, a estrutura e as caracter\u00edsticas espec\u00edficas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequa\u00e7\u00e3o aos objetivos definidos.

                                Neste contexto, pretendemos aplicar essa t\u00e9cnica ao artefato \"Storytelling\" desenvolvido pelo Grupo 7.[3]. A verifica\u00e7\u00e3o \u00e9 baseada no plano de ensino e nas datas estabelecidas nele.

                                Para esclarecer, a t\u00e9cnica de verifica\u00e7\u00e3o, inspirada no processo de Fagan, implica na an\u00e1lise rigorosa e sistem\u00e1tica do artefato em busca de erros, inconsist\u00eancias, lacunas e n\u00e3o conformidades com os requisitos. \u00c9 uma etapa essencial para garantir a qualidade e a precis\u00e3o do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em quest\u00e3o.

                                "},{"location":"verificacao/grupo7/storytelling/#metodologia","title":"Metodologia","text":"

                                A verifica\u00e7\u00e3o por inspe\u00e7\u00e3o de Fagan \u00e9 uma t\u00e9cnica formal e estruturada de revis\u00e3o de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, c\u00f3digo-fonte, especifica\u00e7\u00f5es e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, vis\u00e3o geral, prepara\u00e7\u00e3o, inspe\u00e7\u00e3o, corre\u00e7\u00e3o e acompanhamento.[2]. Al\u00e9m disso, para verificar o artefato em quest\u00e3o ser\u00e1 baseado tamb\u00e9m nos crit\u00e9rios de avalia\u00e7\u00e3o do artefato, dispon\u00edvel como pr\u00e9via no plano de ensino. O processo ser\u00e1 composto pelo \"conte\u00fado esperado\" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                M\u00e9todo de Fagan: Inspe\u00e7\u00e3o. (Fonte: Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano, 2023)

                                "},{"location":"verificacao/grupo7/storytelling/#conteudo-esperado","title":"Conte\u00fado esperado","text":"

                                \u00c9 esperado que no artefato encontre-se todos os objetivos e necessidades relacionadas ao Storytelling.

                                "},{"location":"verificacao/grupo7/storytelling/#verificacao","title":"Verifica\u00e7\u00e3o","text":"

                                Sendo assim, foi elaborada a tabela 1 e a tabela 2 relacionando as especifica\u00e7\u00f5es ideais do artefato, se ele possui ou n\u00e3o o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classifica\u00e7\u00e3o:

                                Possui

                                • Sim
                                • N\u00e3o
                                • Incompleto

                                Qualidade

                                • \u00d3timo (Apresenta todos os requisitos do conte\u00fado esperado)
                                • Bom (Apresenta parcialmente os requisitos do conte\u00fado esperado)
                                • Pode melhorar (N\u00e3o apresenta os requisitos do conte\u00fado esperado)

                                A Tabela 1 cont\u00e9m perguntas no que diz respeito \u00e0 formata\u00e7\u00e3o do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 H\u00e1 hist\u00f3rico de vers\u00e3o padronizado? Sim \u00d3timo 2 H\u00e1 autor e revisor no artefato? Sim \u00d3timo 3 Existem refer\u00eancias bibliogr\u00e1ficas? Sim \u00d3timo 4 Possui hiperlinks para outros artefatos caso necess\u00e1rio? Incompleto Bom O link que tem no artefato n\u00e3o \u00e9 clic\u00e1vel

                                Tabela 1: Perguntas selecionadas: Formata\u00e7\u00e3o do artefato. (Fonte: Rafael, 2023)

                                A Tabela 2 cont\u00e9m perguntas no que diz respeito ao conte\u00fado do artefato.

                                ID Conte\u00fado Possui Qualidade Observa\u00e7\u00e3o 1 \u00c9 apresentado a narrativa dos storytelling's? Sim \u00d3timo 2 Existe uma metodologia definida no artefato? Sim \u00d3timo 3 H\u00e1 grava\u00e7\u00e3o da elicita\u00e7\u00e3o? N\u00e3o Pode melhorar Existe um t\u00f3pico no artefato sobre a grava\u00e7\u00e3o, mas n\u00e3o tem o v\u00eddeo 4 \u00c9 apresetando os requisitos elicitados a partir do storytelling? Sim \u00d3timo 5 O storytellilng foi feito a partir das personas criadas? N\u00e3o Bom As personas usadas no storytelling n\u00e3o s\u00e3o as mesmas do artefato personas

                                Tabela 2: Perguntas selecionadas: Conte\u00fado do artefato. (Fonte: Rafael, 2023)

                                "},{"location":"verificacao/grupo7/storytelling/#correcoes-e-ajustes-sugeridos","title":"Corre\u00e7\u00f5es e ajustes sugeridos","text":"

                                O artefato precisa de ajustes, pois n\u00e3o seguiu quase todos os checklists apresentados na tabela. Para isso, \u00e9 recomendado fazer os ajustes seguindo as observa\u00e7\u00f5es:

                                "},{"location":"verificacao/grupo7/storytelling/#referentes-a-tabela-1","title":"Referentes a tabela 1:","text":"
                                • ID4 - Possui hiperlinks para outros artefatos caso necess\u00e1rio?
                                "},{"location":"verificacao/grupo7/storytelling/#referentes-a-tabela-2","title":"Referentes a tabela 2:","text":"
                                • ID3 - H\u00e1 grava\u00e7\u00e3o da elicita\u00e7\u00e3o?
                                • ID4 - \u00c9 apresetando os requisitos elicitados a partir do storytelling?
                                • ID5 - O storytellilng foi feito a partir das personas criadas?
                                "},{"location":"verificacao/grupo7/storytelling/#bibliografia","title":"Bibliografia","text":"

                                [1] SALES, Andr\u00e9 Barros. Plano de ensino da disciplina. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 13 de novembro de 2023.

                                [2] Slides da aula \u201cRequisitos \u2013 Aula 23\u201d dos professores Milene Serrano e Maur\u00edcio Serrano. Dispon\u00edvel em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 13 de novembro de 2023.

                                [3] Storytelling do Grupo 7 da Disciplina de Requisitos. Dispon\u00edvel em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_2/storytelling/. Acesso em 13 novembro de 2023.

                                "},{"location":"verificacao/grupo7/storytelling/#historico-de-versao","title":"Hist\u00f3rico de Vers\u00e3o","text":"Vers\u00e3o Data de execu\u00e7\u00e3o Data prevista de revis\u00e3o Descri\u00e7\u00e3o Autor(es) Revisado 1.0 13/11/2023 13/11/2023 Cria\u00e7\u00e3o do artefato Rafael"},{"location":"verificacao/grupo7/storytelling/#revisao-vv","title":"Revis\u00e3o (V&V)","text":"Data de Revis\u00e3o Cobertura de Vers\u00f5es T\u00e9cnica Revisor(es) xx/xx/xxxx -- --- Jefferson Fran\u00e7a"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..0f8724ef --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 00000000..9c416ba2 Binary files /dev/null and b/sitemap.xml.gz differ diff --git a/verificacao/Fagan.png b/verificacao/Fagan.png new file mode 100644 index 00000000..79b19e07 Binary files /dev/null and b/verificacao/Fagan.png differ diff --git a/verificacao/grupo6/backlog_6/index.html b/verificacao/grupo6/backlog_6/index.html new file mode 100644 index 00000000..43a9ffef --- /dev/null +++ b/verificacao/grupo6/backlog_6/index.html @@ -0,0 +1,3017 @@ + + + + + + + + + + + + + + + + + + + + + + + Backlog - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Backlog do Produto"

                                +

                                Introdução

                                +

                                A análise de artefatos desempenha um papel fundamental na avaliação de documentos, projetos e produtos em diversas áreas, incluindo a Engenharia de Requisitos de Software. A abordagem de verificação de artefatos tem por objetivo realizar uma análise minuciosa do conteúdo, estrutura e atributos específicos de um artefato, com o propósito de avaliar sua qualidade, aderência aos requisitos e congruência com os objetivos previamente definidos.

                                +

                                Nesse contexto, o escopo de nossa pesquisa visa à aplicação da técnica de verificação de artefatos ao artefato do Backlog do Produto, desenvolvido pelo Grupo 6 em seu projeto no contexto do Detran [3]. Ressalta-se que a realização da verificação está estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                +

                                Para melhor compreensão, é relevante salientar que a técnica de verificação, inspirada no processo de Fagan, abarca uma análise sistemática e rigorosa do artefato em busca de possíveis erros, inconsistências, omissões e desvios em relação aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precisão do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em análise [4].

                                +

                                Metodologia

                                +

                                A verificação, segundo o método de inspeção de Fagan, representa uma abordagem formal e estruturada para a revisão de documentos, cujo propósito é a identificação de falhas, erros e problemas nos artefatos, incluindo documentos, código-fonte, especificações e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revisão geral, preparação, execução da inspeção, correções e acompanhamento [2]. Além disso, a avaliação do artefato em questão também se baseará nos critérios de avaliação especificados no plano de ensino. Para dar maior clareza à análise, implementamos um "conteúdo esperado", que compreende um checklist fundamentado nas questões previamente definidas no plano de ensino [1].

                                +

                                A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +

                                Inspeção Fagan

                                +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato estejam presentes as padronizações esperadas, metodologia explicada e conteúdo relevante sobre o tema da entrevista.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui/Atende

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +


                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossui/AtendeQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?IncompletoBomNa última versão do artefato não possui revisor
                                3Existem referências bibliográficas?SimÓtimo
                                4Possui hiperlinks para outros artefatos caso necessário?SimÓtimo
                                5As tabelas e o vídeo possuem legenda, fonte e são introduzidas no texto?SimÓtimo
                                6Existe uma metodologia definida no artefato?SimÓtimo
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Shaíne Oliveira, 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O backlog possui épicos e temas bem definidos e descritos?IncompletoBomOs temas não foram bem descritos no artefato
                                2Os épicos estão priorizados e ordenados ?SimÓtimo
                                3O backlog atende a necessidade do usuário ?SimÓtimo
                                4O backlog foi validado com PO?SimÓtimo
                                5Os itens do backlog estão escritos em forma de História de usuário?SimÓtimo
                                6Os requisitos listados estão conectados a uma história de usuário ?SimÓtimo
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Shaíne Oliveira, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 22 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 22 de novembro de 2023.

                                +

                                [3] Backlog do Produto do Grupo 6 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-Skoob/modelagem/backlog/. Acesso em 22 novembro de 2023.

                                +

                                [4] linhadecódigo, Técnicas de VV&T - Validação, Verificação e Teste. Dipsonível em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 22 de novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.022/11/202325/11/2023Criação do artefatoShaíne Oliveira
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0-Yago Passos
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo6/cronograma_6/index.html b/verificacao/grupo6/cronograma_6/index.html new file mode 100644 index 00000000..925a9146 --- /dev/null +++ b/verificacao/grupo6/cronograma_6/index.html @@ -0,0 +1,2978 @@ + + + + + + + + + + + + + + + + + + + + + + + Cronograma Planejado - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Cronograma Planejado"

                                +

                                Introdução

                                +

                                A verificação de artefatos desempenha um papel crucial na avaliação de documentos, projetos ou produtos em diversas áreas, incluindo os Requisitos de Software. Essa técnica visa a análise minuciosa do conteúdo, estrutura e características específicas de um artefato, com o propósito de avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos estabelecidos. +Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Cronograma Planejado [3] , desenvolvido pelo Grupo 6, com base no plano de ensino e suas respectivas datas.

                                +

                                Em termos práticos, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e desvios em relação aos requisitos. Essa etapa é fundamental para assegurar a qualidade e precisão do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A metodologia adotada para a verificação dos artefatos é composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                +

                                A primeira é fundamentada nos critérios de avaliação presentes no plano de ensino [1], fornecendo um direcionamento preciso para a avaliação do conteúdo esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano, abrangendo questionamentos específicos sobre a construção do cronograma planejado [3].

                                +

                                A segunda abordagem se apoia na técnica formal de inspeção de Fagan, um processo estruturado que visa identificar e corrigir possíveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, código-fonte, especificações, entre outros itens relacionados a projetos de desenvolvimento de software. Essa técnica proporciona uma revisão criteriosa e sistemática, contribuindo para a melhoria da qualidade e precisão dos artefatos [2]. A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                + +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que o artefato apresente tabelas com o cronograma planejado para o desenvolvimento do projeto, além de seguir a estrutura padrão básica exigida para todos os artefatos.

                                +

                                Gravação da verificação

                                +

                                No vídeo 1, destacado abaixo, é realizada a verificação do artefato cronograma planejado conforme o checklist elaborado para tal.

                                + +
                                +

                                Vídeo 1: Gravação da verificação do Cronograma Planejado. (Fonte: Ana Rocha, 2023).

                                +
                                + +

                                Verificação

                                +

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especificações ideais do artefato, indica se o requisito é atendido ou não e avalia a qualidade de acordo com a classificação a seguir:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Atende todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Atende parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não atende os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O artefato possui introdução?SimÓtimo
                                2Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?IncompletoBomAs tabelas 1 e 2 não foram introduzidas no texto.
                                3Possui links para os outros artefatos, caso necessário?NãoPode melhorarPode-se incluir links para os artefatos já elaborados.
                                4O artefato possui bibliografia/referências bibliográficas?SimÓtimo
                                5O artefato possui um histórico de versões?SimÓtimo
                                6O artefato possui autor?SimÓtimo
                                7O artefato possui revisor?SimÓtimo
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Plano de ensino da disciplina [1], 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O cronograma do planejamento apresenta todas as atividades de todas as etapas para cada integrante com as datas de início e fim das entregas dos artefatos?IncompletoBomOs cronogramas não apresentam uma data de início das atividades.
                                2O cronograma do planejamento apresenta um período de gravação da apresentação de cada etapa?SimÓtimo
                                3As datas de início e término das atividades estão alinhadas com as expectativas do plano de ensino?SimÓtimo
                                4O cronograma prevê períodos para possíveis ajustes e revisões?SimÓtimo
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Plano de ensino da disciplina [1] e Ana Rocha, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi analisado com atenção aos checklists apresentados, atendendo a maioria dos critérios. No entanto, recomenda-se realizar ajustes de acordo com as observações detalhadas nas tabelas específicas de cada ID abaixo.

                                +

                                Referentes à Tabela 1:

                                + +

                                Referentes à Tabela 2:

                                + +

                                Bibliografia

                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: Aprender 3. Acesso em 08 de novembro de 2023.
                                +[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 23”. Disponível em: Aprender 3. Acesso 08 de novembro de 2023.
                                +[3] GRUPO 6. Documento do Cronograma Planejado do Grupo 6 da Disciplina de Requisitos de Software. Disponível em: Git Page. Acesso em 22 de novembro de 2023.

                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.023/11/202327/11/2023Criação do artefatoAna Rocha
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0-Shaíne
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo6/ferramentas_6/index.html b/verificacao/grupo6/ferramentas_6/index.html new file mode 100644 index 00000000..e438d9fc --- /dev/null +++ b/verificacao/grupo6/ferramentas_6/index.html @@ -0,0 +1,2994 @@ + + + + + + + + + + + + + + + + + + + + + + + Ferramentas - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Ferramentas"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Ferramentas" desenvolvido pelo Grupo 6.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que o artefato contenha uma lista de todas as ferramentas utilizadas durante todo o projeto.

                                +

                                Verificação

                                +

                                Sendo assim, foram elaboradas as tabelas 1 e 2 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimÓtimo
                                4Possui hiperlinks?SimÓtimo
                                5Todas as referências foram citadas no texto?NãoPode melhorarNão há nenhuma citação no corpo do texto
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Apresenta um texto fazendo uma introdução do artefato?SimÓtimo
                                2Apresenta imagens para ilustrar as ferramentas?SimÓtimo
                                3As finalidades das ferramentas estão especificadas?SimÓtimo
                                4Apresenta uma breve descrição sobre o que cada ferramenta faz?NãoPode melhorarNão possui uma breve descrição em todas as ferramentas
                                5Os nomes e logos das ferramentas condizem com o pesquisado sobre elas?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi bem elaborado e seguiu quase todos os checklists apresentados na tabela. Porém, faltou esclarecer a descrição de cada ferramenta e citar as referências bibliográficas no texto. +Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 22 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 22 de novembro de 2023.

                                +

                                [3] Documento de ferramentas escolhidos do Grupo 6 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-Skoob/planejamento/ferramentas/. Acesso em 22 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.022/11/202325/11/2023Criação do artefatoShaíne
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0--Rafael Amancio
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo6/forward_6/index.html b/verificacao/grupo6/forward_6/index.html new file mode 100644 index 00000000..53dc3e0a --- /dev/null +++ b/verificacao/grupo6/forward_6/index.html @@ -0,0 +1,3017 @@ + + + + + + + + + + + + + + + + + + + + + + + Forward-from - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Forward-From"

                                +

                                Introdução

                                +

                                A verificação de artefatos desempenha um papel crucial na avaliação de documentos, projetos ou produtos em diversas áreas, incluindo os Requisitos de Software. Essa técnica visa a análise minuciosa do conteúdo, estrutura e características específicas de um artefato, com o propósito de avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos estabelecidos. +Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Forward-From [3] , desenvolvido pelo Grupo 6.

                                +

                                Em termos práticos, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e desvios em relação aos requisitos. Essa etapa é fundamental para assegurar a qualidade e precisão do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A metodologia adotada para a verificação dos artefatos é composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                +

                                A primeira é fundamentada nos critérios de avaliação presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avaliação do conteúdo esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e do livro, abrangendo questionamentos específicos sobre a construção de Forward-From [3].

                                +

                                A segunda abordagem se apoia na técnica formal de inspeção de Fagan, um processo estruturado que visa identificar e corrigir possíveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, código-fonte, especificações, entre outros itens relacionados a projetos de desenvolvimento de software. Essa técnica proporciona uma revisão criteriosa e sistemática, contribuindo para a melhoria da qualidade e precisão dos artefatos [2]. A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +

                                Inspeção Fagan

                                +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                É esperado que o artefato inclua a lista de requisitos elicitados com suas devidas identificações e descrições, além de seguir a estrutura padrão básica exigida para todos os artefatos.

                                +

                                Verificação

                                +

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especificações ideais do artefato, indica se o requisito é atendido ou não e avalia a qualidade de acordo com a classificação a seguir:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Atende todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Atende parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não atende os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O artefato possui introdução?SimÓtimo
                                2Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?SimÓtimo
                                3Possui links para os outros artefatos, caso necessário?IncompletoBomColocar o link para o gitpages e não para o github
                                4O artefato possui bibliografia/referências bibliográficas?SimBomPoderia ter colocado o link de acesso das referências
                                5O artefato possui histórico de versões?SimÓtimo
                                6O artefato possui autor?SimÓtimo
                                7O artefato possui revisor?SimBomAté a data em que a verificação foi feita a última versão do artefato não havia sido revisada
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Ana Caroline e Shaíne Oliveira, 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1Os requisitos estão devidamente identificados no artefato?SimÓtimo
                                2Cada requisito no artefato possui uma descrição clara e concisa?SimÓtimo
                                3No artefato, são citados quais requisitos estão implementados e quais não estão?SimÓtimo
                                4A rastreabilidade abrange todas as fases do ciclo de vida do projeto, desde a elicitação dos requisitos até a validação e a verificação?IncompletoBomFaltou alguns artefatos como: Backlog, NFR Framework e as técnicas de priorização
                                5A rastreabilidade permite identificar os impactos de mudanças nos requisitos em outros componentes ou funcionalidades do sistema?NãoPode melhorarNão foi feito o protótipo
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Ana Caroline e Shaíne Oliveira, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi analisado com atenção aos checklists apresentados, atendendo parte dos critérios. No entanto, recomenda-se realizar ajustes de acordo com as observações detalhadas nas tabelas específicas de cada ID abaixo.

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: Aprender 3. Acesso em 23 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: Aprender 3. Acessado em: 23 de novembro de 2023.

                                +

                                [3] Forward-From do Grupo 6 da Disciplina de Requisitos. Disponível em: Git Page. Acesso em 23 novembro de 2023.

                                +

                                [4] linhadecódigo, Técnicas de VV&T - Validação, Verificação e Teste. Dipsonível em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 23 de novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.023/11/202325/11/2023Criação do artefatoAna Rocha e Shaíne Oliveira
                                1.123/11/202325/11/2023Preenchimento do checklistAna Rocha e Shaíne Oliveira
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0--Rafael
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo6/matriz_6/index.html b/verificacao/grupo6/matriz_6/index.html new file mode 100644 index 00000000..c362c5e3 --- /dev/null +++ b/verificacao/grupo6/matriz_6/index.html @@ -0,0 +1,3046 @@ + + + + + + + + + + + + + + + + + + + + + + + Matriz de Rastreabilidade - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Matriz de Rastreabilidade"

                                +

                                Introdução

                                +

                                A verificação de artefatos desempenha um papel crucial na avaliação de documentos, projetos ou produtos em diversas áreas, incluindo os Requisitos de Software. Essa técnica visa a análise minuciosa do conteúdo, estrutura e características específicas de um artefato, com o propósito de avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos estabelecidos. +Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Matriz de Rastreabilidade [3] , desenvolvido pelo Grupo 6.

                                +

                                Em termos práticos, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e desvios em relação aos requisitos. Essa etapa é fundamental para assegurar a qualidade e precisão do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A metodologia adotada para a verificação dos artefatos é composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                +

                                A primeira é fundamentada nos critérios de avaliação presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avaliação do conteúdo esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e do livro, abrangendo questionamentos específicos sobre a construção de Matriz de Rastreabilidade [3].

                                +

                                A segunda abordagem se apoia na técnica formal de inspeção de Fagan, um processo estruturado que visa identificar e corrigir possíveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, código-fonte, especificações, entre outros itens relacionados a projetos de desenvolvimento de software. Essa técnica proporciona uma revisão criteriosa e sistemática, contribuindo para a melhoria da qualidade e precisão dos artefatos [2]. A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +

                                Inspeção Fagan

                                +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                É esperado que o artefato inclua a lista de requisitos elicitados com suas devidas identificações e descrições, além de seguir a estrutura padrão básica exigida para todos os artefatos.

                                +

                                Gravação da verificação

                                +

                                No vídeo 1, destacado abaixo, é realizada a verificação do artefato cronograma planejado conforme o checklist elaborado.

                                + +

                                Vídeo 1: Gravação da Verificação da Matriz de Rastreabilidade. (Fonte: Shaíne Oliveira, 2023)..

                                +

                                Verificação

                                +

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especificações ideais do artefato, indica se o requisito é atendido ou não e avalia a qualidade de acordo com a classificação a seguir:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Atende todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Atende parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não atende os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O artefato possui introdução?SimBomPoderia ter explicado melhor sobre a matriz de rastreabilidade
                                2Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?SimÓtimo
                                3Possui links para os outros artefatos, caso necessário?IncompletoBomFaltou os links para os requisitos funcionais e não funcionais
                                4O artefato possui bibliografia/referências bibliográficas?SimÓtimo
                                5O artefato possui histórico de versões?SimÓtimo
                                6O artefato possui autor?SimÓtimo
                                7O artefato possui revisor?SimÓtimo
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Shaíne Oliveira, 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1Os requisitos estão devidamente identificados no artefato?SimÓtimo
                                2As relações entre requisitos e componentes são precisas e atualizadas?SimBomAlguns requisitos possuem apenas um artefato relacionado
                                3No artefato, são citados quais requisitos estão implementados e quais não estão?SimÓtimo
                                4Na matriz de rastreabilidade é possível identificar todos os artefatos relacionados?SimÓtimo
                                5A matriz inclui rastreabilidade de requisitos em diferentes fases do projeto ?IncompletoBomAlguns requisitos foram elicitados por duas técnicas, mas o grupo deixou apenas uma
                                6No artefato o grupo representou as linhas da matriz com os artefatos iniciais (requisitos) e as colunas com artefatos alvos (fonte de requisitos, artefatos de desenvolvimento)?NãoPode melhorarO artefato foi realizado em forma de tabela
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Shaíne Oliveira, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi analisado com atenção aos checklists apresentados, atendendo parte dos critérios. No entanto, recomenda-se realizar ajustes de acordo com as observações detalhadas nas tabelas específicas de cada ID abaixo.

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 23 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 23 de novembro de 2023.

                                +

                                [3] Matriz de Rastreabilidade do Grupo 6 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-Skoob/pos_rastreabilidade/matriz/. Acesso em 23 novembro de 2023.

                                +

                                [4] linhadecódigo, Técnicas de VV&T - Validação, Verificação e Teste. Dipsonível em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 23 de novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.023/11/202325/11/2023Criação do artefatoShaíne Oliveira
                                1.123/11/202325/11/2023Preenchimento de checklistShaíne Oliveira
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0--Jefferson França
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo6/requisitos_6/index.html b/verificacao/grupo6/requisitos_6/index.html new file mode 100644 index 00000000..6e4ef1bb --- /dev/null +++ b/verificacao/grupo6/requisitos_6/index.html @@ -0,0 +1,3018 @@ + + + + + + + + + + + + + + + + + + + + + + + Requisitos Elicitados - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Requisitos Elicitados"

                                +

                                Introdução

                                +

                                A verificação de artefatos desempenha um papel crucial na avaliação de documentos, projetos ou produtos em diversas áreas, incluindo os Requisitos de Software. Essa técnica visa a análise minuciosa do conteúdo, estrutura e características específicas de um artefato, com o propósito de avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos estabelecidos. +Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Requisitos Elicitados [3] , desenvolvido pelo Grupo 6.

                                +

                                Em termos práticos, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e desvios em relação aos requisitos. Essa etapa é fundamental para assegurar a qualidade e precisão do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A metodologia adotada para a verificação dos artefatos é composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                +

                                A primeira é fundamentada nos critérios de avaliação presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avaliação do conteúdo esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e do livro, abrangendo questionamentos específicos sobre a construção de Requisitos Elicitados [3].

                                +

                                A segunda abordagem se apoia na técnica formal de inspeção de Fagan, um processo estruturado que visa identificar e corrigir possíveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, código-fonte, especificações, entre outros itens relacionados a projetos de desenvolvimento de software. Essa técnica proporciona uma revisão criteriosa e sistemática, contribuindo para a melhoria da qualidade e precisão dos artefatos [2]. A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +

                                Inspeção Fagan

                                +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                É esperado que o artefato inclua a lista de requisitos elicitados com suas devidas identificações e descrições, além de seguir a estrutura padrão básica exigida para todos os artefatos.

                                +

                                Verificação

                                +

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especificações ideais do artefato, indica se o requisito é atendido ou não e avalia a qualidade de acordo com a classificação a seguir:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Atende todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Atende parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não atende os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O artefato possui introdução?NãoPode melhorar
                                2Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?SimÓtimo
                                3Possui links para os outros artefatos, caso necessário?NãoPode melhorarNão possui links para outros artefatos ou sites
                                4O artefato possui bibliografia/referências bibliográficas?NãoPode melhorarNão possui referências
                                5O artefato possui histórico de versões?SimÓtimo
                                6O artefato possui autor?SimÓtimo
                                7O artefato possui revisor?SimÓtimo
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Shaíne Oliveira, 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1Todos os requisitos elicitados foram devidamente listados?SimÓtimo
                                2Os requisitos foram diferenciados entre "Funcionais" e "Não Funcionais"?SimÓtimo
                                3No artefato, são citados quais requisitos estão implementados e quais não estão?SimÓtimo
                                4Os requisitos possuem rastreabilidade?IncompletoBomOs requisitos apresentam apenas uma técnica de elicitação, o que acaba comprometendo a rastreabilidade
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Shaíne Oliveira, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi analisado com atenção aos checklists apresentados, atendendo parte dos critérios. No entanto, recomenda-se realizar ajustes de acordo com as observações detalhadas nas tabelas específicas de cada ID abaixo.

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: Aprender 3. Acesso em 22 de novembro de 2023.
                                +[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 23”. Disponível em: Aprender 3. Acesso 22 de novembro de 2023.
                                +[3] GRUPO 6. Documento de Requisitos Elicitados do Grupo 7 da Disciplina de Requisitos de Software. Disponível em: Git Page. Acesso em 22 novembro de 2023.
                                +[4] Requirements Elicitation. Software Requirements, Third Edition. Disponível em: Aprender 3. Acesso em 22 de novembro de 2023.

                                +

                                Histórico de Versão

                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.022/11/202325/11/2023Criação do artefatoShaíne
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0--Ana Caroline
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/FTF/index.html b/verificacao/grupo7/FTF/index.html new file mode 100644 index 00000000..f4fadf85 --- /dev/null +++ b/verificacao/grupo7/FTF/index.html @@ -0,0 +1,2981 @@ + + + + + + + + + + + + + + + + + + + + + + + First Thing First - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "First Things First"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "First Things First" desenvolvido pelo Grupo 7.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que o artefato contenha introdução, metodologia e resultado da técnica de priorização First Things First.

                                +

                                Verificação

                                +

                                Sendo assim, foram elaboradas as tabelas 1 e 2 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimBom
                                4Possui hiperlinks?NãoPode melhorarÉ recomendado ligar os requisitos que foram priorizados com seus artefatos de origem (elicitação). Para realizar isso basta colocar hiperlinks nos ID's de cada requisito.
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Rafael Amancio, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Apresenta um texto fazendo uma introdução do artefato?SimBomA introdução ficou muito extensa
                                2Apresenta um texto explicando a metodologia da técnica?SimBomSeria interessante criar um tópico chamado Metodologia, separando-a da introdução
                                3Há participação do cliente e/ou persona na priorização de requisitos?NãoPode melhorarÉ de extrema importância realizar a priorização utilizando personas ou com contato direto do cliente
                                4A técnica foi executada de maneira correta?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Rafael Amancio, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato apresenta algumas falhas que poderiam ser corrigidas seguindo as observações:

                                +

                                Referentes a tabela 1:

                                +
                                  +
                                • ID4 - Possui hiperlinks?
                                • +
                                +

                                Referentes a tabela 2:

                                +
                                  +
                                • ID1 - Apresenta um texto fazendo uma introdução do artefato?
                                • +
                                • ID2 - Apresenta um texto explicando a metodologia da técnica?
                                • +
                                • ID3 - Há participação do cliente e/ou persona na priorização de requisitos?
                                • +
                                +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                +

                                [3] Documento de First Things First escolhido do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_1/FTF/. Acesso em 11 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.011/11/202312/11/2023Criação do artefatoRafael Amancio
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                13/11/20231.0Revisão por inspeçãoAna Caroline
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/analise-documentos/index.html b/verificacao/grupo7/analise-documentos/index.html new file mode 100644 index 00000000..731d5452 --- /dev/null +++ b/verificacao/grupo7/analise-documentos/index.html @@ -0,0 +1,3000 @@ + + + + + + + + + + + + + + + + + + + + + + + Análise de documentos - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Análise de Documentos"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Análise de Documentos" desenvolvido pelo Grupo 7.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato encontre todos os objetivos e necessidades atendidas com a análise dos documentos.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 e a tabela 2 relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?IncompletoBomNa versão 1.0 não possui um revisor
                                3Existem referências bibliográficas?NãoPode melhorarNão foi apresentada nenhuma referência bibliográfica
                                4Possui hiperlinks para outros artefatos caso necessário?SimBomO hiperlink apresentado não está no formato de link
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há participação do cliente ou persona na elicitação de requisitos?NãoPode melhorarO processo de elicitação de requisitos deve ser feito com a presença de um cliente e/ou persona
                                2Existe uma metodologia definida no artefato?NãoPode melhorarNo artefato poderia ter colocado como foi feito todo o processo de elicitação com o nome dos participantes, horários, etc.
                                3Há gravação da elicitação de requisitos?NãoPode melhorarNão há gravação
                                4Foram definidos os objetivos e necessidades a serem respondidos pela análise?SimBomPoderiam ter esclarecido melhor quais eram os objetivos e necessidades para facilitar no entendimento do artefato
                                5A análise responde os objetivos e necessidades definidos?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato precisa de ajustes, pois não seguiu quase todos os checklists apresentados na tabela. +Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 7 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 7 de novembro de 2023.

                                +

                                [3] Personas do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_2/analise_de_documentos/. Acesso em 7 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.007/11/202310/11/2023Criação do artefatoShaíne
                                1.111/11/202313/11/2023Correções no artefatoShaíne
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx-----Rafael
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/aplicativos/index.html b/verificacao/grupo7/aplicativos/index.html new file mode 100644 index 00000000..763c012f --- /dev/null +++ b/verificacao/grupo7/aplicativos/index.html @@ -0,0 +1,2960 @@ + + + + + + + + + + + + + + + + + + + + + + + Aplicativos - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Aplicativos"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Aplicativos" desenvolvido pelo Grupo 7.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que o artefato contenha uma lista de todos os aplicativos utilizados na fase de pré-rastreabilidade.

                                +

                                Verificação

                                +

                                Sendo assim, foram elaboradas as tabelas 1 e 2 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimBomAs referências bibliográficas não estão no padrão ABNT
                                4Possui hiperlinks para outros artefatos caso necessário?NãoPode melhorarPoderia ter colocado o link para os termos de uso, já que o mesmo se encontra em outro artefato
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1O aplicativo apresenta uma documentação que permite o estudo?SimÓtimo
                                2Há motivação e critérios de escolha do app?SimÓtimo
                                3O aplicativo não foi utilizado na disciplina em outros semestres?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi bem elaborado e seguiu quase todos os checklists apresentados na tabela. Porém, faltou apresentar o link para o termo de uso do aplicativo escolhido para facilitar o entendimento do mesmo. +Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 7 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 7 de novembro de 2023.

                                +

                                [3] Documento de aplicativos escolhidos do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_1/aplicativos/. Acesso em 7 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.007/11/202310/11/2023Criação do artefatoShaíne
                                1.111/11/202313/11/2023Correções no artefatoShaíne
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                11/11/20231.1Revisão por inspeçãoAna Caroline
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/backlog/index.html b/verificacao/grupo7/backlog/index.html new file mode 100644 index 00000000..cddebf41 --- /dev/null +++ b/verificacao/grupo7/backlog/index.html @@ -0,0 +1,2933 @@ + + + + + + + + + + + + + + + + + + + + + + + Backlog do Produto - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Backlog do Produto"

                                +

                                Introdução

                                +

                                A análise de artefatos desempenha um papel fundamental na avaliação de documentos, projetos e produtos em diversas áreas, incluindo a Engenharia de Requisitos de Software. A abordagem de verificação de artefatos tem por objetivo realizar uma análise minuciosa do conteúdo, estrutura e atributos específicos de um artefato, com o propósito de avaliar sua qualidade, aderência aos requisitos e congruência com os objetivos previamente definidos.

                                +

                                Nesse contexto, o escopo de nossa pesquisa visa à aplicação da técnica de verificação de artefatos ao artefato do Backlog do Produto, desenvolvido pelo Grupo 7 em seu projeto no contexto do Detran [3]. Ressalta-se que a realização da verificação está estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                +

                                Para melhor compreensão, é relevante salientar que a técnica de verificação, inspirada no processo de Fagan, abarca uma análise sistemática e rigorosa do artefato em busca de possíveis erros, inconsistências, omissões e desvios em relação aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precisão do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em análise [4].

                                +

                                Metodologia

                                +

                                A verificação, segundo o método de inspeção de Fagan, representa uma abordagem formal e estruturada para a revisão de documentos, cujo propósito é a identificação de falhas, erros e problemas nos artefatos, incluindo documentos, código-fonte, especificações e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revisão geral, preparação, execução da inspeção, correções e acompanhamento [2]. Além disso, a avaliação do artefato em questão também se baseará nos critérios de avaliação especificados no plano de ensino. Para dar maior clareza à análise, implementamos um "conteúdo esperado", que compreende um checklist fundamentado nas questões previamente definidas no plano de ensino [1].

                                +

                                A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                +

                                s

                                +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato estejam presentes as padronizações esperadas, metodologia explicada e conteúdo relevante sobre o tema da entrevista.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui/Atende

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +


                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossui/AtendeQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo-
                                2Há autor e revisor no artefato?SimÓtimo-
                                3Existem referências bibliográficas?SimÓtimoEstão separados (?)
                                4Possui hiperlinks para outros artefatos caso necessário?NãoPode MelhorarO artefato é dependente dos requisitos elicitados, mas não há ligação com outros artefatos.
                                5As tabelas e imagens possuem legenda, fonte e são introduzidas no texto?IncompletoBomAs tabelas de 1 a 8 poderiam ser introduzidas no texto
                                6As referências bibliográficas estão citadas no texto?IncompletoBomNão todas.
                                6Todas informações que o texto trás, citam e são referenciadas com alguma bibliografia?IncompletoBomApenas um texto que trás informações relevantes necessitadas de citação realmente faz uma conexão com a referência bibliográfica.
                                7Existe uma metodologia definida no artefato?SimPode melhorarA metodologia não descreve como a equipe 7 criou os épicos.
                                8O backlog possui épicos e temas bem definidos e descritos?IncompletoPode melhorarNão há temas que originam os épicos.
                                +
                                +

                                Tabela 1: Checklist pro artefato do Backlog do Produto. (Fonte: Yago Passos, 2023).

                                +
                                + +

                                Correções e ajustes sugeridos

                                +

                                No geral, o artefato está condizente com o conteudo, mas precisa de pequenos ajustes. O que o Grupo Skoob sugere:

                                +
                                  +
                                • Sempre citar a referência bibliográfica no texto do corpo do artefato.
                                • +
                                • Sempre introduzir tabelas, vídeos e outras estruturas gráficas no texto, antes do conteúdo.
                                • +
                                • Ser mais detalhado e específico na metodologia, não resuma essa parte: explicar como, quando e quem resumiu os requisitos elicitados nos épicos propostos.
                                • +
                                • Sempre buscar possíveis ligações que seu artefato tem com o outro, para manter o projeto conversando (Nesse caso: requisitos elicitados).
                                • +
                                • Tematizar primeiro as funcionalidades, para depois dividir em épicos.
                                • +
                                • Se inspirar nos trabalhos do semestre passado, como o do VLC ou da Bilheteria Digital
                                • +
                                +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 12 de novembro de 2023.

                                +

                                [3] Backlog do Produto do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/entrega_4/backlog/. Acesso em 12 novembro de 2023.

                                +

                                [4] linhadecódigo, Técnicas de VV&T - Validação, Verificação e Teste. Dipsonível em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 8 de novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.012/11/202310/11/2023Criação do artefatoYago Passos
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0-Rafael Amancio
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/casos-de-uso/index.html b/verificacao/grupo7/casos-de-uso/index.html new file mode 100644 index 00000000..9bb06e72 --- /dev/null +++ b/verificacao/grupo7/casos-de-uso/index.html @@ -0,0 +1,3001 @@ + + + + + + + + + + + + + + + + + + + + + + + Casos de uso - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Casos de uso"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Casos de uso" desenvolvido pelo Grupo 7.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato encontre todos os objetivos e necessidades atendidas com a análise dos documentos.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 e a tabela 2 relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Os revisores são pessoas diferentes dos autores?SimÓtimo
                                4Existem referências bibliográficas?NãoPode melhorarTodos os artefatos devem ter referências bibliográficas
                                5Possui hiperlinks para outros artefatos caso necessário?NãoPode melhorarOs requisitos poderiam ter links para as técnicas de elicitação, na linha da tabela chamada "Rastreablidade"
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Rafael, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1A modelagem de casos de uso cobre todas as principais funcionalidades e interações do sistema?SimÓtimo
                                2Existe limite do sistema?SimÓtimo
                                3Os atores estão fora da fronteira do sistema?SimÓtimo
                                4O ator principal está do lado esquerdo do sistema?SimÓtimo
                                5Os casos de uso possuem rastreabilidade?SimBomSó faltou colocar os links para melhor rastreabilidade
                                6Os diagramas de caso de uso focam nos requisitos funcionais do sistema?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Rafael, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato precisa de ajustes. Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 13 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 13 de novembro de 2023.

                                +

                                [3] Casos de uso do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/casos_de_uso/. Acesso em 13 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.013/11/202313/11/2023Criação do artefatoRafael
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                13/11/20231.0Revisão por inspeçãoAna Caroline
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/cenarios/index.html b/verificacao/grupo7/cenarios/index.html new file mode 100644 index 00000000..7018f128 --- /dev/null +++ b/verificacao/grupo7/cenarios/index.html @@ -0,0 +1,2989 @@ + + + + + + + + + + + + + + + + + + + + + + + Cenários - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Cenários"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Cenários" desenvolvido pelo Grupo 7.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato encontre todos os objetivos e necessidades atendidas com a análise dos documentos.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 e a tabela 2 relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimBomAcredita-se que não tenha apenas uma referência, o próprio aplicativo já se torna uma referência
                                4Possui hiperlinks para outros artefatos caso necessário?NãoPode melhorarOs requisitos poderiam ter links para as técnicas de elicitação
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Rafael, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Os cenários possuem título, objetivo, contexto, atores, recursos, epsódios, retrição e exceção?NãoPode melhorarOs cenários não contém restrições e exceções
                                2Os cenários são descritos de forma clara e concisa, fornecendo informações suficientes para entender o contexto, a ação realizada e o resultado esperado?SimBomA falta de alguns itens na descrição do cenário acabou afetando o entendimento do contexto (restrições e exceções)
                                3A modelagem de cenários cobre adequadamente as principais funcionalidades e interações do sistema?SimÓtimo
                                4Os cenários são priorizadoes com base em sua importância, impacto e frequência de ocorrência?SimÓtimo
                                5O cenário está associado a requisitos ou histórias de usuário específicas?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Rafael, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato precisa de ajustes. +Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 13 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 13 de novembro de 2023.

                                +

                                [3] Cenários do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/cenarios/. Acesso em 13 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.013/11/202313/11/2023Criação do artefatoRafael
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                13/11/20231.0Revisão por inspeçãoShaine
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/cronogramas/index.html b/verificacao/grupo7/cronogramas/index.html new file mode 100644 index 00000000..83b91171 --- /dev/null +++ b/verificacao/grupo7/cronogramas/index.html @@ -0,0 +1,2955 @@ + + + + + + + + + + + + + + + + + + + + + + + Cronogramas - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Cronograma do Projeto"

                                +

                                Introdução

                                +

                                A verificação de artefatos desempenha um papel crucial na avaliação de documentos, projetos ou produtos em diversas áreas, incluindo os Requisitos de Software. Essa técnica visa a análise minuciosa do conteúdo, estrutura e características específicas de um artefato, com o propósito de avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos estabelecidos. +Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Cronograma do Projeto [3] , desenvolvido pelo Grupo 7, com base no plano de ensino e suas respectivas datas.

                                +

                                Em termos práticos, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e desvios em relação aos requisitos. Essa etapa é fundamental para assegurar a qualidade e precisão do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A metodologia adotada para a verificação dos artefatos é composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                +

                                A primeira é fundamentada nos critérios de avaliação presentes no plano de ensino [1], fornecendo um direcionamento preciso para a avaliação do conteúdo esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano, abrangendo questionamentos específicos sobre a construção dos cronogramas [3], planejado e executado.

                                +

                                A segunda abordagem se apoia na técnica formal de inspeção de Fagan, um processo estruturado que visa identificar e corrigir possíveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, código-fonte, especificações, entre outros itens relacionados a projetos de desenvolvimento de software. Essa técnica proporciona uma revisão criteriosa e sistemática, contribuindo para a melhoria da qualidade e precisão dos artefatos [2]. A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                + +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que o artefato apresente tabelas com os cronogramas planejados e executados ao longo do projeto, além de seguir a estrutura padrão básica exigida para todos os artefatos.

                                +

                                Verificação

                                +

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especificações ideais do artefato, indica se o requisito é atendido ou não e avalia a qualidade de acordo com a classificação a seguir:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Atende todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Atende parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não atende os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O artefato possui introdução?SimBomO texto de introdução possui erros ortográficos e gramaticais.
                                2Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?IncompletoPode melhorarO artefato apresenta tabelas sem legenda e sem chamadas no texto, além disso, algumas das tabelas que atendem aos requisitos estão com o número de identificação incorreto.
                                3Possui links para os outros artefatos, caso necessário?NãoÓtimoNão foi necessário.
                                4O artefato possui bibliografia/referências bibliográficas?SimBomA(s) referência(s) não são mencionadas ao longo do artefato.
                                5O artefato possui um histórico de versões?SimÓtimo
                                6O artefato possui autor?SimÓtimo
                                7O artefato possui revisor?IncompletoBomNão possui revisor em todas as versões do histórico.
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Plano de ensino da disciplina [1], 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O cronograma do planejamento apresenta todas as atividades de todas as etapas para cada integrante com as datas de início e fim das entregas dos artefatos, assim como o período da revisão deles?IncompletoBomAlguns dos cronogramas detalhados não incluem um período de revisão.
                                2O cronograma do planejamento apresenta um período de gravação da apresentação de cada etapa?SimÓtimo
                                3O cronograma executado indica quem realizou cada artefato/atividade, juntamente com as datas de início e fim da construção/realização do artefato/atividade?IncompletoBomEm alguns cronogramas, não há indicação da data de início e fim.
                                4O cronograma foi atualizado ao longo do desenvolvimento, levando em conta alterações nas datas e nos responsáveis pelas atividades?SimÓtimo
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Plano de ensino da disciplina [1] e Ana Rocha, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi analisado com atenção aos checklists apresentados, atendendo a maioria dos critérios. No entanto, recomenda-se realizar ajustes de acordo com as observações detalhadas nas tabelas específicas de cada ID abaixo.

                                +

                                Referentes à Tabela 1:

                                +
                                  +
                                • ID1: O artefato possui introdução?
                                • +
                                • ID2: Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?
                                • +
                                • ID4: O artefato possui bibliografia/referências bibliográficas?
                                • +
                                • ID7: O artefato possui revisor?
                                • +
                                +

                                Referentes à Tabela 2:

                                +
                                  +
                                • ID1: O cronograma do planejamento apresenta todas as atividades de todas as etapas para cada integrante com as datas de início e fim das entregas dos artefatos, assim como o período da revisão deles?
                                • +
                                • ID3: O cronograma executado indica quem realizou cada artefato/atividade, juntamente com as datas de início e fim da construção/realização do artefato/atividade?
                                • +
                                +

                                Bibliografia

                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: Aprender 3. Acesso em 08 de novembro de 2023.
                                +[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 23”. Disponível em: Aprender 3. Acesso 08 de novembro de 2023.
                                +[3] GRUPO 7. Documento do Cronograma do Projeto do Grupo 7 da Disciplina de Requisitos de Software. Disponível em: Git Page. Acesso em 08 novembro de 2023.

                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.008/11/202310/11/2023Criação do artefatoAna Rocha
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                11/11/20231.0Revisão por inspeçãoShaíne
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/entrevista/index.html b/verificacao/grupo7/entrevista/index.html new file mode 100644 index 00000000..b166edce --- /dev/null +++ b/verificacao/grupo7/entrevista/index.html @@ -0,0 +1,2943 @@ + + + + + + + + + + + + + + + + + + + + + + + Entrevista - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Entrevista"

                                +

                                Introdução

                                +

                                A análise de artefatos desempenha um papel fundamental na avaliação de documentos, projetos e produtos em diversas áreas, incluindo a Engenharia de Requisitos de Software. A abordagem de verificação de artefatos tem por objetivo realizar uma análise minuciosa do conteúdo, estrutura e atributos específicos de um artefato, com o propósito de avaliar sua qualidade, aderência aos requisitos e congruência com os objetivos previamente definidos.

                                +

                                Nesse contexto, o escopo de nossa pesquisa visa à aplicação da técnica de verificação de artefatos ao artefato de Entrevista, desenvolvido pelo Grupo 7 em seu projeto no contexto do Detran [3]. Ressalta-se que a realização da verificação está estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                +

                                Para melhor compreensão, é relevante salientar que a técnica de verificação, inspirada no processo de Fagan, abarca uma análise sistemática e rigorosa do artefato em busca de possíveis erros, inconsistências, omissões e desvios em relação aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precisão do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em análise [4].

                                +

                                Metodologia

                                +

                                A verificação, segundo o método de inspeção de Fagan, representa uma abordagem formal e estruturada para a revisão de documentos, cujo propósito é a identificação de falhas, erros e problemas nos artefatos, incluindo documentos, código-fonte, especificações e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revisão geral, preparação, execução da inspeção, correções e acompanhamento [2]. Além disso, a avaliação do artefato em questão também se baseará nos critérios de avaliação especificados no plano de ensino. Para dar maior clareza à análise, implementamos um "conteúdo esperado", que compreende um checklist fundamentado nas questões previamente definidas no plano de ensino [1].

                                +

                                A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                +

                                s

                                +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato estejam presentes as padronizações esperadas, metodologia explicada e conteúdo relevante sobre o tema da entrevista.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui/Atende

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +


                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossui/AtendeQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo-
                                2Há autor e revisor no artefato?SimÓtimo-
                                3Existem referências bibliográficas?SimBomO link da referência bibliográfica não é clicável
                                4Possui hiperlinks para outros artefatos caso necessário?NãoÓtimoNão parece necessário.
                                5As tabelas e imagens possuem legenda, fonte e são introduzidas no texto?IncompletoBomApesar das legendas estarem ok, as tabelas e o vídeo não são introduzidos préviamente no texto
                                6As referências bibliográficas estão citadas no texto?NãoPode melhorarNão há nenhuma citação ou referência, no corpo do artefato, que remete ao que está listado na sua própria bibliografia.
                                6Todas informações que o texto trás, citam e são referenciadas com alguma bibliografia?SimÓtimoO texto não trás novas informações que necessitariam de referência bibliográfica.
                                7Existe uma metodologia definida no artefato?SimÓtimoA metodologia está completamente explicitada na seção 2, de Entrevista.
                                8Os dados da entrevista, como data, duração e dados do participante estão explicitados na metodologia?SimÓtimo-
                                9Existe a gravação da entrevista no artefato?SimBomO link para o vídeo funciona, mas é interessante colocar o vídeo em formato embed.
                                10As câmeras dos participantes estão ligadas durante a entrevista?SimÓtimo-
                                +
                                +

                                Tabela 1: Checklist pro artefato de Entrevista. (Fonte: Yago Passos, 2023).

                                +
                                + +

                                Correções e ajustes sugeridos

                                +

                                No geral, o artefato está condizente com o conteudo, mas precisa de pequenos ajustes. O que o Grupo Skoob sugere:

                                +
                                  +
                                • Sempre citar a referência bibliográfica no texto do corpo do artefato.
                                • +
                                • Sempre introduzir tabelas, vídeos e outras estruturas gráficas no texto, antes do conteúdo.
                                • +
                                +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 8 de novembro de 2023.

                                +

                                [3] Entrevista do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_2/entrevista/. Acesso em 8 novembro de 2023.

                                +

                                [4] linhadecódigo, Técnicas de VV&T - Validação, Verificação e Teste. Dipsonível em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 8 de novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.008/11/202310/11/2023Criação do artefatoYago Passos
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                13/11/20231.0Revisão por inspeçãoShaíne
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/especificacao-suplementar/index.html b/verificacao/grupo7/especificacao-suplementar/index.html new file mode 100644 index 00000000..80b94cdc --- /dev/null +++ b/verificacao/grupo7/especificacao-suplementar/index.html @@ -0,0 +1,3031 @@ + + + + + + + + + + + + + + + + + + + + + + + Especificação Suplementar - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Especificação Suplementar"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Especificação Suplementar" desenvolvido pelo Grupo 7 [3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                + +
                                +

                                Figura 1: Método de Fagan, Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato encontre uma especificação suplementar no modelo FURPS+ com requisitos testáveis e rastreáveis.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimÓtimo
                                4O artefato segue o modelo FURPS+?SimÓtimo
                                5Há uma introdução no artefato?SimÓtimo
                                6Existe uma metodologia definida no artefato?SimBomNo artefato poderia ter colocado como foi feito todo o processo de planejamento e objetivos com a especificação suplementar
                                +
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Os requisitos são rastreáveis?SimBomFoi colocado apenas referência ao diagrama de casos de uso, mas o diagrama não engloba todos os requisitos listados na especificação suplementar
                                2O documento especifica o tempo de resposta no Desempenho?SimBomPoderia colocar dados mais precisos, pois citar apenas "rápido" não especifica de fato o desempenho. Dessa forma, seria bom colocar tempo em segundos, etc.
                                3O documento especifica qual plataforma o aplicativo pode ser executado?SimÓtimo
                                4A modelagem de especificação suplementar cobre todas as principais características do sistema?SimÓtimo
                                5Todos os requisitos podem ser testados (RF e RNF)?SimÓtimo
                                +
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Shaine Oliveira, 2023).

                                +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi muito bem construído, mas não cumpriu de forma "Ótimo" três checklists apresentados na tabela. +Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 8 de novembro de 2023.

                                +

                                [3] Análise de documentos do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/especificacao_suplementar/. Acesso em 8 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.007/11/202310/11/2023Criação do artefatoShaíne:heavy_check_mark:
                                1.111/11/202313/11/2023Correções no artefatoShaíne:heavy_check_mark:
                                1.1.112/11/202313/11/2023Corrigindo padronização de legendas e referências bibliográficasYago
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                12/11/20231.0 e 1.1Revisão estáticaYago
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/ferramentas/index.html b/verificacao/grupo7/ferramentas/index.html new file mode 100644 index 00000000..8d31daf2 --- /dev/null +++ b/verificacao/grupo7/ferramentas/index.html @@ -0,0 +1,2965 @@ + + + + + + + + + + + + + + + + + + + + + + + Ferramentas - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Ferramentas"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Ferramentas" desenvolvido pelo Grupo 7.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que o artefato contenha uma lista de todas as ferramentas utilizadas durante todo o projeto.

                                +

                                Verificação

                                +

                                Sendo assim, foram elaboradas as tabelas 1 e 2 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimÓtimo
                                4Possui hiperlinks?SimÓtimo
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Rafael Amancio, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Apresenta um texto fazendo uma introdução do artefato?SimÓtimo
                                2Apresenta imagens para ilustrar as ferramentas?SimÓtimo
                                3As finalidades das ferramentas estão especificadas?SimÓtimo
                                4Apresenta uma breve descrição sobre o que cada ferramenta faz?NãoPode melhorarNa ferramenta Lucidchart, por exemplo, seria interessante esclarecer o que a ferramenta oferece (dizer que é um aplicativo de diagramação), e não apenas falar que ela será utilizada na criação do Rich Picture
                                5Os nomes e logos das ferramentas condizem com o pesquisado sobre elas?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Rafael Amancio, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi bem elaborado e seguiu quase todos os checklists apresentados na tabela. Porém, faltou esclarecer a função de cada ferramenta. +Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                +

                                [3] Documento de ferramentas escolhidos do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_1/ferramentas/. Acesso em 11 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.011/11/202312/11/2023Criação do artefatoRafael Amancio
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                13/11/20231.0Revisão por inspeçãoShaíne
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/historias_usuarios/index.html b/verificacao/grupo7/historias_usuarios/index.html new file mode 100644 index 00000000..84c56762 --- /dev/null +++ b/verificacao/grupo7/historias_usuarios/index.html @@ -0,0 +1,2977 @@ + + + + + + + + + + + + + + + + + + + + + + + Histórias de Usuários - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Historias De Usuarios"

                                +

                                Introdução

                                +

                                A verificação de artefatos desempenha um papel crucial na avaliação de documentos, projetos ou produtos em diversas áreas, incluindo os Requisitos de Software. Essa técnica visa a análise minuciosa do conteúdo, estrutura e características específicas de um artefato, com o propósito de avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos estabelecidos. +Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Historias De Usuarios [3] , desenvolvido pelo Grupo 7.

                                +

                                Em termos práticos, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e desvios em relação aos requisitos. Essa etapa é fundamental para assegurar a qualidade e precisão do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A metodologia adotada para a verificação dos artefatos é composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                +

                                A primeira é fundamentada nos critérios de avaliação presentes no plano de ensino [1] e nos slides da aula 15 [4], fornecendo um direcionamento preciso para a avaliação do conteúdo esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e dos slides, abrangendo questionamentos específicos sobre a construção de Historias De Usuarios [3].

                                +

                                A segunda abordagem se apoia na técnica formal de inspeção de Fagan, um processo estruturado que visa identificar e corrigir possíveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, código-fonte, especificações, entre outros itens relacionados a projetos de desenvolvimento de software. Essa técnica proporciona uma revisão criteriosa e sistemática, contribuindo para a melhoria da qualidade e precisão dos artefatos [2]. A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                + +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                É esperado que o artefato atenda aos critérios de identificação, detalhamento, rastreabilidade, entre outros, além de seguir a estrutura padrão básica exigida para todos os artefatos.

                                +

                                Verificação

                                +

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especificações ideais do artefato, indica se o requisito é atendido ou não e avalia a qualidade de acordo com a classificação a seguir:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Atende todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Atende parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não atende os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O artefato possui introdução?SimÓtimo
                                2Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?NãoÓtimoO artefato não possui tabelas e imagens.
                                3Possui links para os outros artefatos, caso necessário?SimBomAlgumas histórias de usuários estão associadas aos léxicos, mas há casos em que essa relação não é estabelecida, embora seja possível. Seria interessante manter um padrão.
                                4O artefato possui bibliografia/referências bibliográficas?SimBomA referência não inclui um link funcional de acesso.
                                5O artefato possui um histórico de versões?SimÓtimo
                                6O artefato possui autor?SimÓtimo
                                7O artefato possui revisor?SimÓtimo
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Plano de ensino da disciplina [1], 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1Os títulos das histórias de usuário são auto-explicativos?SimÓtimo
                                2O “quem”, “o que” e o “por que” estão definidos nas histórias de usuário?SimÓtimo
                                3A participação do cliente e/ou persona na validação das histórias de usuário?IncompletoPode melhorarO processo de validação com o "usuário representativo", que acredito ser o uso de personas, não está registrado.
                                4As histórias possuem critérios de aceitação?SimÓtimo
                                5Todas as histórias de usuário podem ser testadas?SimÓtimo
                                6As Histórias de Usuário seguem algum modelo ou padrão?SimÓtimo
                                7As histórias possuem identificação, descrição e rastreabilidade?SimBomA história de usuário US13, que aborda a "Recolocação de placa do veículo", está associada ao requisito ADD20, relacionado ao armazenamento de informações do usuário. Recomenda-se a correção dessa associação para o requisito ADD34, que trata da recolocação de placa.
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Plano de ensino da disciplina [1], Slide “Requisitos – Aula 15” [4] e Ana Rocha, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi analisado com atenção aos checklists apresentados, atendendo a maioria dos critérios. No entanto, recomenda-se realizar ajustes de acordo com as observações detalhadas nas tabelas específicas de cada ID abaixo.

                                +

                                Referentes à Tabela 1:

                                +
                                  +
                                • ID3: Possui links para os outros artefatos, caso necessário?
                                • +
                                • ID4: O artefato possui bibliografia/referências bibliográficas?
                                • +
                                +

                                Referentes à Tabela 2:

                                +
                                  +
                                • ID3: A participação do cliente e/ou persona na validação das histórias de usuário?
                                • +
                                • ID7: As histórias possuem identificação, descrição e rastreabilidade?
                                • +
                                +

                                Bibliografia

                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: Aprender 3. Acesso em 11 de novembro de 2023.
                                +[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 23”. Disponível em: Aprender 3. Acesso 11 de novembro de 2023.
                                +[3] GRUPO 7. Documento de Historias De Usuarios do Grupo 7 da Disciplina de Requisitos de Software. Disponível em: Git Page. Acesso em 11 novembro de 2023.
                                +[4] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 15”. Disponível em: Aprender 3. Acesso em 11 novembro de 2023.

                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.011/11/202313/11/2023Criação do artefatoAna Rocha
                                + + +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0-Yago Passos
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/in_or_out/index.html b/verificacao/grupo7/in_or_out/index.html new file mode 100644 index 00000000..546692f9 --- /dev/null +++ b/verificacao/grupo7/in_or_out/index.html @@ -0,0 +1,3002 @@ + + + + + + + + + + + + + + + + + + + + + + + In or Out - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "In or Out"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "In or Out" desenvolvido pelo Grupo 7 [3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato encontre uma especificação suplementar no modelo FURPS+ com requisitos testáveis e rastreáveis.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimBomUma evolução para a versão 2.0 só é válida caso o arquivo tenha sido completamente refeito.
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimÓtimo
                                4As tabelas e imagens possuem legenda e fonte e elas chamadas dentro dos texto?SimÓtimo
                                5Há uma introdução no artefato?SimÓtimo
                                6Existe uma metodologia definida no artefato?SimBomSó existem informações a respeito do entrevistado.
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Jefferson França, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há gravação e os registros da atividade de priorização dos requisitos?IncompletoPode melhorarConsiderando que a priorização foi realizada por meio do WhatsApp, sugiro disponibilizar os áudios correspondentes ao invés de capturas de tela da conversa.
                                2Um cronograma (data e horário) e local para realização da priorização dos requisitos com o do cliente e/ou persona do projeto?NãoExiste uma tabela com as informações do usuário
                                3Há um grupo de stakeholds?Não
                                4O grupo definiou o critério de ser in or out?SimÓtimo
                                5Todos os requisitos foram priorizados?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Jefferson França, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato está de acordo, mas existem melhorias a serem feitas na parte de metodologia, na gravação da entrevista e uma observação feita no histórico de versão. +É recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                +

                                [3] Análise de documentos do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/especificacao_suplementar/. Acesso em 11 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.011/11/202312/11/2023Criação do artefatoJefferson França
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx-----Yago
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/lexico/index.html b/verificacao/grupo7/lexico/index.html new file mode 100644 index 00000000..318d126a --- /dev/null +++ b/verificacao/grupo7/lexico/index.html @@ -0,0 +1,3007 @@ + + + + + + + + + + + + + + + + + + + + + + + Léxico - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "In or Out"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "In or Out" desenvolvido pelo Grupo 7 [3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato encontre uma especificação suplementar no modelo FURPS+ com requisitos testáveis e rastreáveis.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimBomUma evolução para a versão 2.0 só é válida caso o arquivo tenha sido completamente refeito.
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimÓtimo
                                4As tabelas e imagens possuem legenda e fonte e elas chamadas dentro dos texto?SimBomAlgumas tabelas precisam ser chamadas no texto
                                5Há uma introdução no artefato?SimÓtimo
                                6Existe uma metodologia definida no artefato?SimÓtimo
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Jefferson França, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1A descrição dos léxicos é coerente e esclarecedora?SimÓtimo
                                2O vocabulário mínimo foi apropriadamente adotado nas descrições?SimÓtimo
                                3A modelagem apresenta pelo menos uma classificação de verbo, estado e objeto?SimÓtimo
                                4A modelagem de léxicos abrange todos os termos e conceitos relevantes do domínio em questão?SimÓtimo
                                5A modelagem de léxicos cobre adequadamente as principais funcionalidades e interações do sistema?SimÓtimo
                                6A descrição dos léxicos é coerente e esclarecedora?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Jefferson França, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato está de acordo, mas existem melhorias a serem feitas na formatção do artefato. +É recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                +

                                Está tudo de acordo, um ótimo artefato.

                                +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                +

                                [3] Análise de documentos do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/especificacao_suplementar/. Acesso em 11 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.011/11/202312/11/2023Criação do artefatoJefferson França
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx-----Rafael Amancio
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/moscow/index.html b/verificacao/grupo7/moscow/index.html new file mode 100644 index 00000000..5b8cbf96 --- /dev/null +++ b/verificacao/grupo7/moscow/index.html @@ -0,0 +1,3004 @@ + + + + + + + + + + + + + + + + + + + + + + + MoSCOW - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "MoSCOW"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "MoSCOW" desenvolvido pelo Grupo 7 [3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato encontre uma especificação suplementar no modelo FURPS+ com requisitos testáveis e rastreáveis.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimBomUma evolução para a versão 2.0 só é válida caso o arquivo tenha sido completamente refeito.
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimÓtimo
                                4As tabelas e imagens possuem legenda e fonte e elas chamadas dentro dos texto?SimÓtimo
                                5Há uma introdução no artefato?SimÓtimo
                                6Existe uma metodologia definida no artefato?Não
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Jefferson França, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há gravação e os registros da atividade de priorização dos requisitos?Não
                                2Um cronograma (data e horário) e local para realização da priorização dos requisitos com o do cliente e/ou persona do projeto?Não
                                3Há um grupo de stakeholds?Não
                                4Todos os requisitos foram classificados como Must Have (Deve ter), Should Have (Deveria ter), Could Have (Poderia ter) ou Won't Have (Não terá)?SimÓtimo
                                5Todos os requisitos foram priorizados?SimÓtimo
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Jefferson França, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                Existem correções a serem feitas no documento; a priorização foi realizada, mas é necessário fornecer uma explicação sobre como ela foi conduzida. +É recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 11 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 11 de novembro de 2023.

                                +

                                [3] Análise de documentos do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_3/especificacao_suplementar/. Acesso em 11 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.011/11/202312/11/2023Criação do artefatoJefferson França
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx-----Ana Caroline
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/nfr/index.html b/verificacao/grupo7/nfr/index.html new file mode 100644 index 00000000..ecf8dc6b --- /dev/null +++ b/verificacao/grupo7/nfr/index.html @@ -0,0 +1,2960 @@ + + + + + + + + + + + + + + + + + + + + + + + NFR - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "NFR"

                                +

                                Introdução

                                +

                                A análise de artefatos desempenha um papel fundamental na avaliação de documentos, projetos e produtos em diversas áreas, incluindo a Engenharia de Requisitos de Software. A abordagem de verificação de artefatos tem por objetivo realizar uma análise minuciosa do conteúdo, estrutura e atributos específicos de um artefato, com o propósito de avaliar sua qualidade, aderência aos requisitos e congruência com os objetivos previamente definidos.

                                +

                                Nesse contexto, o escopo de nossa pesquisa visa à aplicação da técnica de verificação de artefatos ao artefato do NFR, desenvolvido pelo Grupo 7 em seu projeto no contexto do Detran [3]. Ressalta-se que a realização da verificação está estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                +

                                Para melhor compreensão, é relevante salientar que a técnica de verificação, inspirada no processo de Fagan, abarca uma análise sistemática e rigorosa do artefato em busca de possíveis erros, inconsistências, omissões e desvios em relação aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precisão do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em análise [4].

                                +

                                Metodologia

                                +

                                A verificação, segundo o método de inspeção de Fagan, representa uma abordagem formal e estruturada para a revisão de documentos, cujo propósito é a identificação de falhas, erros e problemas nos artefatos, incluindo documentos, código-fonte, especificações e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revisão geral, preparação, execução da inspeção, correções e acompanhamento [2]. Além disso, a avaliação do artefato em questão também se baseará nos critérios de avaliação especificados no plano de ensino. Para dar maior clareza à análise, implementamos um "conteúdo esperado", que compreende um checklist fundamentado nas questões previamente definidas no plano de ensino [1].

                                +

                                A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                +

                                s

                                +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato estejam presentes as padronizações esperadas, metodologia explicada e conteúdo relevante sobre o tema da entrevista.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui/Atende

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +


                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossui/AtendeQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo-
                                2Há autor e revisor no artefato?IncompletoPode MelhorarNão há revisores.
                                3Existem referências bibliográficas?SimÓtimo-
                                4Possui hiperlinks para outros artefatos caso necessário?NãoPode MelhorarO artefato é dependente dos requisitos elicitados, mas não há ligação com outros artefatos.
                                5As tabelas e imagens possuem legenda, fonte e são introduzidas no texto?IncompletoPode melhorarA maioria das imagens não são introduzidas no texto
                                6As referências bibliográficas estão citadas no texto?NãoPode melhorarNão há nenhuma citação ou referência, no corpo do artefato, que remete ao que está listado na sua própria bibliografia.
                                6Todas informações que o texto trás, citam e são referenciadas com alguma bibliografia?SimÓtimoO texto não trás novas informações que necessitariam de referência bibliográfica.
                                7Existe uma metodologia definida no artefato?SimBomA metodologia poderia abrangir mais como um nfr é feito
                                8Esá descrita a definição do RNF?SimÓtimo-
                                9Existe o cartão de especificação do RNF?NãoPode melhorar-
                                10Os softgoals condizem com o contexto?SimÓtimo-
                                11Softgoals representam metas bem definidas?SimÓtimo-
                                12Os impactos foram corretamente propagados?SimÓtimo-
                                +
                                +

                                Tabela 1: Checklist pro artefato do NFR Framework. (Fonte: Yago Passos, 2023).

                                +
                                + +

                                Correções e ajustes sugeridos

                                +

                                No geral, o artefato está condizente com o conteudo, mas precisa de pequenos ajustes. O que o Grupo Skoob sugere:

                                +
                                  +
                                • Sempre citar a referência bibliográfica no texto do corpo do artefato.
                                • +
                                • Sempre introduzir tabelas, vídeos e outras estruturas gráficas no texto, antes do conteúdo.
                                • +
                                • Ser mais detalhado e específico na metodologia, não resuma essa parte.
                                • +
                                • Sempre buscar possíveis ligações que seu artefato tem com o outro, para manter o projeto conversando (Nesse caso: requisitos elicitados, especificação suplementar...).
                                • +
                                • Apresentar os cartões de especialização.
                                • +
                                +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 12 de novembro de 2023.

                                +

                                [3] NFR Framework do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/entrega_4/NFR/. Acesso em 12 novembro de 2023.

                                +

                                [4] linhadecódigo, Técnicas de VV&T - Validação, Verificação e Teste. Dipsonível em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 8 de novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.012/11/202313/11/2023Criação do artefatoYago Passos
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                13/11/20231.0Revisão por inspeçãoAna Rocha
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/personas/index.html b/verificacao/grupo7/personas/index.html new file mode 100644 index 00000000..2bbfb62a --- /dev/null +++ b/verificacao/grupo7/personas/index.html @@ -0,0 +1,2988 @@ + + + + + + + + + + + + + + + + + + + + + + + Personas - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Personas"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Personas" desenvolvido pelo Grupo 7.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato encontre personas padronizadas contendo as características e descrições.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimÓtimo
                                4Existe uma metodologia definida no artefato?NãoPode melhorarNo artefato poderia ter colocado como foi feito todo o processo de planejamento e critérios para escolha das persona, com o nome dos participantes, horários, etc.
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1As personas possuem características e descrição como : idade, nome, tarefas, etc?SimÓtimo
                                2Existe anti-persona?SimÓtimo
                                3As personas apresentam situações a serem utilizadas?SimÓtimo
                                4As personas apresentam imagens de pessoas fictícias e padronizadas?SimBomAs imagens das personas estão muito grandes, tornando a navegação do artefato desagradável e fazendo com que ocorra uma perda de atenção das características e descrições
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Shaíne Oliveira, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi muito bem construído, mas não cumpriu de forma "Ótimo" dois checklists apresentados na tabela. +Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 8 de novembro de 2023.

                                +

                                [3] Análise de documentos do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_2/personas/. Acesso em 8 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.007/11/202310/11/2023Criação do artefatoShaíne
                                1.111/11/202313/11/2023Correções no artefatoShaíne
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx-----Jefferson
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/questionario/index.html b/verificacao/grupo7/questionario/index.html new file mode 100644 index 00000000..6c4c54a0 --- /dev/null +++ b/verificacao/grupo7/questionario/index.html @@ -0,0 +1,2998 @@ + + + + + + + + + + + + + + + + + + + + + + + Questionário - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Questionário"

                                +

                                Introdução

                                +

                                A verificação de artefatos desempenha um papel crucial na avaliação de documentos, projetos ou produtos em diversas áreas, incluindo os Requisitos de Software. Essa técnica visa a análise minuciosa do conteúdo, estrutura e características específicas de um artefato, com o propósito de avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos estabelecidos. +Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Questionário [3] , desenvolvido pelo Grupo 7.

                                +

                                Em termos práticos, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e desvios em relação aos requisitos. Essa etapa é fundamental para assegurar a qualidade e precisão do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A metodologia adotada para a verificação dos artefatos é composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                +

                                A primeira é fundamentada nos critérios de avaliação presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avaliação do conteúdo esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e da seção "Questionnaires", encontrada na página 127 do livro [4], abrangendo questionamentos específicos sobre a construção do Questionário [3].

                                +

                                A segunda abordagem se apoia na técnica formal de inspeção de Fagan, um processo estruturado que visa identificar e corrigir possíveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, código-fonte, especificações, entre outros itens relacionados a projetos de desenvolvimento de software. Essa técnica proporciona uma revisão criteriosa e sistemática, contribuindo para a melhoria da qualidade e precisão dos artefatos [2]. A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                + +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que o artefato apresente, a metodologia em questão, um registro referente à formulação das perguntas do questionário e os resultados obtidos, além de seguir a estrutura padrão básica exigida para todos os artefatos.

                                +

                                Verificação

                                +

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especificações ideais do artefato, indica se o requisito é atendido ou não e avalia a qualidade de acordo com a classificação a seguir:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Atende todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Atende parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não atende os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O artefato possui introdução?SimBomFalta a referência que comprova que é uma das técnicas mais utilizadas atualmente. De onde foi obtida essa informação?
                                2Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?IncompletoPode melhorarO artefato não apresenta legendas, fontes e introduções no texto referente às imagens do questionário.
                                3Possui links para os outros artefatos, caso necessário?NãoÓtimoNão foi necessário.
                                4O artefato possui bibliografia/referências bibliográficas?SimBomA referência não inclui um link funcional de acesso.
                                5O artefato possui um histórico de versões?SimÓtimo
                                6O artefato possui autor?SimÓtimo
                                7O artefato possui revisor?SimÓtimo
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Plano de ensino da disciplina [1], 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1Um cronograma para realização da elicitação dos requisitos?NãoPode melhorarSeria recomendável incluir um cronograma que abrange o período de elaboração do questionário, a duração em que permaneceu disponível e o cronograma de execução da elicitação em si.
                                2A gravação e os registros da atividade de elicitação dos requisitos?NãoPode melhorarSeria interessante ter uma gravação da elicitação dos requisitos com base nas respostas do questionário.
                                3Os requisitos elicitados estão identificados?SimÓtimo
                                4Os requisitos foram qualificados em funcionais e não funcionais?SimÓtimo
                                5O artefato possui uma explicação desse método de elicitação?SimÓtimo
                                6O questionário faz suas perguntas baseadas no perfil de usuário traçado pelo grupo?NãoPode melhorarO questionário tem como propósito, além da elicitação de requisitos, a definição do perfil do usuário, o que não é recomendável.
                                7As perguntas são claras e concisas?SimÓtimo
                                8As perguntas possuem uma ordem coerente com o objetivo do artefato?SimÓtimo
                                9O questionário possui quantidade de perguntas adequadas, sem excessos que causem perda na qualidade da pesquisa?SimÓtimo
                                10A quantidade de respostas ao questionário foi alta?SimBom
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Plano de ensino da disciplina [1], Software Requirements - Third Edition [4] e Ana Rocha, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi analisado com atenção aos checklists apresentados, atendendo a maioria dos critérios. No entanto, recomenda-se realizar ajustes de acordo com as observações detalhadas nas tabelas específicas de cada ID abaixo.

                                +

                                Referentes à Tabela 1:

                                +
                                  +
                                • ID1: O artefato possui introdução?
                                • +
                                • ID2: Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?
                                • +
                                • ID4: O artefato possui bibliografia/referências bibliográficas?
                                • +
                                +

                                Referentes à Tabela 2:

                                +
                                  +
                                • ID1: Um cronograma para realização da elicitação dos requisitos?
                                • +
                                • ID2: A gravação e os registros da atividade de elicitação dos requisitos?
                                • +
                                • ID6: O questionário faz suas perguntas baseadas no perfil de usuário traçado pelo grupo?
                                • +
                                +

                                Bibliografia

                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: Aprender 3. Acesso em 08 de novembro de 2023.
                                +[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 23”. Disponível em: Aprender 3. Acesso 08 de novembro de 2023.
                                +[3] GRUPO 7. Documento do Questionário do Grupo 7 da Disciplina de Requisitos de Software. Disponível em: Git Page. Acesso em 08 novembro de 2023.
                                +[4] Requirements Elicitation. Software Requirements, Third Edition. Disponível em: Aprender 3. Acesso em 08 de novembro de 2023.

                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.008/11/202310/11/2023Criação do artefatoAna Rocha
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0-Jefferson
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/requisitos_elicitados/index.html b/verificacao/grupo7/requisitos_elicitados/index.html new file mode 100644 index 00000000..13254996 --- /dev/null +++ b/verificacao/grupo7/requisitos_elicitados/index.html @@ -0,0 +1,2954 @@ + + + + + + + + + + + + + + + + + + + + + + + Requisitos Elicitados - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Requisitos Elicitados"

                                +

                                Introdução

                                +

                                A verificação de artefatos desempenha um papel crucial na avaliação de documentos, projetos ou produtos em diversas áreas, incluindo os Requisitos de Software. Essa técnica visa a análise minuciosa do conteúdo, estrutura e características específicas de um artefato, com o propósito de avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos estabelecidos. +Neste contexto, este documento tem como objetivo executar esse procedimento no artefato Requisitos Elicitados [3] , desenvolvido pelo Grupo 7.

                                +

                                Em termos práticos, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e desvios em relação aos requisitos. Essa etapa é fundamental para assegurar a qualidade e precisão do artefato, garantindo que este esteja alinhado com os objetivos do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A metodologia adotada para a verificação dos artefatos é composta por duas abordagens distintas, cada uma contribuindo para assegurar a qualidade e integridade do material analisado.

                                +

                                A primeira é fundamentada nos critérios de avaliação presentes no plano de ensino [1] e Software Requirements, Third Edition [4], fornecendo um direcionamento preciso para a avaliação do conteúdo esperado nos artefatos. Essa etapa se baseia em um checklist elaborado a partir da leitura do plano e do livro, abrangendo questionamentos específicos sobre a construção de Requisitos Elicitados [3].

                                +

                                A segunda abordagem se apoia na técnica formal de inspeção de Fagan, um processo estruturado que visa identificar e corrigir possíveis erros, falhas e problemas nos artefatos analisados, abrangendo documentos, código-fonte, especificações, entre outros itens relacionados a projetos de desenvolvimento de software. Essa técnica proporciona uma revisão criteriosa e sistemática, contribuindo para a melhoria da qualidade e precisão dos artefatos [2]. A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                + +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                É esperado que o artefato inclua a lista de requisitos elicitados com suas devidas identificações e descrições, além de seguir a estrutura padrão básica exigida para todos os artefatos.

                                +

                                Verificação

                                +

                                Com base nisso, foram criadas as Tabela 1 e 2 a seguir, que relaciona as especificações ideais do artefato, indica se o requisito é atendido ou não e avalia a qualidade de acordo com a classificação a seguir:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Atende todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Atende parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não atende os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1O artefato possui introdução?SimÓtimo
                                2Todas as tabelas e imagens do artefato possuem legendas, fontes e são introduzidas no texto?SimÓtimo
                                3Possui links para os outros artefatos, caso necessário?NãoPode melhorarOs artefatos "Questionário", "Entrevista", "Storytelling" e "Análise de documentos" são mencionados, porém não possuem links de acesso para referência.
                                4O artefato possui bibliografia/referências bibliográficas?NãoÓtimoNão foi necessário.
                                5O artefato possui um histórico de versões?SimÓtimo
                                6O artefato possui autor?SimÓtimo
                                7O artefato possui revisor?IncompletoBomNão possui revisor em todas as versões do histórico.
                                +
                                + Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Plano de ensino da disciplina [1], 2023) +
                                + +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDDescrição do CritérioPossuiQualidadeObservação
                                1Todos os requisitos elicitados foram devidamente listados?IncompletoBomOs requisitos ST15 e ST17 do artefato 'Storytelling' não foram localizados na lista de requisitos elicitados. Adicionalmente, foi observado que os requisitos ADD24 e ADD32 se referem à mesma funcionalidade.
                                2Rastreabilidade dos requisitos está presente?NãoPode melhorarA rastreabilidade específica para os requisitos não foi identificada.
                                3Requisitos funcionais e não funcionais estão identificados?SimÓtimo
                                4Existe uma legenda explicando as siglas de identificação, se necessário?SimÓtimo
                                +
                                + Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Plano de ensino da disciplina [1], Software Requirements - Third Edition [4] e Ana Rocha, 2023) +
                                + +

                                Correções e ajustes sugeridos

                                +

                                O artefato foi analisado com atenção aos checklists apresentados, atendendo a maioria dos critérios. No entanto, recomenda-se realizar ajustes de acordo com as observações detalhadas nas tabelas específicas de cada ID abaixo.

                                +

                                Referentes à Tabela 1:

                                +
                                  +
                                • ID3: Possui links para os outros artefatos, caso necessário?
                                • +
                                • ID7: O artefato possui revisor?
                                • +
                                +

                                Referentes à Tabela 2:

                                +
                                  +
                                • ID1: Todos os requisitos elicitados foram devidamente listados?
                                • +
                                • ID2: Rastreabilidade dos requisitos está presente?
                                • +
                                +

                                Bibliografia

                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: Aprender 3. Acesso em 09 de novembro de 2023.
                                +[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 23”. Disponível em: Aprender 3. Acesso 09 de novembro de 2023.
                                +[3] GRUPO 7. Documento de Requisitos Elicitados do Grupo 7 da Disciplina de Requisitos de Software. Disponível em: Git Page. Acesso em 09 novembro de 2023.
                                +[4] Requirements Elicitation. Software Requirements, Third Edition. Disponível em: Aprender 3. Acesso em 09 de novembro de 2023.

                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.009/11/202311/11/2023Criação do artefatoAna Rocha
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0-Rafael Amancio
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/richpicture/index.html b/verificacao/grupo7/richpicture/index.html new file mode 100644 index 00000000..5bb5a285 --- /dev/null +++ b/verificacao/grupo7/richpicture/index.html @@ -0,0 +1,2937 @@ + + + + + + + + + + + + + + + + + + + + + + + Rich Picture - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Rich Picture"

                                +

                                Introdução

                                +

                                A análise de artefatos desempenha um papel fundamental na avaliação de documentos, projetos e produtos em diversas áreas, incluindo a Engenharia de Requisitos de Software. A abordagem de verificação de artefatos tem por objetivo realizar uma análise minuciosa do conteúdo, estrutura e atributos específicos de um artefato, com o propósito de avaliar sua qualidade, aderência aos requisitos e congruência com os objetivos previamente definidos.

                                +

                                Nesse contexto, o escopo de nossa pesquisa visa à aplicação da técnica de verificação de artefatos ao Rich Picture desenvolvido pelo Grupo 7 em seu projeto no contexto do Detran [3]. Ressalta-se que a realização da verificação está estritamente alinhada com as diretrizes e datas estipuladas no plano de ensino [1].

                                +

                                Para melhor compreensão, é relevante salientar que a técnica de verificação, inspirada no processo de Fagan, abarca uma análise sistemática e rigorosa do artefato em busca de possíveis erros, inconsistências, omissões e desvios em relação aos requisitos. Essa etapa desempenha um papel crucial na garantia da qualidade e na precisão do artefato, assegurando sua conformidade com os objetivos estabelecidos no contexto do projeto ou documento em análise [4].

                                +

                                Metodologia

                                +

                                A verificação, segundo o método de inspeção de Fagan, representa uma abordagem formal e estruturada para a revisão de documentos, cujo propósito é a identificação de falhas, erros e problemas nos artefatos, incluindo documentos, código-fonte, especificações e outros elementos correlacionados a projetos de desenvolvimento de software. O processo compreende etapas que envolvem planejamento, revisão geral, preparação, execução da inspeção, correções e acompanhamento [2]. Além disso, a avaliação do artefato em questão também se baseará nos critérios de avaliação especificados no plano de ensino [1]. Para dar maior clareza à análise, implementamos um "conteúdo esperado", que compreende um checklist fundamentado nas questões previamente definidas no plano de ensino [1].

                                +

                                A inspeção de Fagan é ilustrada na Figura 1 apresentada abaixo, demonstrando as etapas envolvidas no processo.

                                +
                                + image +
                                + +
                                + Figura 1: Método de Fagan: Inspeção. (Fonte: Slide “Requisitos – Aula 23” [2], 2023) +
                                + +

                                Conteúdo esperado

                                +

                                Espera-se que no artefato estejam presentes o rich picture que descreve o aplicativo escolhido, bem como sua legenda detalhada..

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 abaixo relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui/Atende

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +


                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossui/AtendeQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo-
                                2Há autor e revisor no artefato?SimÓtimo-
                                3Existem referências bibliográficas?SimÓtimo-
                                4Possui hiperlinks para outros artefatos caso necessário?NãoÓtimoNão parece necessário.
                                5As tabelas e imagens possuem legenda, fonte e são introduzidas no texto?SimOtimo-
                                6As referências bibliográficas estão citadas no texto?SimÓtimo-
                                6Todas informações que o texto trás, citam e são referenciadas com alguma bibliografia?NãoBomA introdução aborda conceitos do Rich Picture, porém não há nenhuma citacão sobre.
                                7Existe uma metodologia definida no artefato?SimBomUm pouco simples
                                9A legenda do rich picture detalha todos elementos usados nele?SimÓtimo-
                                10O Rich Picture condiz com o conteúdo passado em aula?SimÓtimo-
                                +
                                +

                                Tabela 1: Checklist do artefato do Rich Picture. (Fonte: Yago Passos, 2023).

                                +
                                + +

                                Correções e ajustes sugeridos

                                +

                                No geral, o artefato está condizente com o conteudo, mas precisa de pequenos ajustes. O que o Grupo Skoob sugere:

                                +
                                  +
                                • Evitar incluir informações no texto sem citação, a exemplo da introdução do artefato.
                                • +
                                • Transformar a seção de Metodologia em seção da legenda.
                                • +
                                • Explicitar na legenda, quais figuras/componentes do rich picture criado cabem naquela descrição
                                • +
                                +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 8 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 8 de novembro de 2023.

                                +

                                [3] Rich Picture do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_1/Rich_picture/. Acesso em 8 novembro de 2023.

                                +

                                [4] linhadecódigo, Técnicas de VV&T - Validação, Verificação e Teste. Dipsonível em: http://www.linhadecodigo.com.br/artigo/492/tecnicas-de-vvampt-validacao-verificacao-e-teste.aspx/. Acesso em 8 de novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.008/11/202310/11/2023Criação do artefatoYago Passos
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx1.0-Jefferson França
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/grupo7/storytelling/index.html b/verificacao/grupo7/storytelling/index.html new file mode 100644 index 00000000..7340c47e --- /dev/null +++ b/verificacao/grupo7/storytelling/index.html @@ -0,0 +1,2989 @@ + + + + + + + + + + + + + + + + + + + + + + + Strorytelling - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                + +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Verificação do artefato "Storytelling"

                                +

                                Introdução

                                +

                                A técnica de verificação de artefatos é uma etapa crítica no processo de avaliação de documentos, projetos ou produtos em várias áreas, incluindo Requisitos de Software. Essa abordagem visa examinar detalhadamente o conteúdo, a estrutura e as características específicas de um artefato para avaliar sua qualidade, conformidade com requisitos e adequação aos objetivos definidos.

                                +

                                Neste contexto, pretendemos aplicar essa técnica ao artefato "Storytelling" desenvolvido pelo Grupo 7.[3]. A verificação é baseada no plano de ensino e nas datas estabelecidas nele.

                                +

                                Para esclarecer, a técnica de verificação, inspirada no processo de Fagan, implica na análise rigorosa e sistemática do artefato em busca de erros, inconsistências, lacunas e não conformidades com os requisitos. É uma etapa essencial para garantir a qualidade e a precisão do artefato, assegurando que ele atenda aos objetivos estabelecidos no contexto do projeto ou documento em questão.

                                +

                                Metodologia

                                +

                                A verificação por inspeção de Fagan é uma técnica formal e estruturada de revisão de documentos que visa identificar erros, falhas e problemas em artefatos como documentos, código-fonte, especificações e outros itens relacionados a projetos de desenvolvimento de software. O processo envolve etapas que incluem planejamento, visão geral, preparação, inspeção, correção e acompanhamento.[2]. Além disso, para verificar o artefato em questão será baseado também nos critérios de avaliação do artefato, disponível como prévia no plano de ensino. +O processo será composto pelo "conteúdo esperado" onde foi realizado um checklist baseado nas perguntas do plano de ensino.[1].

                                +

                                Inspeção Fagan

                                +

                                Método de Fagan: Inspeção. (Fonte: Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano, 2023)

                                +

                                Conteúdo esperado

                                +

                                É esperado que no artefato encontre-se todos os objetivos e necessidades relacionadas ao Storytelling.

                                +

                                Verificação

                                +

                                Sendo assim, foi elaborada a tabela 1 e a tabela 2 relacionando as especificações ideais do artefato, se ele possui ou não o requisito apresentado nas perguntas e quanto a qualidade, baseada na seguinte classificação:

                                +

                                Possui

                                +
                                  +
                                • Sim
                                • +
                                • Não
                                • +
                                • Incompleto
                                • +
                                +

                                Qualidade

                                +
                                  +
                                • Ótimo (Apresenta todos os requisitos do conteúdo esperado)
                                • +
                                • Bom (Apresenta parcialmente os requisitos do conteúdo esperado)
                                • +
                                • Pode melhorar (Não apresenta os requisitos do conteúdo esperado)
                                • +
                                +

                                A Tabela 1 contém perguntas no que diz respeito à formatação do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1Há histórico de versão padronizado?SimÓtimo
                                2Há autor e revisor no artefato?SimÓtimo
                                3Existem referências bibliográficas?SimÓtimo
                                4Possui hiperlinks para outros artefatos caso necessário?IncompletoBomO link que tem no artefato não é clicável
                                +

                                Tabela 1: Perguntas selecionadas: Formatação do artefato. (Fonte: Rafael, 2023)

                                +

                                A Tabela 2 contém perguntas no que diz respeito ao conteúdo do artefato.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                IDConteúdoPossuiQualidadeObservação
                                1É apresentado a narrativa dos storytelling's?SimÓtimo
                                2Existe uma metodologia definida no artefato?SimÓtimo
                                3Há gravação da elicitação?NãoPode melhorarExiste um tópico no artefato sobre a gravação, mas não tem o vídeo
                                4É apresetando os requisitos elicitados a partir do storytelling?SimÓtimo
                                5O storytellilng foi feito a partir das personas criadas?NãoBomAs personas usadas no storytelling não são as mesmas do artefato personas
                                +

                                Tabela 2: Perguntas selecionadas: Conteúdo do artefato. (Fonte: Rafael, 2023)

                                +

                                Correções e ajustes sugeridos

                                +

                                O artefato precisa de ajustes, pois não seguiu quase todos os checklists apresentados na tabela. +Para isso, é recomendado fazer os ajustes seguindo as observações:

                                +

                                Referentes a tabela 1:

                                + +

                                Referentes a tabela 2:

                                + +

                                Bibliografia

                                +
                                +

                                [1] SALES, André Barros. Plano de ensino da disciplina. Disponível em: https://aprender3.unb.br/pluginfile.php/2692699/mod_resource/content/34/Plano_de_Ensino%20RE%20022023%20Turma%202.pdf. Acesso em 13 de novembro de 2023.

                                +

                                [2] Slides da aula “Requisitos – Aula 23” dos professores Milene Serrano e Maurício Serrano. Disponível em: https://aprender3.unb.br/pluginfile.php/2692856/mod_resource/content/2/Requisitos%20-%20Aula%20023.pdf. Acessado em: 13 de novembro de 2023.

                                +

                                [3] Storytelling do Grupo 7 da Disciplina de Requisitos. Disponível em: https://requisitos-de-software.github.io/2023.2-DETRAN/Entrega_2/storytelling/. Acesso em 13 novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.013/11/202313/11/2023Criação do artefatoRafael
                                +

                                Revisão (V&V)

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                xx/xx/xxxx-----Jefferson França
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file diff --git a/verificacao/revisoes/index.html b/verificacao/revisoes/index.html new file mode 100644 index 00000000..109bff26 --- /dev/null +++ b/verificacao/revisoes/index.html @@ -0,0 +1,2860 @@ + + + + + + + + + + + + + + + + + + + + + + + Revisões - Skoob + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + + + + + + +
                                + + + + + + + +
                                + +
                                + + + + +
                                +
                                + + + +
                                +
                                +
                                + + + + + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                +
                                + + + +
                                +
                                + + + + + + + +

                                Revisões

                                +

                                Introdução

                                +

                                Os processos de verificação e validação são formas disciplinadas de avaliar um produto e artefatos de software e controlar sua qualidade [1]. A revisão, que foi a análise estática escolhida no planejamento do projeto, ajuda a manter os artefatos padronizados e com conteúdo relevante e correspondente com a demanda do professor. Dessa forma, há menos propagação de erros durante o projeto, que consequentemente reduz o retrabalho [2].

                                +

                                Objetivo

                                +

                                O objetivo desse artefato é apresentar as escolhas e definições que a equipe traçou, para padronização dos artefatos e acompanhamento da V&V ao longo do desenvolvimento de todo o projeto.

                                +

                                Técnicas de Revisão adotadas

                                +

                                Em cada artefato desse projeto de requisitos sobre o aplicativo Skoob, pode ser encontrado 3 diferentes métodos de revisão adotados. Eles estão presentes no histórico de versão adotado pela equipe na sexta reunião. A Tabela 1 e 2, demonstram como ficou padronizado o histórico de versionamento após essa reunião.

                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.0dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
                                1.1dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
                                1.2dd/mm/aaaadd/mm/aaaaDescrição do que foi feitoNome do Autor:heavy_check_mark:
                                +
                                +

                                Tabela 1: Nova tabela de Versionamento. (Fonte: Yago Passos, 2023).

                                +
                                + + + + + + + + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                dd/mm/aaaa1.0Nome da TécnicaNome do Revisor
                                dd/mm/aaaa1.1 e 1.2Nome da TécnicaNome do Revisor
                                +
                                +

                                Tabela 2: Tabela das revisões. (Fonte: Yago Passos, 2023).

                                +
                                + +

                                Dito isso, no campo da técnica de revisão, a terceira coluna da tabela 2, pode ser preenchida com 3 valores diferentes, são eles: +- Elaboração por Pares +- Revisão estática +- Revisão por inspeção.

                                +

                                A primeira técnica, elaboração por pares, tem origem na técnica de verificação "programação por pares", apresentada na vídeoaula 05 da Univesp [1]. Consiste na elaboração do artefato em dupla, onde uma pessoa, o autor, escreve o documento markdown acompanhado do revisor, em tempo real. Há necessáriamente interação verbal entre eles, para o desenvolvimento do artefato.

                                +

                                A segunda técnica (revisão estática) consiste na revisão padrão do artefato, procurando defeitos ou inconsistências, é a forma padrão proposta pelo professor André no início do semestre, utilizada por todos os demais grupos da matéria de Requisitos.

                                +

                                A terceira técnica (revisão por inspeção), porém, consiste na execução da quinta entrega, da verificação e validação. Utilizando de uma metodologia criada por Fagan, a equipe analisa os artefatos a partir de uma checklist, criada pelos próprios membros do grupo [2]. As checklists estão descritas em cada artefato de verificação da etapa de verificação.

                                +

                                Conclusão

                                +

                                A adoção de revisões no processo de desenvolvimento do projeto Skoob revela-se essencial para garantir a consistência e qualidade dos artefatos. A padronização do histórico de versionamento, exemplificada nas Tabelas 1 e 2, proporciona uma visão clara do progresso, reduzindo a propagação de erros e minimizando retrabalhos. As técnicas de revisão, como a elaboração por pares, revisão estática e revisão por inspeção, oferecem abordagens distintas, enriquecendo a qualidade do produto final. Este artefato delineia as escolhas da equipe para a verificação e validação, refletindo nosso comprometimento com a excelência e a transparência ao longo do ciclo de desenvolvimento.

                                +

                                Bibliografia

                                +
                                +

                                [1] UNIVESP, Gerência e Qualidade de Software - Aula 05 - Verificação e Validação. Disponível em: https://www.youtube.com/watch?v=1Y-1zz6rZxo. Acesso em: 09 de Novembro de 2023.

                                +

                                [2] UNIVESP, Gerência e Qualidade de Software - Aula 06 - Técnica de revisão. Disponível em: https://www.youtube.com/watch?v=nA1BVDd9GUE. Acesso em: 09 de Novembro de 2023.

                                +
                                +

                                Histórico de Versão

                                + + + + + + + + + + + + + + + + + + + + + +
                                VersãoData de execuçãoData prevista de revisãoDescriçãoAutor(es)Revisado
                                1.012/11/202313/11/2023Elaboração do artefatoYago Passos:heavy_check_mark:
                                +

                                Verificação

                                + + + + + + + + + + + + + + + + + +
                                Data de RevisãoCobertura de VersõesTécnicaRevisor(es)
                                dd/mm/aaaa1.0nome da TécnicaNome do Revisor
                                + + + + + + +
                                +
                                + + +
                                + +
                                + + + +
                                +
                                +
                                +
                                + + + + + + + + + + \ No newline at end of file