SOFTWARE ENGINEERING METHODOLOGY
SOFTWARE ENGINEERING METHODOLOGY COMP 410
Popular in Course
Popular in ComputerScienence
This 15 page Class Notes was uploaded by Cleora Stiedemann on Monday October 19, 2015. The Class Notes belongs to COMP 410 at Rice University taught by Staff in Fall. Since its upload, it has received 25 views. For similar materials see /class/224960/comp-410-rice-university in ComputerScienence at Rice University.
Reviews for SOFTWARE ENGINEERING METHODOLOGY
Report this Material
What is Karma?
Karma is the currency of StudySoup.
You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!
Date Created: 10/19/15
Tasking for next milestone Big milestones 1 Ability to edit music Data structure Drag notes around staff Saving and opening from server 2 Conductor network and local Line up beats not pitches 7 synching and threading Save to MIDI on server 3 Jam session 0fd00mllll How to break this down into smaller more manageable milestones For the View group need to have an idea of how the GUI will be laid out For the model group to be able to load a midi file mess with it and save it back 0 Dr Wong s suggestion 7 Google midi C I already have code to do that that I DID NOT write for the networking group getting the basic clientserver protocols working sending data etc like the chat program 0 some of the interfaces from the chat program need to be changed 0 wants to take a different approach from the Java design patterns we used 0 Chat program has sockets with raw data going through that s about as fast as you can get 0 Map out the different networking subsystems clienttoserver vs client toclient 0 Test the smallest pieces possible as soon as possible 0 Need to think about multicasting even though it involves working with the IT department I Need to be aware of little issues like running at slowest available speed networking amp model group need to have shortterm research tasks so they can come up with milestone for next Friday 0 Will be meeting in the next few days hopefully by Sunday milestone tasks will be set need to have a spec for what we are going to deliver since that s what the customer wants on Monday 0 would give us some idea of what we are researching 0 will be putting this together on SUNDAY 3pm 0 these are the main features of the program 39 play I record I edit I stylus gesture input for composition but not for a live jam session 7 have keyboard sh01tcuts instead 0 things it WILL NOT be doing I outside a fast local network it will be difficult to jam for a nonlocal session we could record tracks and send them to someone else have a server with a list of tracks you can choose from that you can take and jam on top of record a track and automatically notify the other people in the session that it has been updated Collaborative jam Customer Meeting Notes 92707 Thursday September 27 2007 601 PM Attendance Everyone except Matt sick Rae Google Research arrived for second half and David Google Research arrived for second half 0 GUI Mockups 0 Developer Interface See Presentation for mockups I Error Interface I Suggestion Interface I Interactive Search More dynamic solution B Graph Views TextPictureVideo previews in dynamic traversable graphs El Multikey searching I Trust Network Visualization Tool D Traversable graph network D Two types of trust Global Trust aggregation of all trustratings and Local Trustdetermined by user trust can be specifically defined by a user May or may not be degrees of personal trust 9 Customer Comment Not sure that a single level of personal trust is sufficient eg Amateur SemiProfessional Professional Two ideas trust is developed over time and you can gain ranks through Amateur etc OR start off stating whether you are a professional or amateur and this is reinforced over time as you gain trustgood ratings Might be difficult for a new person even with a good background to break in Also human behavior problems may cause difficulties Areas of trustexpertise Someone great at basketball isn39t and expert in mathematics Possible idea Use tagging and rating to determine trust in sectors so people can have different level of trust in different areas Problem with relating tags For next week Proofofconcept and research on this System for identifying fakefalse tags Voting for tags Feedback on tags Two types Checking for incorrect tags and checking for accuracy of tags eg someone say39s this is how to do something but actually is terrible at that particular portion User tags might have large problems for collective tags but user can possibly create their own tags For next week Break down all the crazy quotcan we do thisquot ideas down into a goodbaddifficulty so we can figure out exactly what we can do Lots of detail Log of informationideas broken down Danger of feature overload if we add too many options rating pieces etc 0 Brad39s Demonstration of Interactive System 0 Interactive Graph System I Customer likes but needs a way to represent how importantrelated something is to your search 0 Digg Labs Swarm I Bit too unstable but idea looks cool 0 Visual Thesaurus I We need to watch for patent infringement but is very common so might not be a problem Keeping items instead of removing them might be a good solution I Movement is great customer likes a lot 0 Photosynth Customer39s Recommendation I htt labslivecom hotos nth O O O O 9 New Section 1 Page 1 I Sort of philosophical idea behind our project is demonstrated by this ie find multiple perspectives on something 0 Kevin39s Presentation on Company Sponsorships 000 00 OO 00 000 Companies want to establish networks of people to gain customers Get people talking about the brandproducts Avoid making companies go through our website no official connection However we lose out on the company benefits and they lose the benefit of working with us Use the trust network to establish them in our system as their own special entities Give companies more control over what can appear on their section of the website eg Apple on Facebook Customer likes this Facebookesque idea a lot removing NASCARstyle sponsorship How do we go ahead Aggregate related tags to view related content reviews etc Perhaps use this as a way of creating customer testimonials Special company tags This may create divided approach however We need to research the pro39s and con39s Company branding Research for next week Make sure there is an intuitive and easy way to view these company endorsement networks We need to easily find these revenue streams and identify them Has to be a way to define a value proposition for a company and a way to indentify these and create revenue streams from this Make sure the person being sponsored gets the majority of the revenue but site gets some of the benefit Need mockup ofdisplaying sponsorships and such Need a lockdown of ideas soon Ideas that still need development before a lockdown I Lesson system I Sponsorship System System of having more people talking more is a good system so keep it up Sign up for alerts on customer site Don39t have to wait for customer meetings to ask questions of customer email or SharePoint site are fine New Section 1 Page 2 Here s a summary of what happened at the meeting on Friday All of us though John was unable to make it had a meeting this afternoon complete with pizza We discussed what I needed from everyone I made sure that everyone had an immediate alert for at least the Announcements section on sharepoint I also made it a point to tell everyone I was here to help them with their tasks and communication within the group but I need their full support and cooperation to make it happen We also split the class into 3 groups The first is the model group that will be concentrating on the implementation of rules in SkyNet This consists of Jeff and John The second is the network communications group that will be concentrating on improving the speed and efficiency of the network communications This consists of Jack Sarah and Eric The third is the view group that will be concentrating on the improvement of graphics speed and performance in SkyNet Right now this consists only of Luke but more people will llshif quot into this group from the network communications group once more things get accomplished there Also within each group I designated a llgroup managerll and a llcomment managerquot The group manager39s job is to report back to me any progress made difficulties encountered or anything that the group feels I need to know Between me continually asking the group for updates and the group manager telling me what s going on I feel like this system of communication should be a good method of finding out what I need to know or at least a good start The group managers are model Jeff network Jack view Luke The comment manager s job is to make sure that all the code that is produced or changed in SkyNet is properly and sufficiently commented This will hopefully fix and solve the problem of SkyNet not being adequately commented especially if next year s comp410 class is to make SkyNet 30 The comment managers are model Jeff or John if he volunteers network Eric view Luke Also during the meeting today the different groups split up and worked by themselves to make or get a start on specific milestones for the semester They were instructed to give these milestones to me by Monday All information between the client and the server is sent over an abstract network called INetwork The INetwork implementation uses an abstract INetworkEndPoint object to indicate a location on the network Each INetworkEndPoint possesses the ability to connect to other network end points and send and receive raw data INetworkEnd Point objects only know how to transmit and receive byte arrays they are agnostic to higher level constructs such as behaviors and events Currently we have a DummyNetworkEndPoint implementation of INetworkEndPoint This implementation communicates with other DummyNetworkEndPoint objects by invoking methods on the other object in a remote thread No data is actually sent over a real network We plan to write a socket based INetworkEndPoint in the near future that supports two parties communicating over different computers The INetwork implementation is still agnostic to SkyNet constructs such as behaviors entities events etc but features some higher level constructs than INetworkEndPoint to facilitate communication In particular it allows the transmission of arbitrary objects and encapsulates the process of serializing them into a byte array and restoring them back INetwork supports the following operations connect to a server listen for incoming connections send objects receive objects send request for which a reply is expected reply to a pending request The INetwork implementation handles the bookkeeping of deciding when a reply comes in which request it is associated with and when a request comes in which listener should service it The INetwork implementation also encapsulates threading logic to handle both synchronous and asynchronous versions of all network operations A synchronous operation blocks until it is complete An asynchronous operation returns immediately and calls a registered completion routine when the operation is complete To facilitate dispatching of requests and replies each request contains two parameters a service id and a request id A service id is a well known constant shared between the client and server identifying what type of request is being performed The INetwork implementation allows the server to register a seperate receive listener for each service id prevent the server from having to write one giant listener to handle everything The request id is a Guid that uniquely identifies the request When the server replies the server sends back the guid When the client gets a raw bit stream that indicates a reply it looks up the guid in a table to retrieve the associated request This allows the INetwork implementation for the client to wake up the appropriate thread or call the appropriate completion routine Ifa request is sent that does not expect a reply the request id is GuidEmpty The SkyNet infrastructure currently supports the following service id39s defined in the WellKnownServiceId enum connect login perform operation execute behavior get all known entities get all possible operations signal the client that an entity39s attribute changed register a data feed for a particular entity unregister a data feed for a particular entity The objects that the request and reply should contain are defined as follows All shared types reside in the NetworkCommon or Shared assemblies Class 1 127 1 Progress Over the Break a H7quot 9 qo Multiple Background tracks working i Multiple tracks within a sequence Skeleton error handling i Guidance for which one s which Jam server store session in database User can store personal session Fixed bug in docking Help application Stylus Pressure 2 Brainstorming for Presentation a b Dr Wong i Short description of the class i Professional Presentation iii Ask Clement about Images of Presentations iv 3 Projectors 1 One is halfway up the auditorium V Rehearsal vi Present a piece of music vii Microphone 1 Handheld and not viii Question session 1 Hand held mic iX Katherine Manuel 1 Video taping 2 Refreshments X Invitations 1 All Engineering Dept Heads 2 Deans and Associate Deans 3 President 4 Various Majors Lists Faculty Lists 5 Rice Calendar 6 CS Calendar Xi Room Scheduled Xii Poster 1 Big Poster 2 Easel Musicians i One not in room 1 webcam SkyNet Server Grid Configuration May 12 2005 This document outlines the necessary steps to enable COM in a networked environment Configure the COM security options Start by opening the Component Services administrative tool which can be reached via the Control Panel gt Administrative Tools gt Component Services In the left pane expand Component Services and Computers Open the Properties window on My Computer Set the following security settings MSDTC Security Configuration Check Network DTC access Check Allow Remote clients Check Allow Inbound Check Allow Outbound Select No Authentication Required Uncheck Enable TIP Transactions Uncheck Enable XA Transactions COM Security Access Permissions Edit Limits Anonymous Login needs Remote Access Launch and Activation Permissions Edit Limits Everyone needs Remote Launch and Remote Activation Add ANONYMOUS LOGON and give it Local Launch Remote Launch Local Activation Remote Activation Default Properties Check Enable Distributed COM on this computer if not already Uncheck Enable COM Internet Services on this computer Change the default authentication level to None Change the default impersonation level to Impersonate Now open the Properties on the SkyNet Server Model Component Security Select Perform access checks only at the process level Identity This user info optionally Planning and Decisions Summary of August 27 2008 Goals Distributed framework that does not rely on any central server to track room lists and the like Dynamically loaded classes 0 Uploaded from player to room server when bringing an item with you 0 Downloaded from the room when entering one with preeXisting objects Uni cation of the player client and room server in one application was favored Players are not objects Objects are removed from the room server s list when picked up to avoid two players acting on the same object for example both picking it up and leaving the room which could in effect clone the object with one going to each location Objects Players and Rooms will have their own API The Object API is aware of the Player API The Player API is aware of both the Room and Object API There will be a communications package The Object API mostly settledupon o getName 7 returns the name of the Object o getActions 7 indicates the Actions available to this Object o doIPlayer String 7 receives the Player that the Object is currently in possession of and a String corresponding to a valid Action returned by getActions The Object is free to interpretact as it sees fit with regards to what any action does Player API less finalized than the Object API 0 getName 7 not having this functionality would probably make any game pretty lackluster o pickUpObject 7 o dropObject 7 sends the object s class to the server and indicates that the related Object has been dropped 0 goToIP 7 Not fully settled upon but the basic functionality of goTo will aid in moving a player through an Exit to another Room Room API 0 No concrete decisions have been made regarding a Room API for the time between now and Friday s meeting Work on C Skills Look into C Serializing Look into C Networking libraries Coalesce thoughts we have about the interface tree or communications package and bring them up Feedback on the 1132006 Prototype of Lygeia Sound Designer General Doesn t use any TabletPC technologies to create music as per explicit customer requests in the rst customer meeting Locked into a oneinstrumentoneclickonenote modality Doesn t allow more than one instrument at a time Application is spawning a lot of threads constantly happening even without any music playing At least 1 thread per second is exiting in a localjam session Should allow the user to spawn the server process after loading the client It is not clear immediately from the manual that you need to start the server on the host machine to let other people join 59 V39 GUI Appearance 1 Appearance not professional looking not very aesthetic cluttered There is no need to pop up all the windows at the beginning of the program esp since some of the windows only serve a purpose in a particular mode conductor in ajam session The idea ofthemes is unnecessary and the actual effect is limited The central welcome screen is useful for new users but quotOpenquot and quotCreatequot are not exactly clear what they are for To join a jam session you actually need to hit quotCreatequot Font size problems when screen resolution set to Large fonts Do not use absolute positioning for screen elements Instead try to take advantage of the NET system to allow of screen scaling and different dpis on different machines Title doesn t f1t Labels don t t Replace hyperlinks with buttons Look and feel of Instrument Maker is different than the rest of the system 7 Instrument Maker is better except that big drawing and edit buttons are inconsistent with rest of GUI Too many things appear right at beginningioverwhelming Standard Microsoft lookandfeel says that all buttons should also appear on menu bar Not clear from documentation what features work and what ones do not N bUJ gt19 Instrument Maker Not clear which mode Draw Edit you re in Crashed on erase What does the hand pointer do Still draws shapes when selected Needs a zoom feature Prompt when user closes tab Crashed with NullReferenceException in AddRecXML inside XMLShapeUtilities after drawing 9959 circle and clicking SaveToXML Local Session Elk59 509080 10 XML le not found on start up after using Instrument Maker Doesn t say what it was looking for or where Track list is oating not docked like everything else Semantics of overlapping hot spots not clear 7 should it play all notes not just one Need zoom feature Loader lock error when trying to set SimpleSampleInstrument instrument Note use TODO or HACK to get these comments to show on local task list in VS What is difference between Set instrument Set patch and load new instrument Why is separate set button needed for instruments and patches Set on select What is FancyBox MIDI and SimpleSampleInstrument If select patch is only active for MIDI instruments it should not appear if sample based instrument is selected What does Start Stop Session do Very large delay between clicking mouse and making sound Live Jam Session 959 gt1 9 9 10 ll 12 l3 14 What is difference between login at beginning and login in Add New Session window Mechanics oflogging in andjoining sessions is confusing Why is Patch choices now the same as Instrument choices No indications of who is in a jam session and if they are or are not sending data CPU usage spikes to 100 on lots of notes being generated and stays at 100 for NS sec after the notes stop rundll32exe takes the most CPU after MusicController goes down right away when notes stop Worked ok on wired Concurrency problem UDPConnectioncsline 109 where a collection is being modified while being iterated Problem shows up when performance monitoring profiling is being run Target hosts being added while data is being sent because target host list is not locked Need auto refresh to see sessions when logging in Login to server should just show a login dialog not other stuff Logging into a session should appear only once not twice If instrument panel loses focus can t use keyboard anymore to create sound E g if a drop list is selected the keys don t work anymore It is not obvious that focus has been lost and that it takes a mouse click on the instrument and make a sound to get it back Clicking on an open area of the panel doesn t regain focus Perhaps an auto return of focus in certain cases Add Track should be Load Track For tracks a dual panel with bidirectional arrows to move tracks from available to background would be more intuitive Mystery Here s a track popped up multiple times multiple users into the track list Different numbers popped for different users 15 Sometimes switching session to start page and back caused crash with differing errors Thread initialization problem 16 How do you quit leave a session without stopping it esp for superuser 17 Going back to the start page and logging into the server again doesn t show existing sessions Should logging in again even be allowed 18 When you hit join session on connect to session without a session being named or selected the dialog just disappears 19 Crashes in MessageNetworkModel with NullReferenceException when user tries to connect to session while another player in the session is playing 20 Clients cannot always hear music of each other IMPORTANT PROBLEM Not always reproducible but one user cannot hear what another person is playing while other people can in one session the staff was testing 21 Should let user adjust the current octave that users are playing 22 Should tell the user when the computer loses connection to the server 23 If the pitch bend wheel is moved using a mouse while a note is held on the keyboard the keyup event is caught by the slider and not by the instrument This cause the note to stay on forever 24 Connecting to local host database session doesn t seem to do anything 25 How do we connect to the database on skynet2csriceedu 26 What does continue database session do 27 Documentation Looks nice and professional Table of contents could have more detail eg subsections Doesn t quite match the delivered prototype 7 appears to match a slightly later version Doesn t tell what features not to expect to work Claims that buddy list works which it doesn t No information on what usemames and passwords are needed for the database connection No information on managing users in sessions Need examples of what editor programs can be used and where to get them Need system requirements information No information on how to use the conductor window What are the performance limitations of the program E g how many users max tempo max tracks network loading etc HHPW QM eP Nf quot53 Features that are still missing User s ability to start and end a session Recording what happens in that interval Playing background tracks in that interval Personal mixer for a future week Supersub user distinctions permissions and UI Nonstaff notation Program ow that doesn t end in tears A decent and intuitive GUI mode distinction Error Reporting Saving as Midi XML How can we handle these items Who should be responsible and which teams need to dedicate members to them
Are you sure you want to buy this material for
You're already Subscribed!
Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'